diff options
Diffstat (limited to 'testing/web-platform/tests/old-tests/submission/Opera/script_scheduling/testlib')
-rw-r--r-- | testing/web-platform/tests/old-tests/submission/Opera/script_scheduling/testlib/testlib.js | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/testing/web-platform/tests/old-tests/submission/Opera/script_scheduling/testlib/testlib.js b/testing/web-platform/tests/old-tests/submission/Opera/script_scheduling/testlib/testlib.js new file mode 100644 index 000000000..7b556b150 --- /dev/null +++ b/testing/web-platform/tests/old-tests/submission/Opera/script_scheduling/testlib/testlib.js @@ -0,0 +1,43 @@ +/* +* Utility functions for script scheduler test +*/ +(function(){ /* namespace hiding local variables like arOrderOfAllEvents from global scope */ + window.testlib = {}; + window.eventOrder = []; + var arNumberOfScriptsParsedPerEvent=[]; + window.log = function (str){ + eventOrder.push(str); + arNumberOfScriptsParsedPerEvent.push(document.getElementsByTagName('script').length); + } + + window.testlib.addScript = function(source, attributes, parent, firstInParent,funcPrepare) { + try{ + parent = parent||document.body; + var script = document.createElement('script'); + if(funcPrepare) { + funcPrepare(script); + } + if(source)script.appendChild( document.createTextNode(source) ); + for( var name in attributes){ + if(/^on/i.test(name)) { + script[name] = attributes[name]; + } else { + script.setAttribute(name, attributes[name]); + } + } + if (firstInParent && parent.firstChild) { + parent.insertBefore(script, parent.firstChild); + } else { + parent.appendChild(script); + } + } catch(e) { + log('ERROR when adding script to DOM!'); + alert(e); + } + return script; + } + + window.testlib.urlParam = function(relativeURL) { + return location.href.replace( /\d*\.html$/, relativeURL); + } +})();
\ No newline at end of file |