OLD | NEW |
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 235 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
246 eventTargetOrNullMember: undefined | 246 eventTargetOrNullMember: undefined |
247 }); | 247 }); |
248 dict = dictionaryTest.get(); | 248 dict = dictionaryTest.get(); |
249 shouldBeNull('dict.eventTargetOrNullMember'); | 249 shouldBeNull('dict.eventTargetOrNullMember'); |
250 shouldThrow("dictionaryTest.set({eventTargetOrNullMember: 'invalid'})"); | 250 shouldThrow("dictionaryTest.set({eventTargetOrNullMember: 'invalid'})"); |
251 shouldThrow("dictionaryTest.set({eventTargetOrNullMember: 42})"); | 251 shouldThrow("dictionaryTest.set({eventTargetOrNullMember: 42})"); |
252 shouldThrow("dictionaryTest.set({eventTargetOrNullMember: []})"); | 252 shouldThrow("dictionaryTest.set({eventTargetOrNullMember: []})"); |
253 shouldThrow("dictionaryTest.set({eventTargetOrNullMember: {}})"); | 253 shouldThrow("dictionaryTest.set({eventTargetOrNullMember: {}})"); |
254 debug(''); | 254 debug(''); |
255 | 255 |
| 256 debug('Test for passing Dictionary (not IDL dictionary)'); |
| 257 dictionaryTest.set({ |
| 258 dictionaryMember: {'foo': 'x', 'bar': 'y'} |
| 259 }); |
| 260 properties = dictionaryTest.getDictionaryMemberProperties(); |
| 261 shouldBeEqualToString('properties.foo', 'x'); |
| 262 shouldBeEqualToString('properties.bar', 'y'); |
| 263 shouldBeUndefined('properties.baz'); |
| 264 dictionaryTest.set({dictionaryMember: undefined}); |
| 265 properties = dictionaryTest.getDictionaryMemberProperties(); |
| 266 shouldBe('properties', '{}'); |
| 267 shouldThrow("dictionaryTest.set({dictionaryMember: 42})"); |
| 268 shouldThrow("dictionaryTest.set({dictionaryMember: 'foo'})"); |
| 269 debug(''); |
| 270 |
256 debug('Test for derived dictionary'); | 271 debug('Test for derived dictionary'); |
257 dictionaryTest.setDerived({ requiredBooleanMember: true }); | 272 dictionaryTest.setDerived({ requiredBooleanMember: true }); |
258 derived = dictionaryTest.getDerived(); | 273 derived = dictionaryTest.getDerived(); |
259 shouldBeUndefined('derived.longMember'); | 274 shouldBeUndefined('derived.longMember'); |
260 shouldBe('derived.longMemberWithDefault', '42'); | 275 shouldBe('derived.longMemberWithDefault', '42'); |
261 shouldBeUndefined('derived.longOrNullMember'); | 276 shouldBeUndefined('derived.longOrNullMember'); |
262 shouldBeNull('derived.longOrNullMemberWithDefault'); | 277 shouldBeNull('derived.longOrNullMemberWithDefault'); |
263 shouldBeUndefined('derived.booleanMember'); | 278 shouldBeUndefined('derived.booleanMember'); |
264 shouldBeUndefined('derived.doubleMember'); | 279 shouldBeUndefined('derived.doubleMember'); |
265 shouldBeUndefined('derived.stringMember'); | 280 shouldBeUndefined('derived.stringMember'); |
(...skipping 28 matching lines...) Expand all Loading... |
294 shouldBeEqualToString('derived.derivedStringMemberWithDefault', 'modifiedStr
ing3'); | 309 shouldBeEqualToString('derived.derivedStringMemberWithDefault', 'modifiedStr
ing3'); |
295 shouldBeUndefined('derived.invalidMember'); | 310 shouldBeUndefined('derived.invalidMember'); |
296 shouldBeFalse('derived.requiredBooleanMember'); | 311 shouldBeFalse('derived.requiredBooleanMember'); |
297 debug(''); | 312 debug(''); |
298 | 313 |
299 debug('Test for passing invalid values as derived dictionary'); | 314 debug('Test for passing invalid values as derived dictionary'); |
300 shouldThrow("dictionaryTest.setDerived({objectMember: 42, requiredBooleanMem
ber: false })"); | 315 shouldThrow("dictionaryTest.setDerived({objectMember: 42, requiredBooleanMem
ber: false })"); |
301 shouldThrow("dictionaryTest.setDerived({})"); // Missing required member. | 316 shouldThrow("dictionaryTest.setDerived({})"); // Missing required member. |
302 } | 317 } |
303 </script> | 318 </script> |
OLD | NEW |