OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <html> | 2 <html> |
3 <head> | 3 <head> |
4 <script src="../../../resources/js-test.js"></script> | 4 <script src="../../../resources/js-test.js"></script> |
5 </head> | 5 </head> |
6 <body> | 6 <body> |
7 <script> | 7 <script> |
8 // This test mostly comes from fast/dom/HTMLElement/script-tests/class-list.js | 8 // This test mostly comes from fast/dom/HTMLElement/script-tests/class-list.js |
9 description('Tests the htmlFor attribute and its properties.'); | 9 description('Tests the htmlFor attribute and its properties.'); |
10 | 10 |
(...skipping 21 matching lines...) Expand all Loading... |
32 // http://simon.html5.org/test/html/dom/reflecting/DOMTokenList/getting/001.htm | 32 // http://simon.html5.org/test/html/dom/reflecting/DOMTokenList/getting/001.htm |
33 createElement(''); | 33 createElement(''); |
34 shouldEvaluateTo('element.htmlFor.length', 0); | 34 shouldEvaluateTo('element.htmlFor.length', 0); |
35 | 35 |
36 // http://simon.html5.org/test/html/dom/reflecting/DOMTokenList/getting/002.htm | 36 // http://simon.html5.org/test/html/dom/reflecting/DOMTokenList/getting/002.htm |
37 createElement('x'); | 37 createElement('x'); |
38 shouldEvaluateTo('element.htmlFor.length', 1); | 38 shouldEvaluateTo('element.htmlFor.length', 1); |
39 | 39 |
40 // http://simon.html5.org/test/html/dom/reflecting/DOMTokenList/getting/003.htm | 40 // http://simon.html5.org/test/html/dom/reflecting/DOMTokenList/getting/003.htm |
41 createElement('x x'); | 41 createElement('x x'); |
42 shouldEvaluateTo('element.htmlFor.length', 2); | 42 shouldEvaluateTo('element.htmlFor.length', 1); |
43 | 43 |
44 // http://simon.html5.org/test/html/dom/reflecting/DOMTokenList/getting/004.htm | 44 // http://simon.html5.org/test/html/dom/reflecting/DOMTokenList/getting/004.htm |
45 createElement('x y'); | 45 createElement('x y'); |
46 shouldEvaluateTo('element.htmlFor.length', 2); | 46 shouldEvaluateTo('element.htmlFor.length', 2); |
47 | 47 |
48 // http://simon.html5.org/test/html/dom/reflecting/DOMTokenList/getting/005.htm | 48 // http://simon.html5.org/test/html/dom/reflecting/DOMTokenList/getting/005.htm |
49 createElement(''); | 49 createElement(''); |
50 element.htmlFor.add('x'); | 50 element.htmlFor.add('x'); |
51 shouldBeEqualToString('element.htmlFor.toString()', 'x'); | 51 shouldBeEqualToString('element.htmlFor.toString()', 'x'); |
52 | 52 |
53 // http://simon.html5.org/test/html/dom/reflecting/DOMTokenList/getting/006.htm | 53 // http://simon.html5.org/test/html/dom/reflecting/DOMTokenList/getting/006.htm |
54 createElement('x'); | 54 createElement('x'); |
55 element.htmlFor.add('x'); | 55 element.htmlFor.add('x'); |
56 shouldBeEqualToString('element.htmlFor.toString()', 'x'); | 56 shouldBeEqualToString('element.htmlFor.toString()', 'x'); |
57 | 57 |
58 // http://simon.html5.org/test/html/dom/reflecting/DOMTokenList/getting/007.htm | 58 // http://simon.html5.org/test/html/dom/reflecting/DOMTokenList/getting/007.htm |
59 createElement('x x'); | 59 createElement('x x'); |
60 element.htmlFor.add('x'); | 60 element.htmlFor.add('x'); |
61 shouldBeEqualToString('element.htmlFor.toString()', 'x x'); | 61 shouldBeEqualToString('element.htmlFor.toString()', 'x'); |
62 | 62 |
63 // http://simon.html5.org/test/html/dom/reflecting/DOMTokenList/getting/008.htm | 63 // http://simon.html5.org/test/html/dom/reflecting/DOMTokenList/getting/008.htm |
64 createElement('y'); | 64 createElement('y'); |
65 element.htmlFor.add('x'); | 65 element.htmlFor.add('x'); |
66 shouldBeEqualToString('element.htmlFor.toString()', 'y x'); | 66 shouldBeEqualToString('element.htmlFor.toString()', 'y x'); |
67 | 67 |
68 // http://simon.html5.org/test/html/dom/reflecting/DOMTokenList/getting/009.htm | 68 // http://simon.html5.org/test/html/dom/reflecting/DOMTokenList/getting/009.htm |
69 createElement(''); | 69 createElement(''); |
70 element.htmlFor.remove('x'); | 70 element.htmlFor.remove('x'); |
71 shouldBeEqualToString('element.htmlFor.toString()', ''); | 71 shouldBeEqualToString('element.htmlFor.toString()', ''); |
72 | 72 |
73 // http://simon.html5.org/test/html/dom/reflecting/DOMTokenList/getting/010.htm | 73 // http://simon.html5.org/test/html/dom/reflecting/DOMTokenList/getting/010.htm |
74 createElement('x'); | 74 createElement('x'); |
75 element.htmlFor.remove('x'); | 75 element.htmlFor.remove('x'); |
76 shouldBeEqualToString('element.htmlFor.toString()', ''); | 76 shouldBeEqualToString('element.htmlFor.toString()', ''); |
77 | 77 |
78 // http://simon.html5.org/test/html/dom/reflecting/DOMTokenList/getting/011.htm | 78 // http://simon.html5.org/test/html/dom/reflecting/DOMTokenList/getting/011.htm |
79 createElement(' y x y '); | 79 createElement(' y x y '); |
80 element.htmlFor.remove('x'); | 80 element.htmlFor.remove('x'); |
81 shouldBeEqualToString('element.htmlFor.toString()', 'y y'); | 81 shouldBeEqualToString('element.htmlFor.toString()', 'y'); |
82 | 82 |
83 // http://simon.html5.org/test/html/dom/reflecting/DOMTokenList/getting/012.htm | 83 // http://simon.html5.org/test/html/dom/reflecting/DOMTokenList/getting/012.htm |
84 createElement(' x y x '); | 84 createElement(' x y x '); |
85 element.htmlFor.remove('x'); | 85 element.htmlFor.remove('x'); |
86 shouldBeEqualToString('element.htmlFor.toString()', 'y'); | 86 shouldBeEqualToString('element.htmlFor.toString()', 'y'); |
87 | 87 |
88 | 88 |
89 debug('- Ensure that we can handle empty form attribute correctly'); | 89 debug('- Ensure that we can handle empty form attribute correctly'); |
90 element = document.createElement('output'); | 90 element = document.createElement('output'); |
91 var list = element.htmlFor; | 91 var list = element.htmlFor; |
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
181 }, DOMException.INVALID_CHARACTER_ERR); | 181 }, DOMException.INVALID_CHARACTER_ERR); |
182 | 182 |
183 | 183 |
184 debug('- Indexing'); | 184 debug('- Indexing'); |
185 | 185 |
186 createElement('x'); | 186 createElement('x'); |
187 shouldBeEqualToString('element.htmlFor[0]', 'x'); | 187 shouldBeEqualToString('element.htmlFor[0]', 'x'); |
188 shouldBeEqualToString('element.htmlFor.item(0)', 'x'); | 188 shouldBeEqualToString('element.htmlFor.item(0)', 'x'); |
189 | 189 |
190 createElement('x x'); | 190 createElement('x x'); |
191 shouldBeEqualToString('element.htmlFor[1]', 'x'); | 191 shouldBeUndefined('element.htmlFor[1]'); |
192 shouldBeEqualToString('element.htmlFor.item(1)', 'x'); | 192 shouldBeNull('element.htmlFor.item(1)'); |
193 | 193 |
194 createElement('x y'); | 194 createElement('x y'); |
195 shouldBeEqualToString('element.htmlFor[1]', 'y'); | 195 shouldBeEqualToString('element.htmlFor[1]', 'y'); |
196 shouldBeEqualToString('element.htmlFor.item(1)', 'y'); | 196 shouldBeEqualToString('element.htmlFor.item(1)', 'y'); |
197 | 197 |
198 createElement(''); | 198 createElement(''); |
199 shouldBeUndefined('element.htmlFor[0]'); | 199 shouldBeUndefined('element.htmlFor[0]'); |
200 shouldBeNull('element.htmlFor.item(0)'); | 200 shouldBeNull('element.htmlFor.item(0)'); |
201 | 201 |
202 createElement('x y z'); | 202 createElement('x y z'); |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
252 | 252 |
253 createElement('x'); | 253 createElement('x'); |
254 shouldBeEqualToString('typeof element.htmlFor', 'object'); | 254 shouldBeEqualToString('typeof element.htmlFor', 'object'); |
255 | 255 |
256 shouldEvaluateTo('element.htmlFor.constructor', 'DOMTokenList'); | 256 shouldEvaluateTo('element.htmlFor.constructor', 'DOMTokenList'); |
257 | 257 |
258 shouldBeTrue('element.htmlFor === element.htmlFor'); | 258 shouldBeTrue('element.htmlFor === element.htmlFor'); |
259 </script> | 259 </script> |
260 </body> | 260 </body> |
261 </html> | 261 </html> |
OLD | NEW |