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

