|
1 <!DOCTYPE HTML> |
|
2 <html> |
|
3 <!-- |
|
4 https://bugzilla.mozilla.org/show_bug.cgi?id=102699 |
|
5 --> |
|
6 <head> |
|
7 <meta charset="utf-8"> |
|
8 <title>Test for Bug 102699</title> |
|
9 <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script> |
|
10 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/> |
|
11 </head> |
|
12 <body> |
|
13 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=102699">Mozilla Bug 102699</a> |
|
14 <p id="display"></p> |
|
15 <div id="content" style="display: none"> |
|
16 |
|
17 </div> |
|
18 <pre id="test"> |
|
19 <script type="application/javascript"> |
|
20 |
|
21 /** Test for Bug 102699 **/ |
|
22 |
|
23 SimpleTest.waitForExplicitFinish(); |
|
24 |
|
25 var p = new DOMParser(); |
|
26 |
|
27 var d = p.parseFromString( |
|
28 '<meta charset="windows-1252">' + |
|
29 '\u003cscript>' + |
|
30 'document.documentElement.setAttribute("data-fail", "FAIL");' + |
|
31 '\u003c/script>' + |
|
32 '\u003cscript src="http://mochi.test:8888/tests/parser/htmlparser/tests/mochitest/file_bug102699.sjs">\u003c/script>' + |
|
33 '\u003cscript src="http://mochi.test:8888/tests/parser/htmlparser/tests/mochitest/file_bug102699.sjs" defer>\u003c/script>' + |
|
34 '\u003cscript src="http://mochi.test:8888/tests/parser/htmlparser/tests/mochitest/file_bug102699.sjs" async>\u003c/script>' + |
|
35 '<link type="stylesheet" href="http://mochi.test:8888/tests/parser/htmlparser/tests/mochitest/file_bug102699.sjs">' + |
|
36 '<body onload=\'document.documentElement.setAttribute("data-fail", "FAIL");\'>' + |
|
37 '<img src="http://mochi.test:8888/tests/parser/htmlparser/tests/mochitest/file_bug102699.sjs">' + |
|
38 '<iframe src="http://mochi.test:8888/tests/parser/htmlparser/tests/mochitest/file_bug102699.sjs"></iframe>' + |
|
39 '<video poster="http://mochi.test:8888/tests/parser/htmlparser/tests/mochitest/file_bug102699.sjs" src="http://mochi.test:8888/tests/parser/htmlparser/tests/mochitest/file_bug102699.sjs"></video>' + |
|
40 '<object data="http://mochi.test:8888/tests/parser/htmlparser/tests/mochitest/file_bug102699.sjs"></object>' + |
|
41 '<noscript><div></div></noscript>"', "text/html"); |
|
42 |
|
43 is(d.createElement("div").tagName, "DIV", "The created document should have HTML nature."); |
|
44 |
|
45 is(d.getElementsByTagName("div").length, 1, "There should be one div."); |
|
46 |
|
47 is(d.contentType, "text/html", "contentType should be text/html"); |
|
48 |
|
49 is(d.characterSet, "UTF-8", "Expected the <meta> to be ignored."); |
|
50 |
|
51 is(d.compatMode, "BackCompat", "Should be in the quirks mode."); |
|
52 |
|
53 var scripts = d.getElementsByTagName("script"); |
|
54 is(scripts.length, 4, "Unexpected number of scripts."); |
|
55 while (scripts.length) { |
|
56 // These should not run when moved to another doc |
|
57 document.body.appendChild(scripts[0]); |
|
58 } |
|
59 var s = document.createElement("script"); |
|
60 s.src = "file_bug102699.sjs?report=1"; |
|
61 document.body.appendChild(s); |
|
62 |
|
63 function continueAfterReport() { |
|
64 ok(!d.documentElement.hasAttribute("data-fail"), "Should not have a data-fail attribute."); |
|
65 |
|
66 d = p.parseFromString("<!DOCTYPE html>", "text/html"); |
|
67 is(d.compatMode, "CSS1Compat", "Should be in the standards mode."); |
|
68 |
|
69 SimpleTest.finish(); |
|
70 } |
|
71 |
|
72 </script> |
|
73 </pre> |
|
74 </body> |
|
75 </html> |