|
1 <!DOCTYPE HTML> |
|
2 <html> |
|
3 <!-- |
|
4 https://bugzilla.mozilla.org/show_bug.cgi?id=529328 |
|
5 --> |
|
6 <head> |
|
7 <title>Test for Bug 529328</title> |
|
8 <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script> |
|
9 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/> |
|
10 </head> |
|
11 <body> |
|
12 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=529328">Mozilla Bug 529328</a> |
|
13 <p id="display"></p> |
|
14 <div id="content" style="display: none"> |
|
15 </div> |
|
16 <pre id="test"> |
|
17 <script type="application/javascript"> |
|
18 /** Test for Bug 529328 **/ |
|
19 function testDOMTokenList() { |
|
20 is(document.body.classList[-1], undefined, "Wrong value for out of bounds access (DOMTokenList)"); |
|
21 is(document.body.classList[0], undefined, "Wrong value for out of bounds access (DOMTokenList)"); |
|
22 is(document.body.classList[1], undefined, "Wrong value for out of bounds access (DOMTokenList)"); |
|
23 is(document.body.classList[2], undefined, "Wrong value for out of bounds access (DOMTokenList)"); |
|
24 is(document.body.classList.item(-1), null, "Wrong value for out of bounds access (DOMTokenList)"); |
|
25 is(document.body.classList.item(0), null, "Wrong value for out of bounds access (DOMTokenList)"); |
|
26 is(document.body.classList.item(1), null, "Wrong value for out of bounds access (DOMTokenList)"); |
|
27 is(document.body.classList.item(2), null, "Wrong value for out of bounds access (DOMTokenList)"); |
|
28 |
|
29 document.body.className = "a b"; |
|
30 is(document.body.classList[-1], undefined, "Wrong value for out of bounds access (DOMTokenList)"); |
|
31 is(document.body.classList[0], "a", "Wrong value for in bounds access (DOMTokenList)"); |
|
32 is(document.body.classList[1], "b", "Wrong value for in bounds access (DOMTokenList)"); |
|
33 is(document.body.classList[2], undefined, "Wrong value for out of bounds access (DOMTokenList)"); |
|
34 is(document.body.classList.item(-1), null, "Wrong value for out of bounds access (DOMTokenList)"); |
|
35 is(document.body.classList.item(0), "a", "Wrong value for in bounds access (DOMTokenList)"); |
|
36 is(document.body.classList.item(1), "b", "Wrong value for in bounds access (DOMTokenList)"); |
|
37 is(document.body.classList.item(2), null, "Wrong value for out of bounds access (DOMTokenList)"); |
|
38 } |
|
39 |
|
40 function testDOMStringList() { |
|
41 is(document.styleSheetSets[-1], undefined, "Wrong value for out of bounds access (DOMStringList)"); |
|
42 is(document.styleSheetSets[0], undefined, "Wrong value for out of bounds access (DOMStringList)"); |
|
43 is(document.styleSheetSets[1], undefined, "Wrong value for out of bounds access (DOMStringList)"); |
|
44 is(document.styleSheetSets[2], undefined, "Wrong value for out of bounds access (DOMStringList)"); |
|
45 is(document.styleSheetSets.item(-1), null, "Wrong value for out of bounds access (DOMStringList)"); |
|
46 is(document.styleSheetSets.item(0), null, "Wrong value for out of bounds access (DOMStringList)"); |
|
47 is(document.styleSheetSets.item(1), null, "Wrong value for out of bounds access (DOMStringList)"); |
|
48 is(document.styleSheetSets.item(2), null, "Wrong value for out of bounds access (DOMStringList)"); |
|
49 |
|
50 var s = document.createElement("style"); |
|
51 s.title = "a"; |
|
52 document.head.appendChild(s); |
|
53 s = document.createElement("style"); |
|
54 s.title = "b"; |
|
55 document.head.appendChild(s); |
|
56 |
|
57 is(document.styleSheetSets[-1], undefined, "Wrong value for out of bounds access (DOMStringList)"); |
|
58 is(document.styleSheetSets[0], "a", "Wrong value for in bounds access (DOMStringList)"); |
|
59 is(document.styleSheetSets[1], "b", "Wrong value for in bounds access (DOMStringList)"); |
|
60 is(document.styleSheetSets[2], undefined, "Wrong value for out of bounds access (DOMStringList)"); |
|
61 is(document.styleSheetSets.item(-1), null, "Wrong value for out of bounds access (DOMStringList)"); |
|
62 is(document.styleSheetSets.item(0), "a", "Wrong value for in bounds access (DOMStringList)"); |
|
63 is(document.styleSheetSets.item(1), "b", "Wrong value for in bounds access (DOMStringList)"); |
|
64 is(document.styleSheetSets.item(2), null, "Wrong value for out of bounds access (DOMStringList)"); |
|
65 } |
|
66 |
|
67 function testMediaList() { |
|
68 var s = document.createElement("style"); |
|
69 document.head.appendChild(s); |
|
70 is(s.sheet.media[-1], undefined, "Wrong value for out of bounds access (MediaList)"); |
|
71 is(s.sheet.media[0], undefined, "Wrong value for out of bounds access (MediaList)"); |
|
72 is(s.sheet.media[1], undefined, "Wrong value for out of bounds access (MediaList)"); |
|
73 is(s.sheet.media[2], undefined, "Wrong value for out of bounds access (MediaList) (MediaList)"); |
|
74 is(s.sheet.media.item(-1), null, "Wrong value for out of bounds access (MediaList)"); |
|
75 is(s.sheet.media.item(0), null, "Wrong value for out of bounds access (MediaList)"); |
|
76 is(s.sheet.media.item(1), null, "Wrong value for out of bounds access (MediaList)"); |
|
77 is(s.sheet.media.item(2), null, "Wrong value for out of bounds access (MediaList) (MediaList)"); |
|
78 |
|
79 s.setAttribute("media", "a, b"); |
|
80 |
|
81 is(s.sheet.media[-1], undefined, "Wrong value for out of bounds access (MediaList)"); |
|
82 is(s.sheet.media[0], "a", "Wrong value for in bounds access (MediaList)"); |
|
83 is(s.sheet.media[1], "b", "Wrong value for in bounds access (MediaList)"); |
|
84 is(s.sheet.media[2], undefined, "Wrong value for out of bounds access (MediaList) (MediaList)"); |
|
85 is(s.sheet.media.item(-1), null, "Wrong value for out of bounds access (MediaList)"); |
|
86 is(s.sheet.media.item(0), "a", "Wrong value for in bounds access (MediaList)"); |
|
87 is(s.sheet.media.item(1), "b", "Wrong value for in bounds access (MediaList)"); |
|
88 is(s.sheet.media.item(2), null, "Wrong value for out of bounds access (MediaList) (MediaList)"); |
|
89 } |
|
90 |
|
91 function testCSSStyleDeclaration() { |
|
92 var s = document.createElement("span"); |
|
93 |
|
94 is(s.style[-1], undefined, "Wrong value for out of bounds access (CSSStyleDeclaration)"); |
|
95 is(s.style[0], undefined, "Wrong value for out of bounds access (CSSStyleDeclaration)"); |
|
96 is(s.style[1], undefined, "Wrong value for out of bounds access (CSSStyleDeclaration)"); |
|
97 is(s.style[2], undefined, "Wrong value for out of bounds access (CSSStyleDeclaration)"); |
|
98 is(s.style.item(-1), "", "Wrong value for out of bounds access (CSSStyleDeclaration)"); |
|
99 is(s.style.item(0), "", "Wrong value for out of bounds access (CSSStyleDeclaration)"); |
|
100 is(s.style.item(1), "", "Wrong value for out of bounds access (CSSStyleDeclaration)"); |
|
101 is(s.style.item(2), "", "Wrong value for out of bounds access (CSSStyleDeclaration)"); |
|
102 |
|
103 s.setAttribute("style", "color: blue; z-index: 42;"); |
|
104 |
|
105 is(s.style[-1], undefined, "Wrong value for out of bounds access (CSSStyleDeclaration)"); |
|
106 is(s.style[0], "color", "Wrong value for in bounds access (CSSStyleDeclaration)"); |
|
107 is(s.style[1], "z-index", "Wrong value for in bounds access (CSSStyleDeclaration)"); |
|
108 is(s.style[2], undefined, "Wrong value for out of bounds access (CSSStyleDeclaration)"); |
|
109 is(s.style.item(-1), "", "Wrong value for out of bounds access (CSSStyleDeclaration)"); |
|
110 is(s.style.item(0), "color", "Wrong value for in bounds access (CSSStyleDeclaration)"); |
|
111 is(s.style.item(1), "z-index", "Wrong value for in bounds access (CSSStyleDeclaration)"); |
|
112 is(s.style.item(2), "", "Wrong value for out of bounds access (CSSStyleDeclaration)"); |
|
113 } |
|
114 |
|
115 testDOMTokenList(); |
|
116 testDOMStringList(); |
|
117 testMediaList(); |
|
118 testCSSStyleDeclaration(); |
|
119 </script> |
|
120 </pre> |
|
121 </body> |
|
122 </html> |