Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(520)

Side by Side Diff: third_party/WebKit/LayoutTests/fast/dom/HTMLOutputElement/dom-token-list.html

Issue 2903803002: DOMTokenList should unify duplicated tokens. (Closed)
Patch Set: Update a -expected.txt Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
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>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698