OLD | NEW |
| (Empty) |
1 <body> | |
2 <pre id="log"></pre> | |
3 <script> | |
4 function log(msg) { | |
5 document.getElementById("log").textContent += msg + "\n"; | |
6 } | |
7 | |
8 function getText(iframe) { | |
9 return iframe.contentDocument.documentElement.textContent; | |
10 } | |
11 | |
12 var testIndex = 0; | |
13 | |
14 function runTest(name, testFunction) { | |
15 var iframe = document.createElement('iframe'); | |
16 document.body.appendChild(iframe); | |
17 | |
18 var expectedText = "foo " + testIndex; | |
19 iframe.onerror = function() { | |
20 log(name + ' error ' + getText(iframe)); | |
21 } | |
22 testFunction(iframe, expectedText); | |
23 var resultText = getText(iframe); | |
24 if (resultText == expectedText) { | |
25 log(' sync : ' + name); | |
26 iframe.parentNode.removeChild(iframe); | |
27 nextTest(); | |
28 } else { | |
29 iframe.onload = function() { | |
30 log('ASYNC : ' + name); | |
31 iframe.parentNode.removeChild(iframe); | |
32 nextTest(); | |
33 } | |
34 } | |
35 } | |
36 | |
37 var tests = [ | |
38 { name: 'src = javascript:"content"', testFunction: function(iframe, expecte
dText) { iframe.src = 'javascript: "' + expectedText + '"'} }, | |
39 { name: 'src = data:text/html,content', testFunction: function(iframe, expec
tedText) { iframe.src = 'data:text/html,"' + expectedText + '"'} }, | |
40 { name: 'srcdoc = "content"', testFunction: function(iframe, expectedText) {
iframe.src = 'data:text/html,"' + expectedText + '"'} }, | |
41 ]; | |
42 | |
43 if (window.testRunner) { | |
44 testRunner.dumpAsText(); | |
45 testRunner.waitUntilDone(); | |
46 } | |
47 | |
48 function nextTest() { | |
49 if (testIndex >= tests.length) { | |
50 log("done"); | |
51 if (window.testRunner) | |
52 testRunner.notifyDone(); | |
53 return; | |
54 } | |
55 var test = tests[testIndex++]; | |
56 runTest(test.name, test.testFunction); | |
57 } | |
58 nextTest(); | |
59 </script> | |
OLD | NEW |