| 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 225 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 236 }); | 236 }); |
| 237 dict = dictionaryTest.get(); | 237 dict = dictionaryTest.get(); |
| 238 shouldBeNull('dict.eventTargetOrNullMember'); | 238 shouldBeNull('dict.eventTargetOrNullMember'); |
| 239 shouldThrow("dictionaryTest.set({eventTargetOrNullMember: 'invalid'})"); | 239 shouldThrow("dictionaryTest.set({eventTargetOrNullMember: 'invalid'})"); |
| 240 shouldThrow("dictionaryTest.set({eventTargetOrNullMember: 42})"); | 240 shouldThrow("dictionaryTest.set({eventTargetOrNullMember: 42})"); |
| 241 shouldThrow("dictionaryTest.set({eventTargetOrNullMember: []})"); | 241 shouldThrow("dictionaryTest.set({eventTargetOrNullMember: []})"); |
| 242 shouldThrow("dictionaryTest.set({eventTargetOrNullMember: {}})"); | 242 shouldThrow("dictionaryTest.set({eventTargetOrNullMember: {}})"); |
| 243 debug(''); | 243 debug(''); |
| 244 | 244 |
| 245 debug('Test for derived dictionary'); | 245 debug('Test for derived dictionary'); |
| 246 dictionaryTest.setDerived({}); | 246 dictionaryTest.setDerived({ requiredBooleanMember: true }); |
| 247 derived = dictionaryTest.getDerived(); | 247 derived = dictionaryTest.getDerived(); |
| 248 shouldBeUndefined('derived.longMember'); | 248 shouldBeUndefined('derived.longMember'); |
| 249 shouldBe('derived.longMemberWithDefault', '42'); | 249 shouldBe('derived.longMemberWithDefault', '42'); |
| 250 shouldBeUndefined('derived.longOrNullMember'); | 250 shouldBeUndefined('derived.longOrNullMember'); |
| 251 shouldBeNull('derived.longOrNullMemberWithDefault'); | 251 shouldBeNull('derived.longOrNullMemberWithDefault'); |
| 252 shouldBeUndefined('derived.booleanMember'); | 252 shouldBeUndefined('derived.booleanMember'); |
| 253 shouldBeUndefined('derived.doubleMember'); | 253 shouldBeUndefined('derived.doubleMember'); |
| 254 shouldBeUndefined('derived.stringMember'); | 254 shouldBeUndefined('derived.stringMember'); |
| 255 shouldBeEqualToString('derived.stringMemberWithDefault', 'defaultStringValue
'); | 255 shouldBeEqualToString('derived.stringMemberWithDefault', 'defaultStringValue
'); |
| 256 shouldBeUndefined('derived.stringSequenceMember'); | 256 shouldBeUndefined('derived.stringSequenceMember'); |
| 257 shouldBeUndefined('derived.stringSequenceOrNullMember'); | 257 shouldBeUndefined('derived.stringSequenceOrNullMember'); |
| 258 shouldBeUndefined('derived.elementMember'); | 258 shouldBeUndefined('derived.elementMember'); |
| 259 shouldBeUndefined('derived.elementOrNullMember'); | 259 shouldBeUndefined('derived.elementOrNullMember'); |
| 260 shouldBeUndefined('derived.enumMember'); | 260 shouldBeUndefined('derived.enumMember'); |
| 261 shouldBeEqualToString('derived.enumMemberWithDefault', 'foo'); | 261 shouldBeEqualToString('derived.enumMemberWithDefault', 'foo'); |
| 262 shouldBeUndefined('derived.enumOrNullMember'); | 262 shouldBeUndefined('derived.enumOrNullMember'); |
| 263 shouldBeUndefined('derived.objectMember'); | 263 shouldBeUndefined('derived.objectMember'); |
| 264 shouldBeNull('derived.objectOrNullMemberWithDefault'); | 264 shouldBeNull('derived.objectOrNullMemberWithDefault'); |
| 265 shouldBeUndefined('derived.derivedStringMember'); | 265 shouldBeUndefined('derived.derivedStringMember'); |
| 266 shouldBeEqualToString('derived.derivedStringMemberWithDefault', 'derivedDefa
ultStringValue'); | 266 shouldBeEqualToString('derived.derivedStringMemberWithDefault', 'derivedDefa
ultStringValue'); |
| 267 shouldBeTrue('derived.requiredBooleanMember'); |
| 267 debug(''); | 268 debug(''); |
| 268 | 269 |
| 269 dictionaryTest.setDerived({ | 270 dictionaryTest.setDerived({ |
| 270 longMember: 1, | 271 longMember: 1, |
| 271 stringMemberWithDefault: 'modifiedString', | 272 stringMemberWithDefault: 'modifiedString', |
| 272 derivedStringMember: 'modifiedString2', | 273 derivedStringMember: 'modifiedString2', |
| 273 derivedStringMemberWithDefault: 'modifiedString3', | 274 derivedStringMemberWithDefault: 'modifiedString3', |
| 274 invalidMember: 'shouldNotBeSet', | 275 invalidMember: 'shouldNotBeSet', |
| 276 requiredBooleanMember: false, |
| 275 }); | 277 }); |
| 276 derived = dictionaryTest.getDerived(); | 278 derived = dictionaryTest.getDerived(); |
| 277 shouldBe('derived.longMember', '1'); | 279 shouldBe('derived.longMember', '1'); |
| 278 shouldBeEqualToString('derived.stringMemberWithDefault', 'modifiedString'); | 280 shouldBeEqualToString('derived.stringMemberWithDefault', 'modifiedString'); |
| 279 shouldBeEqualToString('derived.derivedStringMember', 'modifiedString2'); | 281 shouldBeEqualToString('derived.derivedStringMember', 'modifiedString2'); |
| 280 shouldBeEqualToString('derived.derivedStringMemberWithDefault', 'modifiedStr
ing3'); | 282 shouldBeEqualToString('derived.derivedStringMemberWithDefault', 'modifiedStr
ing3'); |
| 281 shouldBeUndefined('derived.invalidMember'); | 283 shouldBeUndefined('derived.invalidMember'); |
| 284 shouldBeFalse('derived.requiredBooleanMember'); |
| 285 debug(''); |
| 282 | 286 |
| 283 debug(''); | 287 debug('Test for passing invalid values as derived dictionary'); |
| 284 shouldThrow("dictionaryTest.setDerived({objectMember: 42})"); | 288 shouldThrow("dictionaryTest.setDerived({objectMember: 42, requiredBooleanMem
ber: false })"); |
| 289 shouldThrow("dictionaryTest.setDerived({})"); // Missing required member. |
| 285 } | 290 } |
| 286 </script> | 291 </script> |
| OLD | NEW |