Module: wine Branch: master Commit: bfd25b4f50ade3ce56eabdfc3bc6617f7dc2bc52 URL: http://source.winehq.org/git/wine.git/?a=commit;h=bfd25b4f50ade3ce56eabdfc3b...
Author: Jacek Caban jacek@codeweavers.com Date: Tue Oct 16 17:10:11 2012 +0200
mshtml: Added IHTMLScriptElement::put_src tests.
---
dlls/mshtml/tests/exectest.html | 78 +++++++++++++++++++++++++++++++++----- dlls/mshtml/tests/externscr.js | 1 + dlls/mshtml/tests/rsrc.rc | 3 + 3 files changed, 71 insertions(+), 11 deletions(-)
diff --git a/dlls/mshtml/tests/exectest.html b/dlls/mshtml/tests/exectest.html index ad94f42..e1e73f6 100644 --- a/dlls/mshtml/tests/exectest.html +++ b/dlls/mshtml/tests/exectest.html @@ -4,26 +4,82 @@ Script execution test <div id="b1"></div> <div id="b2"></div> <div id="b3"></div> +<script id="emptyscript"></script> <script> function ok(b, msg) { return external.ok(b, msg); }
var executed = false; -var len = document.getElementsByTagName('div').length; -ok(len === 3, "init length = " + len); +var extern_cnt = 0;
-document.write("<script>" - + "var len = document.getElementsByTagName('div').length;" - + "ok(len === 3, 'unexpected length ' + len);" - + "executed = true;" - + "<" + "/script>"); +function testWriteScript() { + var len = document.getElementsByTagName('div').length; + ok(len === 3, "init length = " + len);
-len = document.getElementsByTagName('script').length; -ok(len === 2, "script col length = " + len); -ok(executed, "written script not executed"); + document.write("<script>" + + "var len = document.getElementsByTagName('div').length;" + + "ok(len === 3, 'unexpected length ' + len);" + + "executed = true;" + + "<" + "/script>");
-external.reportSuccess(); + len = document.getElementsByTagName('script').length; + ok(len === 3, "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"); +} + +try { + testWriteScript(); + testPutSrc(); +}catch(e) { + ok(false, "Got an exception"); +} + +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"); +} + +document.body.onload = function() { + ok(extern_cnt === 1, "extern_cnt = " + extern_cnt); + try { + testPutSrc2(); + }catch(e) { + ok(false, "got an exception"); + } + + external.reportSuccess(); +} +</script> +<script> + ok(extern_cnt === 1, "extern_cnt = " + extern_cnt); </script> <div id="a1"></div> <div id="a2"></div> diff --git a/dlls/mshtml/tests/externscr.js b/dlls/mshtml/tests/externscr.js new file mode 100644 index 0000000..5861363 --- /dev/null +++ b/dlls/mshtml/tests/externscr.js @@ -0,0 +1 @@ +extern_cnt++; diff --git a/dlls/mshtml/tests/rsrc.rc b/dlls/mshtml/tests/rsrc.rc index 2b91edf..49aecdf 100644 --- a/dlls/mshtml/tests/rsrc.rc +++ b/dlls/mshtml/tests/rsrc.rc @@ -28,5 +28,8 @@ vbtest.html HTML "vbtest.html" /* @makedep: events.html */ events.html HTML "events.html"
+/* @makedep: externscr.js */ +externscr.js HTML "externscr.js" + /* @makedep: test_tlb.tlb */ 1 TYPELIB test_tlb.tlb