Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(333)

Side by Side Diff: LayoutTests/fast/dom/idl-dictionary-unittest.html

Issue 561633003: IDL: Enumerations support in dictionaries (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Remove parens Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | LayoutTests/fast/dom/idl-dictionary-unittest-expected.txt » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 if (window.internals && internals.dictionaryTest) { 6 if (window.internals && internals.dictionaryTest) {
7 var dictionaryTest = window.internals.dictionaryTest(); 7 var dictionaryTest = window.internals.dictionaryTest();
8 8
9 debug('Test for setting an empty dictionary'); 9 debug('Test for setting an empty dictionary');
10 dictionaryTest.set({}); 10 dictionaryTest.set({});
11 dict = dictionaryTest.get(); 11 dict = dictionaryTest.get();
12 shouldBeUndefined('dict.longMember'); 12 shouldBeUndefined('dict.longMember');
13 shouldBe('dict.longMemberWithDefault', '42'); 13 shouldBe('dict.longMemberWithDefault', '42');
14 shouldBeUndefined('dict.longOrNullMember'); 14 shouldBeUndefined('dict.longOrNullMember');
15 shouldBeNull('dict.longOrNullMemberWithDefault'); 15 shouldBeNull('dict.longOrNullMemberWithDefault');
16 shouldBeUndefined('dict.booleanMember'); 16 shouldBeUndefined('dict.booleanMember');
17 shouldBeUndefined('dict.doubleMember'); 17 shouldBeUndefined('dict.doubleMember');
18 shouldBeUndefined('dict.stringMember'); 18 shouldBeUndefined('dict.stringMember');
19 shouldBeEqualToString('dict.stringMemberWithDefault', 'defaultStringValue'); 19 shouldBeEqualToString('dict.stringMemberWithDefault', 'defaultStringValue');
20 shouldBeUndefined('dict.stringSequenceMember'); 20 shouldBeUndefined('dict.stringSequenceMember');
21 shouldBeUndefined('dict.stringSequenceOrNullMember'); 21 shouldBeUndefined('dict.stringSequenceOrNullMember');
22 shouldBeUndefined('dict.elementMember'); 22 shouldBeUndefined('dict.elementMember');
23 shouldBeUndefined('dict.elementOrNullMember'); 23 shouldBeUndefined('dict.elementOrNullMember');
24 shouldBeUndefined('dict.enumMember');
25 shouldBeEqualToString('dict.enumMemberWithDefault', 'foo');
26 shouldBeUndefined('dict.enumOrNullMember');
24 debug(''); 27 debug('');
25 28
26 debug('Test for setting undefined'); 29 debug('Test for setting undefined');
27 dictionaryTest.set(undefined); 30 dictionaryTest.set(undefined);
28 dict = dictionaryTest.get(); 31 dict = dictionaryTest.get();
29 shouldBeUndefined('dict.longMember'); 32 shouldBeUndefined('dict.longMember');
30 shouldBe('dict.longMemberWithDefault', '42'); 33 shouldBe('dict.longMemberWithDefault', '42');
31 shouldBeUndefined('dict.longOrNullMember'); 34 shouldBeUndefined('dict.longOrNullMember');
32 shouldBeNull('dict.longOrNullMemberWithDefault'); 35 shouldBeNull('dict.longOrNullMemberWithDefault');
33 shouldBeUndefined('dict.booleanMember'); 36 shouldBeUndefined('dict.booleanMember');
(...skipping 15 matching lines...) Expand all
49 longOrNullMember: 3, 52 longOrNullMember: 3,
50 longOrNullMemberWithDefault: 4, 53 longOrNullMemberWithDefault: 4,
51 stringMember: 'modifiedString1', 54 stringMember: 'modifiedString1',
52 stringMemberWithDefault: 'modifiedString2', 55 stringMemberWithDefault: 'modifiedString2',
53 booleanMember: true, 56 booleanMember: true,
54 doubleMember: 3.14, 57 doubleMember: 3.14,
55 stringSequenceMember: ['foo', 'bar', 'baz'], 58 stringSequenceMember: ['foo', 'bar', 'baz'],
56 stringSequenceOrNullMember: [], 59 stringSequenceOrNullMember: [],
57 elementMember: element1, 60 elementMember: element1,
58 elementOrNullMember: null, 61 elementOrNullMember: null,
62 enumMember: 'foo',
63 enumMemberWithDefault: 'bar',
64 enumOrNullMember: 'baz',
59 }); 65 });
60 dict = dictionaryTest.get(); 66 dict = dictionaryTest.get();
61 shouldBe('dict.longMember', '1'); 67 shouldBe('dict.longMember', '1');
62 shouldBe('dict.longMemberWithDefault', '2'); 68 shouldBe('dict.longMemberWithDefault', '2');
63 shouldBe('dict.longOrNullMember', '3'); 69 shouldBe('dict.longOrNullMember', '3');
64 shouldBe('dict.longOrNullMemberWithDefault', '4'); 70 shouldBe('dict.longOrNullMemberWithDefault', '4');
65 shouldBeEqualToString('dict.stringMember', 'modifiedString1'); 71 shouldBeEqualToString('dict.stringMember', 'modifiedString1');
66 shouldBeEqualToString('dict.stringMemberWithDefault', 'modifiedString2'); 72 shouldBeEqualToString('dict.stringMemberWithDefault', 'modifiedString2');
67 shouldBeTrue('dict.booleanMember'); 73 shouldBeTrue('dict.booleanMember');
68 shouldBe('dict.doubleMember', '3.14'); 74 shouldBe('dict.doubleMember', '3.14');
69 shouldBe('dict.stringSequenceMember', '["foo", "bar", "baz"]'); 75 shouldBe('dict.stringSequenceMember', '["foo", "bar", "baz"]');
70 shouldBe('dict.stringSequenceOrNullMember', '[]'); 76 shouldBe('dict.stringSequenceOrNullMember', '[]');
71 shouldBe('dict.elementMember', 'element1'); 77 shouldBe('dict.elementMember', 'element1');
72 // This will be undefined as the spec says 78 // This will be undefined as the spec says
73 shouldBeUndefined('dict.elementOrNullMember'); 79 shouldBeUndefined('dict.elementOrNullMember');
80 shouldBeEqualToString('dict.enumMember', 'foo');
81 shouldBeEqualToString('dict.enumMemberWithDefault', 'bar');
82 shouldBeEqualToString('dict.enumOrNullMember', 'baz');
74 debug(''); 83 debug('');
75 84
76 debug('Test for explicit undefined or null, and missing members'); 85 debug('Test for explicit undefined or null, and missing members');
77 dictionaryTest.set({ 86 dictionaryTest.set({
78 longMember: undefined, 87 longMember: undefined,
79 longMemberWithDefault: null, 88 longMemberWithDefault: null,
80 longOrNullMember: undefined, 89 longOrNullMember: undefined,
81 longOrNullMemberWithDefault: null, 90 longOrNullMemberWithDefault: null,
82 }); 91 });
83 dict = dictionaryTest.get(); 92 dict = dictionaryTest.get();
84 shouldBeUndefined('dict.longMember'); 93 shouldBeUndefined('dict.longMember');
85 shouldBe('dict.longMemberWithDefault', '42'); 94 shouldBe('dict.longMemberWithDefault', '42');
86 shouldBeUndefined('dict.longOrNullMember'); 95 shouldBeUndefined('dict.longOrNullMember');
87 // Nullable and its default value is null 96 // Nullable and its default value is null
88 shouldBeNull('dict.longOrNullMemberWithDefault'); 97 shouldBeNull('dict.longOrNullMemberWithDefault');
89 debug(''); 98 debug('');
90 99
91 debug('Test for setting invalid member'); 100 debug('Test for setting invalid member');
92 dictionaryTest.set({invalidMember: 'shouldNotBeSet'}); 101 dictionaryTest.set({invalidMember: 'shouldNotBeSet'});
93 dict = dictionaryTest.get(); 102 dict = dictionaryTest.get();
94 shouldBeUndefined('dict.invalidMember'); 103 shouldBeUndefined('dict.invalidMember');
95 debug(''); 104 debug('');
105
106 debug('Test for setting invalid enum value');
107 shouldThrow("dictionaryTest.set({enumMember: 'invalid'})");
108 debug('');
96 } 109 }
97 </script> 110 </script>
OLDNEW
« no previous file with comments | « no previous file | LayoutTests/fast/dom/idl-dictionary-unittest-expected.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698