| 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 19 matching lines...) Expand all Loading... |
| 30 shouldBeNull('dict.elementOrNullMember'); | 30 shouldBeNull('dict.elementOrNullMember'); |
| 31 shouldBeUndefined('dict.enumMember'); | 31 shouldBeUndefined('dict.enumMember'); |
| 32 shouldBeUndefined('dict.enumArrayMember'); | 32 shouldBeUndefined('dict.enumArrayMember'); |
| 33 shouldBeEqualToString('dict.enumMemberWithDefault', 'foo'); | 33 shouldBeEqualToString('dict.enumMemberWithDefault', 'foo'); |
| 34 shouldBeNull('dict.enumOrNullMember'); | 34 shouldBeNull('dict.enumOrNullMember'); |
| 35 shouldBeUndefined('dict.objectMember'); | 35 shouldBeUndefined('dict.objectMember'); |
| 36 shouldBeNull('dict.objectOrNullMemberWithDefault'); | 36 shouldBeNull('dict.objectOrNullMemberWithDefault'); |
| 37 shouldBeUndefined('dict.doubleOrStringMember'); | 37 shouldBeUndefined('dict.doubleOrStringMember'); |
| 38 shouldBeUndefined('dict.doubleOrStringSequenceMember'); | 38 shouldBeUndefined('dict.doubleOrStringSequenceMember'); |
| 39 shouldBeNull('dict.eventTargetOrNullMember'); | 39 shouldBeNull('dict.eventTargetOrNullMember'); |
| 40 shouldBeUndefined('dict.prefixGetMember'); |
| 40 debug(''); | 41 debug(''); |
| 41 | 42 |
| 42 debug('Test for setting undefined'); | 43 debug('Test for setting undefined'); |
| 43 dictionaryTest.set(undefined); | 44 dictionaryTest.set(undefined); |
| 44 dict = dictionaryTest.get(); | 45 dict = dictionaryTest.get(); |
| 45 shouldBeUndefined('dict.longMember'); | 46 shouldBeUndefined('dict.longMember'); |
| 46 shouldBe('dict.longMemberWithDefault', '42'); | 47 shouldBe('dict.longMemberWithDefault', '42'); |
| 47 shouldBeNull('dict.longOrNullMember'); | 48 shouldBeNull('dict.longOrNullMember'); |
| 48 shouldBeNull('dict.longOrNullMemberWithDefault'); | 49 shouldBeNull('dict.longOrNullMemberWithDefault'); |
| 49 shouldBeUndefined('dict.booleanMember'); | 50 shouldBeUndefined('dict.booleanMember'); |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 84 elementMember: element1, | 85 elementMember: element1, |
| 85 elementOrNullMember: null, | 86 elementOrNullMember: null, |
| 86 enumMember: 'foo', | 87 enumMember: 'foo', |
| 87 enumMemberWithDefault: 'bar', | 88 enumMemberWithDefault: 'bar', |
| 88 enumOrNullMember: 'baz', | 89 enumOrNullMember: 'baz', |
| 89 enumArrayMember: ['foo', 'bar', 'baz'], | 90 enumArrayMember: ['foo', 'bar', 'baz'], |
| 90 objectMember: testObject1, | 91 objectMember: testObject1, |
| 91 objectOrNullMemberWithDefault: testObject2, | 92 objectOrNullMemberWithDefault: testObject2, |
| 92 doubleOrStringMember: 3.14, | 93 doubleOrStringMember: 3.14, |
| 93 doubleOrStringSequenceMember: [3.14, 'Hello'], | 94 doubleOrStringSequenceMember: [3.14, 'Hello'], |
| 94 eventTargetOrNullMember: element1 | 95 eventTargetOrNullMember: element1, |
| 96 prefixGetMember: testObject1, |
| 95 }); | 97 }); |
| 96 dict = dictionaryTest.get(); | 98 dict = dictionaryTest.get(); |
| 97 shouldBe('dict.longMember', '1'); | 99 shouldBe('dict.longMember', '1'); |
| 98 shouldBe('dict.longMemberWithDefault', '2'); | 100 shouldBe('dict.longMemberWithDefault', '2'); |
| 99 shouldBe('dict.longOrNullMember', '3'); | 101 shouldBe('dict.longOrNullMember', '3'); |
| 100 shouldBe('dict.longOrNullMemberWithDefault', '4'); | 102 shouldBe('dict.longOrNullMemberWithDefault', '4'); |
| 101 shouldBeEqualToString('dict.stringMember', 'modifiedString1'); | 103 shouldBeEqualToString('dict.stringMember', 'modifiedString1'); |
| 102 shouldBeEqualToString('dict.stringMemberWithDefault', 'modifiedString2'); | 104 shouldBeEqualToString('dict.stringMemberWithDefault', 'modifiedString2'); |
| 103 shouldBeEqualToString('dict.byteStringMember', '\x00\x01\xFE\xFF'); | 105 shouldBeEqualToString('dict.byteStringMember', '\x00\x01\xFE\xFF'); |
| 104 shouldBeEqualToString('dict.usvStringMember', '!@#123ABCabc\xA0\uD800\uDC00'
); | 106 shouldBeEqualToString('dict.usvStringMember', '!@#123ABCabc\xA0\uD800\uDC00'
); |
| 105 shouldBeTrue('dict.booleanMember'); | 107 shouldBeTrue('dict.booleanMember'); |
| 106 shouldBe('dict.doubleMember', '3.14'); | 108 shouldBe('dict.doubleMember', '3.14'); |
| 107 shouldBe('dict.unrestrictedDoubleMember', 'NaN'); | 109 shouldBe('dict.unrestrictedDoubleMember', 'NaN'); |
| 108 shouldBe('dict.stringSequenceMember', '["foo", "bar", "baz"]'); | 110 shouldBe('dict.stringSequenceMember', '["foo", "bar", "baz"]'); |
| 109 shouldBe('dict.stringSequenceMemberWithDefault', '["foo", "bar", "baz"]'); | 111 shouldBe('dict.stringSequenceMemberWithDefault', '["foo", "bar", "baz"]'); |
| 110 shouldBe('dict.stringSequenceOrNullMember', '[]'); | 112 shouldBe('dict.stringSequenceOrNullMember', '[]'); |
| 111 shouldBe('dict.elementMember', 'element1'); | 113 shouldBe('dict.elementMember', 'element1'); |
| 112 // This will be undefined as the spec says | 114 // This will be undefined as the spec says |
| 113 shouldBeNull('dict.elementOrNullMember'); | 115 shouldBeNull('dict.elementOrNullMember'); |
| 114 shouldBeEqualToString('dict.enumMember', 'foo'); | 116 shouldBeEqualToString('dict.enumMember', 'foo'); |
| 115 shouldBeEqualToString('dict.enumMemberWithDefault', 'bar'); | 117 shouldBeEqualToString('dict.enumMemberWithDefault', 'bar'); |
| 116 shouldBeEqualToString('dict.enumOrNullMember', 'baz'); | 118 shouldBeEqualToString('dict.enumOrNullMember', 'baz'); |
| 117 shouldBe('dict.enumArrayMember', '["foo", "bar", "baz"]'); | 119 shouldBe('dict.enumArrayMember', '["foo", "bar", "baz"]'); |
| 118 shouldBe('dict.objectMember', 'testObject1'); | 120 shouldBe('dict.objectMember', 'testObject1'); |
| 119 shouldBe('dict.objectOrNullMemberWithDefault', 'testObject2'); | 121 shouldBe('dict.objectOrNullMemberWithDefault', 'testObject2'); |
| 120 shouldBe('dict.doubleOrStringMember', '3.14'); | 122 shouldBe('dict.doubleOrStringMember', '3.14'); |
| 121 shouldBe('dict.doubleOrStringSequenceMember', '[3.14, "Hello"]'); | 123 shouldBe('dict.doubleOrStringSequenceMember', '[3.14, "Hello"]'); |
| 122 shouldBe('dict.eventTargetOrNullMember', 'element1'); | 124 shouldBe('dict.eventTargetOrNullMember', 'element1'); |
| 125 shouldBe('dict.prefixGetMember', 'testObject1'); |
| 123 debug(''); | 126 debug(''); |
| 124 | 127 |
| 125 debug('Additional test for union type members'); | 128 debug('Additional test for union type members'); |
| 126 dictionaryTest.set({ | 129 dictionaryTest.set({ |
| 127 doubleOrStringMember: "foo", | 130 doubleOrStringMember: "foo", |
| 128 }); | 131 }); |
| 129 dict = dictionaryTest.get(); | 132 dict = dictionaryTest.get(); |
| 130 shouldBeEqualToString('dict.doubleOrStringMember', 'foo'); | 133 shouldBeEqualToString('dict.doubleOrStringMember', 'foo'); |
| 131 dictionaryTest.set({ | 134 dictionaryTest.set({ |
| 132 doubleOrStringMember: {}, | 135 doubleOrStringMember: {}, |
| (...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 323 shouldBeEqualToString('derived.derivedStringMember', 'modifiedString'); | 326 shouldBeEqualToString('derived.derivedStringMember', 'modifiedString'); |
| 324 shouldBeEqualToString('derived.derivedDerivedStringMember', 'modifiedString2
'); | 327 shouldBeEqualToString('derived.derivedDerivedStringMember', 'modifiedString2
'); |
| 325 shouldBeFalse('derived.requiredBooleanMember'); | 328 shouldBeFalse('derived.requiredBooleanMember'); |
| 326 debug(''); | 329 debug(''); |
| 327 | 330 |
| 328 debug('Test for passing invalid values as derived dictionary'); | 331 debug('Test for passing invalid values as derived dictionary'); |
| 329 shouldThrow("dictionaryTest.setDerived({objectMember: 42, requiredBooleanMem
ber: false })"); | 332 shouldThrow("dictionaryTest.setDerived({objectMember: 42, requiredBooleanMem
ber: false })"); |
| 330 shouldThrow("dictionaryTest.setDerived({})"); // Missing required member. | 333 shouldThrow("dictionaryTest.setDerived({})"); // Missing required member. |
| 331 } | 334 } |
| 332 </script> | 335 </script> |
| OLD | NEW |