| 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 |