Something went wrong. Try again.
Reactos
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140<html><body>Script execution test<div id="b1"></div><div id="b2"></div><div id="b3"></div><script id="emptyscript"></script><script id="put_text_script">2+2</script><script>function ok(b, msg) { return external.ok(b, msg);}
var executed = false;var extern_cnt = 0;var exec_cnt;
function testWriteScript() { var len = document.getElementsByTagName('div').length; ok(len === 3, "init length = " + len);
document.write("<script>" + "var len = document.getElementsByTagName('div').length;" + "ok(len === 3, 'unexpected length ' + len);" + "executed = true;" + "<" + "/script>");
len = document.getElementsByTagName('script').length; ok(len === 4, "script col length = " + len); ok(executed, "written script not executed");}
function testPutSrc() { var elem = document.getElementById("emptyscript");
ok(extern_cnt === 0, "extern_cnt = " + extern_cnt + " expected 0"); elem.src = "externscr.js"; ok(extern_cnt === 0, "extern_cnt = " + extern_cnt + " expected 0");}
function testPutText() { var elem = document.getElementById("put_text_script");
exec_cnt = 0; elem.text = "exec_cnt++;"; ok(exec_cnt === 1, "put_text_script exec_cnt " + exec_cnt);
exec_cnt = 0; elem.text = "exec_cnt++;"; ok(exec_cnt === 1, "put_text_script exec_cnt " + exec_cnt);}
try { testWriteScript(); testPutSrc(); testPutText();}catch(e) { ok(false, "Got an exception " + e.message);}
function testPutSrc2() { var elem, elem2;
elem = document.createElement("script"); elem.src = "externscr.js"; ok(extern_cnt === 1, "extern_cnt = " + extern_cnt + " expected 1"); document.body.appendChild(elem); ok(extern_cnt === 2, "extern_cnt = " + extern_cnt + " expected 2");
elem = document.createElement("script"); document.body.appendChild(elem); ok(extern_cnt === 2, "extern_cnt = " + extern_cnt + " expected 2"); elem.src = "externscr.js"; ok(extern_cnt === 3, "extern_cnt = " + extern_cnt + " expected 3");
elem2 = document.createElement("div"); elem = document.createElement("script"); elem.src = "externscr.js"; ok(extern_cnt === 3, "extern_cnt = " + extern_cnt + " expected 3"); elem2.appendChild(elem); document.body.appendChild(elem2); ok(extern_cnt === 4, "extern_cnt = " + extern_cnt + " expected 4");}
function testPutText2() { var elem;
elem = document.createElement("script"); exec_cnt = 0; elem.text = "exec_cnt++;"; ok(exec_cnt === 0, "script exec_cnt " + exec_cnt);
document.body.appendChild(elem); ok(exec_cnt === 1, "script exec_cnt " + exec_cnt); exec_cnt = 0; elem.text = "exec_cnt++;"; ok(exec_cnt === 1, "script exec_cnt " + exec_cnt);
elem.src = "externscr.js"; ok(extern_cnt === 5, "extern_cnt = " + extern_cnt + " expected 5");
exec_cnt = 0; ok(extern_cnt === 5, "> extern_cnt = " + extern_cnt + " expected 5"); elem.text = "exec_cnt++;"; /* forces evaluation, but src will be executed */ ok(exec_cnt === 0, "script exec_cnt " + exec_cnt); ok(extern_cnt === 6, "< extern_cnt = " + extern_cnt + " expected 6");
elem = document.createElement("script"); exec_cnt = 0; elem.text = "exec_cnt++;"; ok(exec_cnt === 0, "script exec_cnt " + exec_cnt); elem.src = "externscr.js"; ok(extern_cnt === 6, "extern_cnt = " + extern_cnt + " expected 6");
document.body.appendChild(elem); ok(exec_cnt === 0, "script exec_cnt " + exec_cnt); ok(extern_cnt === 7, "extern_cnt = " + extern_cnt + " expected 7");}
document.body.onload = function() { ok(extern_cnt === 1, "extern_cnt = " + extern_cnt); try { testPutSrc2(); testPutText2(); }catch(e) { ok(false, "got an exception " + e.message); }
external.reportSuccess();}</script><script> ok(extern_cnt === 1, "extern_cnt = " + extern_cnt);</script><div id="a1"></div><div id="a2"></div><div id="b3"></div></body></html>