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 |