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

Side by Side Diff: third_party/WebKit/LayoutTests/fast/dom/HTMLElement/resources/class-list.js

Issue 2898063003: DOMTokenList.contains() should not throw. (Closed)
Patch Set: Move the comment 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 description('Tests the classList attribute and its properties.'); 1 description('Tests the classList attribute and its properties.');
2 2
3 var element; 3 var element;
4 4
5 function createElement(className) 5 function createElement(className)
6 { 6 {
7 element = document.createElement('p'); 7 element = document.createElement('p');
8 element.className = className; 8 element.className = className;
9 } 9 }
10 10
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after
147 testFailed('Wrong exception code: ' + ex.code); 147 testFailed('Wrong exception code: ' + ex.code);
148 return; 148 return;
149 } 149 }
150 } 150 }
151 var formattedFunction = String(f).replace(/^function.+\{\s*/m, ''). 151 var formattedFunction = String(f).replace(/^function.+\{\s*/m, '').
152 replace(/;?\s+\}/m, ''); 152 replace(/;?\s+\}/m, '');
153 testPassed(formattedFunction + ' threw expected DOMException with code ' + e c); 153 testPassed(formattedFunction + ' threw expected DOMException with code ' + e c);
154 } 154 }
155 155
156 createElement('x'); 156 createElement('x');
157 shouldThrowDOMException(function() { 157 shouldNotThrow('element.classList.contains("")');
158 element.classList.contains('');
159 }, DOMException.SYNTAX_ERR);
160 158
161 createElement('x y'); 159 createElement('x y');
162 shouldThrowDOMException(function() { 160 shouldNotThrow('element.classList.contains("x y")');
163 element.classList.contains('x y');
164 }, DOMException.INVALID_CHARACTER_ERR);
165 161
166 createElement(''); 162 createElement('');
167 shouldThrowDOMException(function() { 163 shouldThrowDOMException(function() {
168 element.classList.add(''); 164 element.classList.add('');
169 }, DOMException.SYNTAX_ERR); 165 }, DOMException.SYNTAX_ERR);
170 166
171 createElement(''); 167 createElement('');
172 shouldThrowDOMException(function() { 168 shouldThrowDOMException(function() {
173 element.classList.add('x y'); 169 element.classList.add('x y');
174 }, DOMException.INVALID_CHARACTER_ERR); 170 }, DOMException.INVALID_CHARACTER_ERR);
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after
368 element.classList.remove('a', 'c'); 364 element.classList.remove('a', 'c');
369 shouldBe('observer.takeRecords().length', '1'); 365 shouldBe('observer.takeRecords().length', '1');
370 366
371 // iterable<DOMString>; 367 // iterable<DOMString>;
372 createElement('a b c'); 368 createElement('a b c');
373 var seen = []; 369 var seen = [];
374 for (var t of element.classList) { 370 for (var t of element.classList) {
375 seen.push(t); 371 seen.push(t);
376 } 372 }
377 shouldBeTrue("areArraysEqual(seen, ['a', 'b', 'c'])"); 373 shouldBeTrue("areArraysEqual(seen, ['a', 'b', 'c'])");
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698