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

Side by Side Diff: LayoutTests/fast/dom/idl-dictionary-unittest.html

Issue 767313003: IDL dictionary: Throw a TypeError when an interface member conversion fails (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years 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 <script src="../../resources/js-test.js"></script> 2 <script src="../../resources/js-test.js"></script>
3 <script> 3 <script>
4 description('IDL dictionary unittest'); 4 description('IDL dictionary unittest');
5 5
6 var testObject1 = { foo: 'x' }; 6 var testObject1 = { foo: 'x' };
7 var testObject2 = { bar: 'y' }; 7 var testObject2 = { bar: 'y' };
8 8
9 if (window.internals && internals.dictionaryTest) { 9 if (window.internals && internals.dictionaryTest) {
10 var dictionaryTest = window.internals.dictionaryTest(); 10 var dictionaryTest = window.internals.dictionaryTest();
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
167 167
168 debug('Test for setting invalid enum value'); 168 debug('Test for setting invalid enum value');
169 shouldThrow("dictionaryTest.set({enumMember: 'invalid'})"); 169 shouldThrow("dictionaryTest.set({enumMember: 'invalid'})");
170 debug(''); 170 debug('');
171 171
172 debug('Test for setting invalid object value'); 172 debug('Test for setting invalid object value');
173 shouldThrow("dictionaryTest.set({objectMember: 42})"); 173 shouldThrow("dictionaryTest.set({objectMember: 42})");
174 shouldThrow("dictionaryTest.set({objectMember: 'invalid'})"); 174 shouldThrow("dictionaryTest.set({objectMember: 'invalid'})");
175 debug(''); 175 debug('');
176 176
177 debug('Test for setting invalid Element value');
178 shouldThrow("dictionaryTest.set({elementMember: 42})");
179 shouldThrow("dictionaryTest.set({elementMember: testObject1})");
180 shouldThrow("dictionaryTest.set({elementMember: []})");
181 shouldThrow("dictionaryTest.set({elementMember: document})");
182 debug('');
183
177 debug('Test for passing invalid dictionary values'); 184 debug('Test for passing invalid dictionary values');
178 shouldThrow("dictionaryTest.set(42)"); 185 shouldThrow("dictionaryTest.set(42)");
179 shouldThrow("dictionaryTest.set('string')"); 186 shouldThrow("dictionaryTest.set('string')");
180 debug(''); 187 debug('');
181 188
182 debug('Test for [Clamp] and [EnforceRange] member'); 189 debug('Test for [Clamp] and [EnforceRange] member');
183 dictionaryTest.set({ 190 dictionaryTest.set({
184 longMember: 2147483648, 191 longMember: 2147483648,
185 longMemberWithClamp: 2147483648 192 longMemberWithClamp: 2147483648
186 }); 193 });
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
225 shouldBe('derived.longMember', '1'); 232 shouldBe('derived.longMember', '1');
226 shouldBeEqualToString('derived.stringMemberWithDefault', 'modifiedString'); 233 shouldBeEqualToString('derived.stringMemberWithDefault', 'modifiedString');
227 shouldBeEqualToString('derived.derivedStringMember', 'modifiedString2'); 234 shouldBeEqualToString('derived.derivedStringMember', 'modifiedString2');
228 shouldBeEqualToString('derived.derivedStringMemberWithDefault', 'modifiedStr ing3'); 235 shouldBeEqualToString('derived.derivedStringMemberWithDefault', 'modifiedStr ing3');
229 shouldBeUndefined('derived.invalidMember'); 236 shouldBeUndefined('derived.invalidMember');
230 237
231 debug(''); 238 debug('');
232 shouldThrow("dictionaryTest.setDerived({objectMember: 42})"); 239 shouldThrow("dictionaryTest.setDerived({objectMember: 42})");
233 } 240 }
234 </script> 241 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698