|
1 <!DOCTYPE HTML> |
|
2 <html> |
|
3 <head> |
|
4 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> |
|
5 <title>Mochitest for DOCTYPE parsing</title> |
|
6 |
|
7 <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script> |
|
8 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" /> |
|
9 </head> |
|
10 <body> |
|
11 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=363883">Mozilla Bug 363883</a> |
|
12 |
|
13 <p id="display"></p> |
|
14 <div id="content" style="display: none"> |
|
15 |
|
16 </div> |
|
17 |
|
18 <pre id="test"> |
|
19 <script class="testbody" type="text/javascript"> |
|
20 |
|
21 var doctypes = [ |
|
22 /* from bug 363883 */ |
|
23 'BackCompat' , '<!DOCTYPE>', |
|
24 'BackCompat' , '<!DOCTYPEz>', |
|
25 'BackCompat' , '<! DOCTYPE>', |
|
26 'BackCompat' , '<!zDOCTYPE>', |
|
27 'CSS1Compat' , '<!DOCTYPEHTML>', |
|
28 'BackCompat' , '<!DOCTYPEz HTML>', |
|
29 'CSS1Compat' , '<!DOCTYPE HTML>', |
|
30 'BackCompat' , '<!zDOCTYPE HTML>', |
|
31 'BackCompat' , '<!DOCTYPE HTMLz>', |
|
32 'BackCompat' , '<!DOCTYPE zHTML>', |
|
33 'BackCompat' , '<!DOCTYPE XHTML>', |
|
34 'BackCompat' , '<!DOCTYPE zzHTML>', |
|
35 'BackCompat' , '<!DOCTYPEzHTML>', |
|
36 'BackCompat' , '<!DOCTYPEzzHTML>', |
|
37 'BackCompat' , '<!DOCTYPE "bla">', |
|
38 'BackCompat' , '<!DOCTYPE HTML "bla">', |
|
39 'BackCompat' , '<!DOCTYPE HTML "html">', |
|
40 'BackCompat' , '<!DOCTYPE PUBLIC>', |
|
41 'BackCompat' , '<!DOCTYPE PUBLIC "bla">', |
|
42 'BackCompat' , '<!DOCTYPE PUBLIC "html">', |
|
43 'CSS1Compat' , '<!DOCTYPE HTML PUBLIC "bla">', |
|
44 'BackCompat' , '<!DOCTYPE HTML PUBLIC "html">', |
|
45 'BackCompat' , '<!DOCTYPEz HTML PUBLIC "html">', |
|
46 'BackCompat' , '<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.2//en">', |
|
47 'BackCompat' , '<!DOCTYPEz HTML PUBLIC "-//IETF//DTD HTML 3.2//en">', |
|
48 'BackCompat' , '<!DOCTYPE HTMLz PUBLIC "DTD HTML 3.2">', |
|
49 'BackCompat' , '<!DOCTYPE "DTD HTML 3.2">', |
|
50 /* end from bug 363883 */ |
|
51 // from bug 502600 |
|
52 'BackCompat' , '<!doctype HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">', |
|
53 ]; |
|
54 |
|
55 function test(mode,i){ |
|
56 is(mode,doctypes[i],doctypes[i+1]); |
|
57 if (i == doctypes.length - 2) { |
|
58 SimpleTest.finish(); |
|
59 } |
|
60 } |
|
61 |
|
62 //// |
|
63 // Insert a hidden iframe into the document, with the src |
|
64 // containing the test doctype. The iframe's onload |
|
65 // function is set to call the test's verification step. |
|
66 // |
|
67 function insert_iframe(doctype,expected) { |
|
68 var elm = document.createElement('iframe'); |
|
69 elm.setAttribute('src', 'data:text/html,' + doctype + |
|
70 '<html><body onload="parent.test(document.compatMode,'+i+')"></body>'); |
|
71 elm.setAttribute('style', 'display:none'); |
|
72 document.getElementsByTagName('body')[0].appendChild(elm); |
|
73 } |
|
74 |
|
75 //// |
|
76 // Iterate over the tests |
|
77 // |
|
78 function doTest() { |
|
79 for (i=0; i < doctypes.length; i+=2) { |
|
80 insert_iframe(doctypes[i+1],doctypes[i]); |
|
81 } |
|
82 } |
|
83 |
|
84 //// |
|
85 // Run the compatbility mode tests. |
|
86 // |
|
87 SimpleTest.waitForExplicitFinish(); |
|
88 doTest(); |
|
89 |
|
90 </script> |
|
91 </pre> |
|
92 </body> |
|
93 </html> |