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

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

Issue 534133002: [WIP] bindings: Introduce PropertyBag (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: 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 shouldBeEqualToString('dict.stringMember', 'defaultStringValue'); 13 shouldBe('dict.longMemberWithDefault', '42');
14 shouldBeNull('dict.booleanOrNullMember'); 14 shouldBeUndefined('dict.longOrNullMember');
15 shouldBeUndefined('dict.doubleOrNullMember'); 15 shouldBeNull('dict.longOrNullMemberWithDefault');
16 shouldBeUndefined('dict.booleanMember');
17 shouldBeUndefined('dict.doubleMember');
18 shouldBeUndefined('dict.stringMember');
19 shouldBeEqualToString('dict.stringMemberWithDefault', 'defaultStringValue');
16 shouldBeUndefined('dict.stringSequenceMember'); 20 shouldBeUndefined('dict.stringSequenceMember');
21 shouldBeUndefined('dict.stringSequenceOrNullMember');
22 shouldBeUndefined('dict.elementMember');
23 shouldBeUndefined('dict.elementOrNullMember');
17 debug(''); 24 debug('');
18 25
19 debug('Test for setting undefined'); 26 debug('Test for setting undefined');
20 dictionaryTest.set(undefined); 27 dictionaryTest.set(undefined);
21 dict = dictionaryTest.get(); 28 dict = dictionaryTest.get();
22 shouldBeUndefined('dict.longMember'); 29 shouldBeUndefined('dict.longMember');
23 shouldBeEqualToString('dict.stringMember', 'defaultStringValue'); 30 shouldBe('dict.longMemberWithDefault', '42');
24 shouldBeNull('dict.booleanOrNullMember'); 31 shouldBeUndefined('dict.longOrNullMember');
25 shouldBeUndefined('dict.doubleOrNullMember'); 32 shouldBeNull('dict.longOrNullMemberWithDefault');
33 shouldBeUndefined('dict.booleanMember');
34 shouldBeUndefined('dict.doubleMember');
35 shouldBeUndefined('dict.stringMember');
36 shouldBeEqualToString('dict.stringMemberWithDefault', 'defaultStringValue');
26 shouldBeUndefined('dict.stringSequenceMember'); 37 shouldBeUndefined('dict.stringSequenceMember');
38 shouldBeUndefined('dict.stringSequenceOrNullMember');
39 shouldBeUndefined('dict.elementMember');
40 shouldBeUndefined('dict.elementOrNullMember');
27 debug(''); 41 debug('');
28 42
43 var element1 = document.createElement('div');
44
29 debug('Test for setting valid values'); 45 debug('Test for setting valid values');
30 dictionaryTest.set({longMember: 3, stringMember: 'modifiedString', 46 dictionaryTest.set({
31 booleanOrNullMember: true, doubleOrNullMember: 2.0, 47 longMember: 1,
32 stringSequenceMember: ['foo', 'bar', 'baz']}); 48 longMemberWithDefault: 2,
49 longOrNullMember: 3,
50 longOrNullMemberWithDefault: 4,
51 stringMember: 'modifiedString1',
52 stringMemberWithDefault: 'modifiedString2',
53 booleanMember: true,
54 doubleMember: 3.14,
55 stringSequenceMember: ['foo', 'bar', 'baz'],
56 stringSequenceOrNullMember: [],
57 elementMember: element1,
58 elementOrNullMember: null,
59 });
33 dict = dictionaryTest.get(); 60 dict = dictionaryTest.get();
34 shouldBe('dict.longMember', '3'); 61 shouldBe('dict.longMember', '1');
35 shouldBeEqualToString('dict.stringMember', 'modifiedString'); 62 shouldBe('dict.longMemberWithDefault', '2');
36 shouldBeTrue('dict.booleanOrNullMember'); 63 shouldBe('dict.longOrNullMember', '3');
37 shouldBe('dict.doubleOrNullMember', '2.0'); 64 shouldBe('dict.longOrNullMemberWithDefault', '4');
65 shouldBeEqualToString('dict.stringMember', 'modifiedString1');
66 shouldBeEqualToString('dict.stringMemberWithDefault', 'modifiedString2');
67 shouldBeTrue('dict.booleanMember');
68 shouldBe('dict.doubleMember', '3.14');
38 shouldBe('dict.stringSequenceMember', '["foo", "bar", "baz"]'); 69 shouldBe('dict.stringSequenceMember', '["foo", "bar", "baz"]');
70 shouldBe('dict.stringSequenceOrNullMember', '[]');
71 shouldBe('dict.elementMember', 'element1');
72 // This will be undefined as the spec says
73 shouldBeUndefined('dict.elementOrNullMember');
39 debug(''); 74 debug('');
40 75
41 // FIXME: Following test doesn't pass. Make it pass.
42 /*
43 debug('Test for explicit undefined or null, and missing members'); 76 debug('Test for explicit undefined or null, and missing members');
44 dictionaryTest.reset(); 77 dictionaryTest.set({
45 dictionaryTest.set({longMember: undefined, stringMember: undefined, 78 longMember: undefined,
46 booleanOrNullMember: null}); 79 longMemberWithDefault: null,
80 longOrNullMember: undefined,
81 longOrNullMemberWithDefault: null,
82 });
47 dict = dictionaryTest.get(); 83 dict = dictionaryTest.get();
48 shouldBeUndefined('dict.longMember'); 84 shouldBeUndefined('dict.longMember');
49 shouldBeEqualToString('dict.stringMember', 'defaultStringValue'); 85 shouldBe('dict.longMemberWithDefault', '42');
50 shouldBeNull('dict.booleanOrNullMember'); 86 shouldBeUndefined('dict.longOrNullMember');
51 shouldBeUndefined('dict.doubleOrNullMember'); 87 // Nullable and its default value is null
52 shouldBeUndefined('dict.stringSequenceMember'); 88 shouldBeNull('dict.longOrNullMemberWithDefault');
53 debug(''); 89 debug('');
54 */
55 90
56 debug('Test for setting invalid member'); 91 debug('Test for setting invalid member');
57 dictionaryTest.set({invalidMember: 'shouldNotBeSet'}); 92 dictionaryTest.set({invalidMember: 'shouldNotBeSet'});
58 dict = dictionaryTest.get(); 93 dict = dictionaryTest.get();
59 shouldBeUndefined('dict.invalidMember'); 94 shouldBeUndefined('dict.invalidMember');
60 debug(''); 95 debug('');
61 } 96 }
62 </script> 97 </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