| <!DOCTYPE html> |
| <html><head> |
| <title> scheduler: document.write into IFRAME a script that adds a SCRIPT through DOM</title> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="testlib/testlib.js"></script> |
| |
| </head> |
| <body> |
| |
| <div id="log">FAILED (This TC requires JavaScript enabled)</div> |
| |
| <iframe></iframe> |
| |
| <script type="text/javascript"> |
| var doc = document.getElementsByTagName('iframe')[0].contentDocument; |
| doc.open(); |
| |
| log("calling document.write"); |
| doc.write('<script>top.log("inline script #1");'+ |
| 'var s=document.createElement("script");'+ |
| 's.src="scripts/include-6.js?'+new Date().getTime()+'";'+ |
| 'document.getElementsByTagName("head")[0].appendChild(s);'+ |
| '<\/script>'+ |
| '<div id="foo"></div>'+ |
| '<script>top.log("inline script #2");<\/script>' |
| ); |
| |
| log("calling document.close"); |
| doc.close(); |
| |
| var t = async_test() |
| |
| |
| function test() { |
| if(!window.include6Loaded) { |
| return setTimeout(t.step_func(test),200); |
| } |
| assert_array_equals(eventOrder, ['calling document.write', 'inline script #1', 'inline script #2', 'calling document.close', 'external script (#foo found? YES)']); |
| t.done(); |
| } |
| |
| onload = t.step_func(test) |
| </script> |
| </head> |
| |
| </body> |
| </html> |