| CONSOLE WARNING: 'KeyboardEvent.keyLocation' is deprecated and will be removed in M50, around April 2016. Please use 'KeyboardEvent.location' instead. See https://www.chromestatus.com/features/4997403308457984 for more details. |
| IDL dictionary unittest |
| |
| On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". |
| |
| |
| Test for setting an empty dictionary |
| PASS dict.longMember is undefined. |
| PASS dict.longMemberWithDefault is 42 |
| PASS dict.longOrNullMember is undefined. |
| PASS dict.longOrNullMemberWithDefault is null |
| PASS dict.booleanMember is undefined. |
| PASS dict.doubleMember is undefined. |
| PASS dict.unrestrictedDoubleMember is undefined. |
| PASS dict.stringMember is undefined. |
| PASS dict.stringMemberWithDefault is "defaultStringValue" |
| PASS dict.byteStringMember is undefined. |
| PASS dict.usvStringMember is undefined. |
| PASS dict.stringSequenceMember is undefined. |
| PASS dict.stringSequenceMemberWithDefault is [] |
| PASS dict.stringSequenceOrNullMember is undefined. |
| PASS dict.elementMember is undefined. |
| PASS dict.elementOrNullMember is undefined. |
| PASS dict.enumMember is undefined. |
| PASS dict.enumArrayMember is undefined. |
| PASS dict.enumMemberWithDefault is "foo" |
| PASS dict.enumOrNullMember is undefined. |
| PASS dict.objectMember is undefined. |
| PASS dict.objectOrNullMemberWithDefault is null |
| PASS dict.doubleOrStringMember is undefined. |
| PASS dict.doubleOrStringSequenceMember is undefined. |
| PASS dict.eventTargetOrNullMember is null |
| |
| Test for setting undefined |
| PASS dict.longMember is undefined. |
| PASS dict.longMemberWithDefault is 42 |
| PASS dict.longOrNullMember is undefined. |
| PASS dict.longOrNullMemberWithDefault is null |
| PASS dict.booleanMember is undefined. |
| PASS dict.doubleMember is undefined. |
| PASS dict.unrestrictedDoubleMember is undefined. |
| PASS dict.stringMember is undefined. |
| PASS dict.byteStringMember is undefined. |
| PASS dict.usvStringMember is undefined. |
| PASS dict.stringMemberWithDefault is "defaultStringValue" |
| PASS dict.stringSequenceMember is undefined. |
| PASS dict.stringSequenceMemberWithDefault is [] |
| PASS dict.stringSequenceOrNullMember is undefined. |
| PASS dict.elementMember is undefined. |
| PASS dict.elementOrNullMember is undefined. |
| PASS dict.objectMember is undefined. |
| PASS dict.objectOrNullMemberWithDefault is null |
| PASS dict.eventTargetOrNullMember is null |
| |
| Test for setting valid values |
| PASS dict.longMember is 1 |
| PASS dict.longMemberWithDefault is 2 |
| PASS dict.longOrNullMember is 3 |
| PASS dict.longOrNullMemberWithDefault is 4 |
| PASS dict.stringMember is "modifiedString1" |
| PASS dict.stringMemberWithDefault is "modifiedString2" |
| PASS dict.byteStringMember is "\u0000\u0001þÿ" |
| PASS dict.usvStringMember is "!@#123ABCabc 𐀀" |
| PASS dict.booleanMember is true |
| PASS dict.doubleMember is 3.14 |
| PASS dict.unrestrictedDoubleMember is NaN |
| PASS dict.stringSequenceMember is ["foo", "bar", "baz"] |
| PASS dict.stringSequenceMemberWithDefault is ["foo", "bar", "baz"] |
| PASS dict.stringSequenceOrNullMember is [] |
| PASS dict.elementMember is element1 |
| PASS dict.elementOrNullMember is undefined. |
| PASS dict.enumMember is "foo" |
| PASS dict.enumMemberWithDefault is "bar" |
| PASS dict.enumOrNullMember is "baz" |
| PASS dict.enumArrayMember is ["foo", "bar", "baz"] |
| PASS dict.objectMember is testObject1 |
| PASS dict.objectOrNullMemberWithDefault is testObject2 |
| PASS dict.doubleOrStringMember is 3.14 |
| PASS dict.doubleOrStringSequenceMember is [3.14, "Hello"] |
| PASS dict.eventTargetOrNullMember is element1 |
| |
| Additional test for union type members |
| PASS dict.doubleOrStringMember is "foo" |
| PASS dict.doubleOrStringMember is "[object Object]" |
| PASS dict.doubleOrStringMember is "" |
| PASS dict.doubleOrStringMember is "null" |
| PASS dict.doubleOrStringMember is undefined. |
| |
| Test for explicit undefined or null, and missing members |
| PASS dict.longMember is undefined. |
| PASS dict.longMemberWithDefault is 0 |
| PASS dict.longOrNullMember is undefined. |
| PASS dict.longOrNullMemberWithDefault is null |
| |
| Test for setting invalid member |
| PASS dict.invalidMember is undefined. |
| |
| Test for setting invalid double value |
| PASS dictionaryTest.set({doubleMember: NaN}) threw exception TypeError: Failed to execute 'set' on 'DictionaryTest': The provided double value is non-finite.. |
| PASS dictionaryTest.set({doubleMember: Infinity}) threw exception TypeError: Failed to execute 'set' on 'DictionaryTest': The provided double value is non-finite.. |
| PASS dictionaryTest.set({doubleMember: -Infinity}) threw exception TypeError: Failed to execute 'set' on 'DictionaryTest': The provided double value is non-finite.. |
| PASS dictionaryTest.set({doubleMember: 'invalid'}) threw exception TypeError: Failed to execute 'set' on 'DictionaryTest': The provided double value is non-finite.. |
| |
| Test for setting invalid ByteString value |
| PASS dictionaryTest.set({byteStringMember: 'Ā'}) threw exception TypeError: Failed to execute 'set' on 'DictionaryTest': Value is not a valid ByteString.. |
| |
| Test for setting invalid USVString value |
| PASS dict.usvStringMember is "_�_�_��_" |
| Test for setting invalid enum value |
| PASS dictionaryTest.set({enumMember: 'invalid'}) threw exception TypeError: Failed to execute 'set' on 'DictionaryTest': The provided value 'invalid' is not a valid enum value of type InternalEnum.. |
| PASS dictionaryTest.set({enumArrayMember: ['foo', 'invalid', 'baz']}) threw exception TypeError: Failed to execute 'set' on 'DictionaryTest': The provided value 'invalid' is not a valid enum value of type InternalEnum.. |
| |
| Test for setting invalid object value |
| PASS dictionaryTest.set({objectMember: 42}) threw exception TypeError: Failed to execute 'set' on 'DictionaryTest': member objectMember is not an object.. |
| PASS dictionaryTest.set({objectMember: 'invalid'}) threw exception TypeError: Failed to execute 'set' on 'DictionaryTest': member objectMember is not an object.. |
| |
| Test for setting invalid Element value |
| PASS dictionaryTest.set({elementMember: 42}) threw exception TypeError: Failed to execute 'set' on 'DictionaryTest': member elementMember is not of type Element.. |
| PASS dictionaryTest.set({elementMember: testObject1}) threw exception TypeError: Failed to execute 'set' on 'DictionaryTest': member elementMember is not of type Element.. |
| PASS dictionaryTest.set({elementMember: []}) threw exception TypeError: Failed to execute 'set' on 'DictionaryTest': member elementMember is not of type Element.. |
| PASS dictionaryTest.set({elementMember: document}) threw exception TypeError: Failed to execute 'set' on 'DictionaryTest': member elementMember is not of type Element.. |
| |
| Test for passing invalid dictionary values |
| PASS dictionaryTest.set(42) threw exception TypeError: Failed to execute 'set' on 'DictionaryTest': parameter 1 ('testingDictionary') is not an object.. |
| PASS dictionaryTest.set('string') threw exception TypeError: Failed to execute 'set' on 'DictionaryTest': parameter 1 ('testingDictionary') is not an object.. |
| |
| Test for [Clamp] and [EnforceRange] member |
| PASS dict.longMember is -2147483648 |
| PASS dict.longMemberWithClamp is 2147483647 |
| PASS dictionaryTest.set({ longMemberWithEnforceRange: 2147483648 }) threw exception TypeError: Failed to execute 'set' on 'DictionaryTest': Value is outside the 'long' value range.. |
| |
| Test for [ImplementedAs] and [DeprecateAs] member |
| PASS dict.longMember is 42 |
| |
| Test for passing EventTarget |
| PASS dict.eventTargetOrNullMember is window |
| PASS dict.eventTargetOrNullMember is null |
| PASS dict.eventTargetOrNullMember is null |
| PASS dictionaryTest.set({eventTargetOrNullMember: 'invalid'}) threw exception TypeError: Failed to execute 'set' on 'DictionaryTest': member eventTargetOrNullMember is not of type EventTarget.. |
| PASS dictionaryTest.set({eventTargetOrNullMember: 42}) threw exception TypeError: Failed to execute 'set' on 'DictionaryTest': member eventTargetOrNullMember is not of type EventTarget.. |
| PASS dictionaryTest.set({eventTargetOrNullMember: []}) threw exception TypeError: Failed to execute 'set' on 'DictionaryTest': member eventTargetOrNullMember is not of type EventTarget.. |
| PASS dictionaryTest.set({eventTargetOrNullMember: {}}) threw exception TypeError: Failed to execute 'set' on 'DictionaryTest': member eventTargetOrNullMember is not of type EventTarget.. |
| |
| Test for passing Dictionary (not IDL dictionary) |
| PASS properties.foo is "x" |
| PASS properties.bar is "y" |
| PASS properties.baz is undefined. |
| PASS properties is {} |
| PASS dictionaryTest.set({dictionaryMember: 42}) threw exception TypeError: Failed to execute 'set' on 'DictionaryTest': member dictionaryMember is not an object.. |
| PASS dictionaryTest.set({dictionaryMember: 'foo'}) threw exception TypeError: Failed to execute 'set' on 'DictionaryTest': member dictionaryMember is not an object.. |
| |
| Test for derived dictionary |
| PASS derived.longMember is undefined. |
| PASS derived.longMemberWithDefault is 42 |
| PASS derived.longOrNullMember is undefined. |
| PASS derived.longOrNullMemberWithDefault is null |
| PASS derived.booleanMember is undefined. |
| PASS derived.doubleMember is undefined. |
| PASS derived.stringMember is undefined. |
| PASS derived.stringMemberWithDefault is "defaultStringValue" |
| PASS derived.stringSequenceMember is undefined. |
| PASS derived.stringSequenceMemberWithDefault is [] |
| PASS derived.stringSequenceOrNullMember is undefined. |
| PASS derived.elementMember is undefined. |
| PASS derived.elementOrNullMember is undefined. |
| PASS derived.enumMember is undefined. |
| PASS derived.enumMemberWithDefault is "foo" |
| PASS derived.enumOrNullMember is undefined. |
| PASS derived.objectMember is undefined. |
| PASS derived.objectOrNullMemberWithDefault is null |
| PASS derived.derivedStringMember is undefined. |
| PASS derived.derivedStringMemberWithDefault is "derivedDefaultStringValue" |
| PASS derived.requiredBooleanMember is true |
| |
| PASS derived.longMember is 1 |
| PASS derived.stringMemberWithDefault is "modifiedString" |
| PASS derived.derivedStringMember is "modifiedString2" |
| PASS derived.derivedStringMemberWithDefault is "modifiedString3" |
| PASS derived.invalidMember is undefined. |
| PASS derived.requiredBooleanMember is false |
| |
| Test for passing invalid values as derived dictionary |
| PASS dictionaryTest.setDerived({objectMember: 42, requiredBooleanMember: false }) threw exception TypeError: Failed to execute 'setDerived' on 'DictionaryTest': member objectMember is not an object.. |
| PASS dictionaryTest.setDerived({}) threw exception TypeError: Failed to execute 'setDerived' on 'DictionaryTest': required member requiredBooleanMember is undefined.. |
| PASS successfullyParsed is true |
| |
| TEST COMPLETE |
| |