| Index: LayoutTests/fast/dom/idl-dictionary-unittest.html
|
| diff --git a/LayoutTests/fast/dom/idl-dictionary-unittest.html b/LayoutTests/fast/dom/idl-dictionary-unittest.html
|
| index b71e1865db3b9e98936a1a8d48df6a4150be2524..137da4d6790eb6b24ca68080a95596675d8acb70 100644
|
| --- a/LayoutTests/fast/dom/idl-dictionary-unittest.html
|
| +++ b/LayoutTests/fast/dom/idl-dictionary-unittest.html
|
| @@ -10,48 +10,83 @@ if (window.internals && internals.dictionaryTest) {
|
| dictionaryTest.set({});
|
| dict = dictionaryTest.get();
|
| shouldBeUndefined('dict.longMember');
|
| - shouldBeEqualToString('dict.stringMember', 'defaultStringValue');
|
| - shouldBeNull('dict.booleanOrNullMember');
|
| - shouldBeUndefined('dict.doubleOrNullMember');
|
| + shouldBe('dict.longMemberWithDefault', '42');
|
| + shouldBeUndefined('dict.longOrNullMember');
|
| + shouldBeNull('dict.longOrNullMemberWithDefault');
|
| + shouldBeUndefined('dict.booleanMember');
|
| + shouldBeUndefined('dict.doubleMember');
|
| + shouldBeUndefined('dict.stringMember');
|
| + shouldBeEqualToString('dict.stringMemberWithDefault', 'defaultStringValue');
|
| shouldBeUndefined('dict.stringSequenceMember');
|
| + shouldBeUndefined('dict.stringSequenceOrNullMember');
|
| + shouldBeUndefined('dict.elementMember');
|
| + shouldBeUndefined('dict.elementOrNullMember');
|
| debug('');
|
|
|
| debug('Test for setting undefined');
|
| dictionaryTest.set(undefined);
|
| dict = dictionaryTest.get();
|
| shouldBeUndefined('dict.longMember');
|
| - shouldBeEqualToString('dict.stringMember', 'defaultStringValue');
|
| - shouldBeNull('dict.booleanOrNullMember');
|
| - shouldBeUndefined('dict.doubleOrNullMember');
|
| + shouldBe('dict.longMemberWithDefault', '42');
|
| + shouldBeUndefined('dict.longOrNullMember');
|
| + shouldBeNull('dict.longOrNullMemberWithDefault');
|
| + shouldBeUndefined('dict.booleanMember');
|
| + shouldBeUndefined('dict.doubleMember');
|
| + shouldBeUndefined('dict.stringMember');
|
| + shouldBeEqualToString('dict.stringMemberWithDefault', 'defaultStringValue');
|
| shouldBeUndefined('dict.stringSequenceMember');
|
| + shouldBeUndefined('dict.stringSequenceOrNullMember');
|
| + shouldBeUndefined('dict.elementMember');
|
| + shouldBeUndefined('dict.elementOrNullMember');
|
| debug('');
|
|
|
| + var element1 = document.createElement('div');
|
| +
|
| debug('Test for setting valid values');
|
| - dictionaryTest.set({longMember: 3, stringMember: 'modifiedString',
|
| - booleanOrNullMember: true, doubleOrNullMember: 2.0,
|
| - stringSequenceMember: ['foo', 'bar', 'baz']});
|
| + dictionaryTest.set({
|
| + longMember: 1,
|
| + longMemberWithDefault: 2,
|
| + longOrNullMember: 3,
|
| + longOrNullMemberWithDefault: 4,
|
| + stringMember: 'modifiedString1',
|
| + stringMemberWithDefault: 'modifiedString2',
|
| + booleanMember: true,
|
| + doubleMember: 3.14,
|
| + stringSequenceMember: ['foo', 'bar', 'baz'],
|
| + stringSequenceOrNullMember: [],
|
| + elementMember: element1,
|
| + elementOrNullMember: null,
|
| + });
|
| dict = dictionaryTest.get();
|
| - shouldBe('dict.longMember', '3');
|
| - shouldBeEqualToString('dict.stringMember', 'modifiedString');
|
| - shouldBeTrue('dict.booleanOrNullMember');
|
| - shouldBe('dict.doubleOrNullMember', '2.0');
|
| + shouldBe('dict.longMember', '1');
|
| + shouldBe('dict.longMemberWithDefault', '2');
|
| + shouldBe('dict.longOrNullMember', '3');
|
| + shouldBe('dict.longOrNullMemberWithDefault', '4');
|
| + shouldBeEqualToString('dict.stringMember', 'modifiedString1');
|
| + shouldBeEqualToString('dict.stringMemberWithDefault', 'modifiedString2');
|
| + shouldBeTrue('dict.booleanMember');
|
| + shouldBe('dict.doubleMember', '3.14');
|
| shouldBe('dict.stringSequenceMember', '["foo", "bar", "baz"]');
|
| + shouldBe('dict.stringSequenceOrNullMember', '[]');
|
| + shouldBe('dict.elementMember', 'element1');
|
| + // This will be undefined as the spec says
|
| + shouldBeUndefined('dict.elementOrNullMember');
|
| debug('');
|
|
|
| - // FIXME: Following test doesn't pass. Make it pass.
|
| -/*
|
| debug('Test for explicit undefined or null, and missing members');
|
| - dictionaryTest.reset();
|
| - dictionaryTest.set({longMember: undefined, stringMember: undefined,
|
| - booleanOrNullMember: null});
|
| + dictionaryTest.set({
|
| + longMember: undefined,
|
| + longMemberWithDefault: null,
|
| + longOrNullMember: undefined,
|
| + longOrNullMemberWithDefault: null,
|
| + });
|
| dict = dictionaryTest.get();
|
| shouldBeUndefined('dict.longMember');
|
| - shouldBeEqualToString('dict.stringMember', 'defaultStringValue');
|
| - shouldBeNull('dict.booleanOrNullMember');
|
| - shouldBeUndefined('dict.doubleOrNullMember');
|
| - shouldBeUndefined('dict.stringSequenceMember');
|
| + shouldBe('dict.longMemberWithDefault', '42');
|
| + shouldBeUndefined('dict.longOrNullMember');
|
| + // Nullable and its default value is null
|
| + shouldBeNull('dict.longOrNullMemberWithDefault');
|
| debug('');
|
| -*/
|
|
|
| debug('Test for setting invalid member');
|
| dictionaryTest.set({invalidMember: 'shouldNotBeSet'});
|
|
|