haikuwebkit/LayoutTests/js/dom/webidl-type-mapping-expecte...

1255 lines
60 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Exercise WebIDL type conversions.
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
converter = window.internals.typeConversions()
PASS 'testLong' in converter is true
PASS typeof converter.testLong === 'number' is true
converter.testLong = 0
PASS converter.testLong is 0
converter.testLong = -0
PASS converter.testLong is 0
converter.testLong = -1
PASS converter.testLong is -1
converter.testLong = 1
PASS converter.testLong is 1
converter.testLong = 0x7F
PASS converter.testLong is 0x7F
converter.testLong = 0x80
PASS converter.testLong is 0x80
converter.testLong = 0xFF
PASS converter.testLong is 0xFF
converter.testLong = -0x80
PASS converter.testLong is -0x80
converter.testLong = -0x81
PASS converter.testLong is -0x81
converter.testLong = 0x7FFF
PASS converter.testLong is 0x7FFF
converter.testLong = 0x8000
PASS converter.testLong is 0x8000
converter.testLong = 0xFFFF
PASS converter.testLong is 0xFFFF
converter.testLong = -0x8000
PASS converter.testLong is -0x8000
converter.testLong = -0x8001
PASS converter.testLong is -0x8001
converter.testLong = 0x7FFFFFFF
PASS converter.testLong is 0x7FFFFFFF
converter.testLong = 0x80000000
PASS converter.testLong is -0x80000000
converter.testLong = 0xFFFFFFFF
PASS converter.testLong is -1
converter.testLong = -0x80000000
PASS converter.testLong is -0x80000000
converter.testLong = -0x80000001
PASS converter.testLong is 0x7FFFFFFF
converter.testLong = 0xDCBA9876543210
PASS converter.testLong is 0x76543210
converter.testLong = Number.MAX_VALUE
PASS converter.testLong is 0
converter.testLong = Number.MIN_VALUE
PASS converter.testLong is 0
converter.testLong = -Number.MAX_VALUE
PASS converter.testLong is 0
converter.testLong = -Number.MIN_VALUE
PASS converter.testLong is 0
converter.testLong = 1.99
PASS converter.testLong is 1
converter.testLong = -1.99
PASS converter.testLong is -1
converter.testLong = Infinity
PASS converter.testLong is 0
converter.testLong = -Infinity
PASS converter.testLong is 0
converter.testLong = NaN
PASS converter.testLong is 0
converter.testLong = false
PASS converter.testLong is 0
converter.testLong = true
PASS converter.testLong is 1
converter.testLong = ''
PASS converter.testLong is 0
converter.testLong = '1'
PASS converter.testLong is 1
converter.testLong = 'abc'
PASS converter.testLong is 0
converter.testLong = null
PASS converter.testLong is 0
converter.testLong = undefined
PASS converter.testLong is 0
PASS converter.testLong = {valueOf:function(){throw new Error('custom');}} threw exception Error: custom.
PASS 'testEnforceRangeLong' in converter is true
PASS typeof converter.testEnforceRangeLong === 'number' is true
converter.testEnforceRangeLong = 0
PASS converter.testEnforceRangeLong is 0
converter.testEnforceRangeLong = -0
PASS converter.testEnforceRangeLong is 0
converter.testEnforceRangeLong = -1
PASS converter.testEnforceRangeLong is -1
converter.testEnforceRangeLong = 1
PASS converter.testEnforceRangeLong is 1
converter.testEnforceRangeLong = 0x7F
PASS converter.testEnforceRangeLong is 0x7F
converter.testEnforceRangeLong = 0x80
PASS converter.testEnforceRangeLong is 0x80
converter.testEnforceRangeLong = 0xFF
PASS converter.testEnforceRangeLong is 0xFF
converter.testEnforceRangeLong = -0x80
PASS converter.testEnforceRangeLong is -0x80
converter.testEnforceRangeLong = -0x81
PASS converter.testEnforceRangeLong is -0x81
converter.testEnforceRangeLong = 0x7FFF
PASS converter.testEnforceRangeLong is 0x7FFF
converter.testEnforceRangeLong = 0x8000
PASS converter.testEnforceRangeLong is 0x8000
converter.testEnforceRangeLong = 0xFFFF
PASS converter.testEnforceRangeLong is 0xFFFF
converter.testEnforceRangeLong = -0x8000
PASS converter.testEnforceRangeLong is -0x8000
converter.testEnforceRangeLong = -0x8001
PASS converter.testEnforceRangeLong is -0x8001
converter.testEnforceRangeLong = 0x7FFFFFFF
PASS converter.testEnforceRangeLong is 0x7FFFFFFF
PASS converter.testEnforceRangeLong = 0x80000000 threw exception TypeError: Value 2147483648 is outside the range [-2147483648, 2147483647].
PASS converter.testEnforceRangeLong = 0xFFFFFFFF threw exception TypeError: Value 4294967295 is outside the range [-2147483648, 2147483647].
converter.testEnforceRangeLong = -0x80000000
PASS converter.testEnforceRangeLong is -0x80000000
PASS converter.testEnforceRangeLong = -0x80000001 threw exception TypeError: Value -2147483649 is outside the range [-2147483648, 2147483647].
PASS converter.testEnforceRangeLong = 0xDCBA9876543210 threw exception TypeError: Value 62129658859368980 is outside the range [-2147483648, 2147483647].
PASS converter.testEnforceRangeLong = Number.MAX_VALUE threw exception TypeError: Value 1.7976931348623157e+308 is outside the range [-2147483648, 2147483647].
converter.testEnforceRangeLong = Number.MIN_VALUE
PASS converter.testEnforceRangeLong is 0
PASS converter.testEnforceRangeLong = -Number.MAX_VALUE threw exception TypeError: Value -1.7976931348623157e+308 is outside the range [-2147483648, 2147483647].
converter.testEnforceRangeLong = -Number.MIN_VALUE
PASS converter.testEnforceRangeLong is 0
converter.testEnforceRangeLong = 1.99
PASS converter.testEnforceRangeLong is 1
converter.testEnforceRangeLong = -1.99
PASS converter.testEnforceRangeLong is -1
PASS converter.testEnforceRangeLong = Infinity threw exception TypeError: Value Infinity is outside the range [-2147483648, 2147483647].
PASS converter.testEnforceRangeLong = -Infinity threw exception TypeError: Value -Infinity is outside the range [-2147483648, 2147483647].
PASS converter.testEnforceRangeLong = NaN threw exception TypeError: Value NaN is outside the range [-2147483648, 2147483647].
converter.testEnforceRangeLong = false
PASS converter.testEnforceRangeLong is 0
converter.testEnforceRangeLong = true
PASS converter.testEnforceRangeLong is 1
converter.testEnforceRangeLong = ''
PASS converter.testEnforceRangeLong is 0
converter.testEnforceRangeLong = '1'
PASS converter.testEnforceRangeLong is 1
PASS converter.testEnforceRangeLong = 'abc' threw exception TypeError: Value NaN is outside the range [-2147483648, 2147483647].
converter.testEnforceRangeLong = null
PASS converter.testEnforceRangeLong is 0
PASS converter.testEnforceRangeLong = undefined threw exception TypeError: Value NaN is outside the range [-2147483648, 2147483647].
PASS converter.testEnforceRangeLong = {valueOf:function(){throw new Error('custom');}} threw exception Error: custom.
PASS 'testUnsignedLong' in converter is true
PASS typeof converter.testUnsignedLong === 'number' is true
converter.testUnsignedLong = 0
PASS converter.testUnsignedLong is 0
converter.testUnsignedLong = -0
PASS converter.testUnsignedLong is 0
converter.testUnsignedLong = -1
PASS converter.testUnsignedLong is 0xFFFFFFFF
converter.testUnsignedLong = 1
PASS converter.testUnsignedLong is 1
converter.testUnsignedLong = 0x7F
PASS converter.testUnsignedLong is 0x7F
converter.testUnsignedLong = 0x80
PASS converter.testUnsignedLong is 0x80
converter.testUnsignedLong = 0xFF
PASS converter.testUnsignedLong is 0xFF
converter.testUnsignedLong = -0x80
PASS converter.testUnsignedLong is 0xFFFFFF80
converter.testUnsignedLong = -0x81
PASS converter.testUnsignedLong is 0xFFFFFF7F
converter.testUnsignedLong = 0x7FFF
PASS converter.testUnsignedLong is 0x7FFF
converter.testUnsignedLong = 0x8000
PASS converter.testUnsignedLong is 0x8000
converter.testUnsignedLong = 0xFFFF
PASS converter.testUnsignedLong is 0xFFFF
converter.testUnsignedLong = -0x8000
PASS converter.testUnsignedLong is 0xFFFF8000
converter.testUnsignedLong = -0x8001
PASS converter.testUnsignedLong is 0xFFFF7FFF
converter.testUnsignedLong = 0x7FFFFFFF
PASS converter.testUnsignedLong is 0x7FFFFFFF
converter.testUnsignedLong = 0x80000000
PASS converter.testUnsignedLong is 0x80000000
converter.testUnsignedLong = 0xFFFFFFFF
PASS converter.testUnsignedLong is 0xFFFFFFFF
converter.testUnsignedLong = -0x80000000
PASS converter.testUnsignedLong is 0x80000000
converter.testUnsignedLong = -0x80000001
PASS converter.testUnsignedLong is 0x7FFFFFFF
converter.testUnsignedLong = 0xDCBA9876543210
PASS converter.testUnsignedLong is 0x76543210
converter.testUnsignedLong = Number.MAX_VALUE
PASS converter.testUnsignedLong is 0
converter.testUnsignedLong = Number.MIN_VALUE
PASS converter.testUnsignedLong is 0
converter.testUnsignedLong = -Number.MAX_VALUE
PASS converter.testUnsignedLong is 0
converter.testUnsignedLong = -Number.MIN_VALUE
PASS converter.testUnsignedLong is 0
converter.testUnsignedLong = 1.99
PASS converter.testUnsignedLong is 1
converter.testUnsignedLong = -1.99
PASS converter.testUnsignedLong is 0xFFFFFFFF
converter.testUnsignedLong = Infinity
PASS converter.testUnsignedLong is 0
converter.testUnsignedLong = -Infinity
PASS converter.testUnsignedLong is 0
converter.testUnsignedLong = NaN
PASS converter.testUnsignedLong is 0
converter.testUnsignedLong = false
PASS converter.testUnsignedLong is 0
converter.testUnsignedLong = true
PASS converter.testUnsignedLong is 1
converter.testUnsignedLong = ''
PASS converter.testUnsignedLong is 0
converter.testUnsignedLong = '1'
PASS converter.testUnsignedLong is 1
converter.testUnsignedLong = 'abc'
PASS converter.testUnsignedLong is 0
converter.testUnsignedLong = null
PASS converter.testUnsignedLong is 0
converter.testUnsignedLong = undefined
PASS converter.testUnsignedLong is 0
PASS converter.testUnsignedLong = {valueOf:function(){throw new Error('custom');}} threw exception Error: custom.
PASS 'testEnforceRangeUnsignedLong' in converter is true
PASS typeof converter.testEnforceRangeUnsignedLong === 'number' is true
converter.testEnforceRangeUnsignedLong = 0
PASS converter.testEnforceRangeUnsignedLong is 0
converter.testEnforceRangeUnsignedLong = -0
PASS converter.testEnforceRangeUnsignedLong is 0
PASS converter.testEnforceRangeUnsignedLong = -1 threw exception TypeError: Value -1 is outside the range [0, 4294967295].
converter.testEnforceRangeUnsignedLong = 1
PASS converter.testEnforceRangeUnsignedLong is 1
converter.testEnforceRangeUnsignedLong = 0x7F
PASS converter.testEnforceRangeUnsignedLong is 0x7F
converter.testEnforceRangeUnsignedLong = 0x80
PASS converter.testEnforceRangeUnsignedLong is 0x80
converter.testEnforceRangeUnsignedLong = 0xFF
PASS converter.testEnforceRangeUnsignedLong is 0xFF
PASS converter.testEnforceRangeUnsignedLong = -0x80 threw exception TypeError: Value -128 is outside the range [0, 4294967295].
PASS converter.testEnforceRangeUnsignedLong = -0x81 threw exception TypeError: Value -129 is outside the range [0, 4294967295].
converter.testEnforceRangeUnsignedLong = 0x7FFF
PASS converter.testEnforceRangeUnsignedLong is 0x7FFF
converter.testEnforceRangeUnsignedLong = 0x8000
PASS converter.testEnforceRangeUnsignedLong is 0x8000
converter.testEnforceRangeUnsignedLong = 0xFFFF
PASS converter.testEnforceRangeUnsignedLong is 0xFFFF
PASS converter.testEnforceRangeUnsignedLong = -0x8000 threw exception TypeError: Value -32768 is outside the range [0, 4294967295].
PASS converter.testEnforceRangeUnsignedLong = -0x8001 threw exception TypeError: Value -32769 is outside the range [0, 4294967295].
converter.testEnforceRangeUnsignedLong = 0x7FFFFFFF
PASS converter.testEnforceRangeUnsignedLong is 0x7FFFFFFF
converter.testEnforceRangeUnsignedLong = 0x80000000
PASS converter.testEnforceRangeUnsignedLong is 0x80000000
converter.testEnforceRangeUnsignedLong = 0xFFFFFFFF
PASS converter.testEnforceRangeUnsignedLong is 0xFFFFFFFF
PASS converter.testEnforceRangeUnsignedLong = -0x80000000 threw exception TypeError: Value -2147483648 is outside the range [0, 4294967295].
PASS converter.testEnforceRangeUnsignedLong = -0x80000001 threw exception TypeError: Value -2147483649 is outside the range [0, 4294967295].
PASS converter.testEnforceRangeUnsignedLong = 0xDCBA9876543210 threw exception TypeError: Value 62129658859368980 is outside the range [0, 4294967295].
PASS converter.testEnforceRangeUnsignedLong = Number.MAX_VALUE threw exception TypeError: Value 1.7976931348623157e+308 is outside the range [0, 4294967295].
converter.testEnforceRangeUnsignedLong = Number.MIN_VALUE
PASS converter.testEnforceRangeUnsignedLong is 0
PASS converter.testEnforceRangeUnsignedLong = -Number.MAX_VALUE threw exception TypeError: Value -1.7976931348623157e+308 is outside the range [0, 4294967295].
converter.testEnforceRangeUnsignedLong = -Number.MIN_VALUE
PASS converter.testEnforceRangeUnsignedLong is 0
converter.testEnforceRangeUnsignedLong = 1.99
PASS converter.testEnforceRangeUnsignedLong is 1
PASS converter.testEnforceRangeUnsignedLong = -1.99 threw exception TypeError: Value -1 is outside the range [0, 4294967295].
PASS converter.testEnforceRangeUnsignedLong = Infinity threw exception TypeError: Value Infinity is outside the range [0, 4294967295].
PASS converter.testEnforceRangeUnsignedLong = -Infinity threw exception TypeError: Value -Infinity is outside the range [0, 4294967295].
PASS converter.testEnforceRangeUnsignedLong = NaN threw exception TypeError: Value NaN is outside the range [0, 4294967295].
converter.testEnforceRangeUnsignedLong = false
PASS converter.testEnforceRangeUnsignedLong is 0
converter.testEnforceRangeUnsignedLong = true
PASS converter.testEnforceRangeUnsignedLong is 1
converter.testEnforceRangeUnsignedLong = ''
PASS converter.testEnforceRangeUnsignedLong is 0
converter.testEnforceRangeUnsignedLong = '1'
PASS converter.testEnforceRangeUnsignedLong is 1
PASS converter.testEnforceRangeUnsignedLong = 'abc' threw exception TypeError: Value NaN is outside the range [0, 4294967295].
converter.testEnforceRangeUnsignedLong = null
PASS converter.testEnforceRangeUnsignedLong is 0
PASS converter.testEnforceRangeUnsignedLong = undefined threw exception TypeError: Value NaN is outside the range [0, 4294967295].
PASS converter.testEnforceRangeUnsignedLong = {valueOf:function(){throw new Error('custom');}} threw exception Error: custom.
PASS 'testLongLong' in converter is true
PASS typeof converter.testLongLong === 'number' is true
converter.testLongLong = 0
PASS converter.testLongLong is 0
converter.testLongLong = -0
PASS converter.testLongLong is 0
converter.testLongLong = -1
PASS converter.testLongLong is -1
converter.testLongLong = 1
PASS converter.testLongLong is 1
converter.testLongLong = 0x7F
PASS converter.testLongLong is 0x7F
converter.testLongLong = 0x80
PASS converter.testLongLong is 0x80
converter.testLongLong = 0xFF
PASS converter.testLongLong is 0xFF
converter.testLongLong = -0x80
PASS converter.testLongLong is -0x80
converter.testLongLong = -0x81
PASS converter.testLongLong is -0x81
converter.testLongLong = 0x7FFF
PASS converter.testLongLong is 0x7FFF
converter.testLongLong = 0x8000
PASS converter.testLongLong is 0x8000
converter.testLongLong = 0xFFFF
PASS converter.testLongLong is 0xFFFF
converter.testLongLong = -0x8000
PASS converter.testLongLong is -0x8000
converter.testLongLong = -0x8001
PASS converter.testLongLong is -0x8001
converter.testLongLong = 0x7FFFFFFF
PASS converter.testLongLong is 0x7FFFFFFF
converter.testLongLong = 0x80000000
PASS converter.testLongLong is 0x80000000
converter.testLongLong = 0xFFFFFFFF
PASS converter.testLongLong is 0xFFFFFFFF
converter.testLongLong = -0x80000000
PASS converter.testLongLong is -0x80000000
converter.testLongLong = -0x80000001
PASS converter.testLongLong is -0x80000001
converter.testLongLong = 0xDCBA9876543210
PASS converter.testLongLong is 0xDCBA9876543210
converter.testLongLong = Number.MIN_VALUE
PASS converter.testLongLong is 0
converter.testLongLong = -Number.MIN_VALUE
PASS converter.testLongLong is 0
converter.testLongLong = Number.MAX_VALUE
PASS converter.testLongLong is 0
converter.testLongLong = -Number.MAX_VALUE
PASS converter.testLongLong is 0
converter.testLongLong = 1.99
PASS converter.testLongLong is 1
converter.testLongLong = -1.99
PASS converter.testLongLong is -1
converter.testLongLong = Infinity
PASS converter.testLongLong is 0
converter.testLongLong = -Infinity
PASS converter.testLongLong is 0
converter.testLongLong = NaN
PASS converter.testLongLong is 0
converter.testLongLong = false
PASS converter.testLongLong is 0
converter.testLongLong = true
PASS converter.testLongLong is 1
converter.testLongLong = ''
PASS converter.testLongLong is 0
converter.testLongLong = '1'
PASS converter.testLongLong is 1
converter.testLongLong = 'abc'
PASS converter.testLongLong is 0
converter.testLongLong = null
PASS converter.testLongLong is 0
converter.testLongLong = undefined
PASS converter.testLongLong is 0
PASS converter.testLongLong = {valueOf:function(){throw new Error('custom');}} threw exception Error: custom.
PASS 'testEnforceRangeLongLong' in converter is true
PASS typeof converter.testEnforceRangeLongLong === 'number' is true
converter.testEnforceRangeLongLong = 0
PASS converter.testEnforceRangeLongLong is 0
converter.testEnforceRangeLongLong = -0
PASS converter.testEnforceRangeLongLong is 0
converter.testEnforceRangeLongLong = -1
PASS converter.testEnforceRangeLongLong is -1
converter.testEnforceRangeLongLong = 1
PASS converter.testEnforceRangeLongLong is 1
converter.testEnforceRangeLongLong = 0x7F
PASS converter.testEnforceRangeLongLong is 0x7F
converter.testEnforceRangeLongLong = 0x80
PASS converter.testEnforceRangeLongLong is 0x80
converter.testEnforceRangeLongLong = 0xFF
PASS converter.testEnforceRangeLongLong is 0xFF
converter.testEnforceRangeLongLong = -0x80
PASS converter.testEnforceRangeLongLong is -0x80
converter.testEnforceRangeLongLong = -0x81
PASS converter.testEnforceRangeLongLong is -0x81
converter.testEnforceRangeLongLong = 0x7FFF
PASS converter.testEnforceRangeLongLong is 0x7FFF
converter.testEnforceRangeLongLong = 0x8000
PASS converter.testEnforceRangeLongLong is 0x8000
converter.testEnforceRangeLongLong = 0xFFFF
PASS converter.testEnforceRangeLongLong is 0xFFFF
converter.testEnforceRangeLongLong = -0x8000
PASS converter.testEnforceRangeLongLong is -0x8000
converter.testEnforceRangeLongLong = -0x8001
PASS converter.testEnforceRangeLongLong is -0x8001
converter.testEnforceRangeLongLong = 0x7FFFFFFF
PASS converter.testEnforceRangeLongLong is 0x7FFFFFFF
converter.testEnforceRangeLongLong = 0x80000000
PASS converter.testEnforceRangeLongLong is 0x80000000
converter.testEnforceRangeLongLong = 0xFFFFFFFF
PASS converter.testEnforceRangeLongLong is 0xFFFFFFFF
converter.testEnforceRangeLongLong = -0x80000000
PASS converter.testEnforceRangeLongLong is -0x80000000
converter.testEnforceRangeLongLong = -0x80000001
PASS converter.testEnforceRangeLongLong is -0x80000001
PASS converter.testEnforceRangeLongLong = 0xDCBA9876543210 threw exception TypeError: Value 62129658859368980 is outside the range [-9007199254740991, 9007199254740991].
converter.testEnforceRangeLongLong = Number.MIN_VALUE
PASS converter.testEnforceRangeLongLong is 0
converter.testEnforceRangeLongLong = -Number.MIN_VALUE
PASS converter.testEnforceRangeLongLong is 0
PASS converter.testEnforceRangeLongLong = Number.MAX_VALUE threw exception TypeError: Value 1.7976931348623157e+308 is outside the range [-9007199254740991, 9007199254740991].
PASS converter.testEnforceRangeLongLong = -Number.MAX_VALUE threw exception TypeError: Value -1.7976931348623157e+308 is outside the range [-9007199254740991, 9007199254740991].
converter.testEnforceRangeLongLong = 1.99
PASS converter.testEnforceRangeLongLong is 1
converter.testEnforceRangeLongLong = -1.99
PASS converter.testEnforceRangeLongLong is -1
PASS converter.testEnforceRangeLongLong = Infinity threw exception TypeError: Value Infinity is outside the range [-9007199254740991, 9007199254740991].
PASS converter.testEnforceRangeLongLong = -Infinity threw exception TypeError: Value -Infinity is outside the range [-9007199254740991, 9007199254740991].
PASS converter.testEnforceRangeLongLong = NaN threw exception TypeError: Value NaN is outside the range [-9007199254740991, 9007199254740991].
converter.testEnforceRangeLongLong = false
PASS converter.testEnforceRangeLongLong is 0
converter.testEnforceRangeLongLong = true
PASS converter.testEnforceRangeLongLong is 1
converter.testEnforceRangeLongLong = ''
PASS converter.testEnforceRangeLongLong is 0
converter.testEnforceRangeLongLong = '1'
PASS converter.testEnforceRangeLongLong is 1
PASS converter.testEnforceRangeLongLong = 'abc' threw exception TypeError: Value NaN is outside the range [-9007199254740991, 9007199254740991].
converter.testEnforceRangeLongLong = null
PASS converter.testEnforceRangeLongLong is 0
PASS converter.testEnforceRangeLongLong = undefined threw exception TypeError: Value NaN is outside the range [-9007199254740991, 9007199254740991].
PASS converter.testEnforceRangeLongLong = {valueOf:function(){throw new Error('custom');}} threw exception Error: custom.
PASS 'testUnsignedLongLong' in converter is true
PASS typeof converter.testUnsignedLongLong === 'number' is true
converter.testUnsignedLongLong = 0
PASS converter.testUnsignedLongLong is 0
converter.testUnsignedLongLong = -0
PASS converter.testUnsignedLongLong is 0
converter.testUnsignedLongLong = -1
PASS converter.testUnsignedLongLong is 0xFFFFFFFFFFFFFFFF
converter.testUnsignedLongLong = 1
PASS converter.testUnsignedLongLong is 1
converter.testUnsignedLongLong = 0x7F
PASS converter.testUnsignedLongLong is 0x7F
converter.testUnsignedLongLong = 0x80
PASS converter.testUnsignedLongLong is 0x80
converter.testUnsignedLongLong = 0xFF
PASS converter.testUnsignedLongLong is 0xFF
converter.testUnsignedLongLong = -0x80
PASS converter.testUnsignedLongLong is 0xFFFFFFFFFFFFFF80
converter.testUnsignedLongLong = -0x81
PASS converter.testUnsignedLongLong is 0xFFFFFFFFFFFFFF7F
converter.testUnsignedLongLong = 0x7FFF
PASS converter.testUnsignedLongLong is 0x7FFF
converter.testUnsignedLongLong = 0x8000
PASS converter.testUnsignedLongLong is 0x8000
converter.testUnsignedLongLong = 0xFFFF
PASS converter.testUnsignedLongLong is 0xFFFF
converter.testUnsignedLongLong = -0x8000
PASS converter.testUnsignedLongLong is 0xFFFFFFFFFFFF8000
converter.testUnsignedLongLong = -0x8001
PASS converter.testUnsignedLongLong is 0xFFFFFFFFFFFF7FFF
converter.testUnsignedLongLong = 0x7FFFFFFF
PASS converter.testUnsignedLongLong is 0x7FFFFFFF
converter.testUnsignedLongLong = 0x80000000
PASS converter.testUnsignedLongLong is 0x80000000
converter.testUnsignedLongLong = 0xFFFFFFFF
PASS converter.testUnsignedLongLong is 0xFFFFFFFF
converter.testUnsignedLongLong = -0x80000000
PASS converter.testUnsignedLongLong is 0xFFFFFFFF80000000
converter.testUnsignedLongLong = -0x80000001
PASS converter.testUnsignedLongLong is 0xFFFFFFFF7FFFFFFF
converter.testUnsignedLongLong = 0xDCBA9876543210
PASS converter.testUnsignedLongLong is 0xDCBA9876543210
converter.testUnsignedLongLong = Number.MIN_VALUE
PASS converter.testUnsignedLongLong is 0
converter.testUnsignedLongLong = -Number.MIN_VALUE
PASS converter.testUnsignedLongLong is 0
converter.testUnsignedLongLong = Number.MAX_VALUE
PASS converter.testUnsignedLongLong is 0
converter.testUnsignedLongLong = -Number.MAX_VALUE
PASS converter.testUnsignedLongLong is 0
converter.testUnsignedLongLong = 1.99
PASS converter.testUnsignedLongLong is 1
converter.testUnsignedLongLong = -1.99
PASS converter.testUnsignedLongLong is 0xFFFFFFFFFFFFFFFF
converter.testUnsignedLongLong = Infinity
PASS converter.testUnsignedLongLong is 0
converter.testUnsignedLongLong = -Infinity
PASS converter.testUnsignedLongLong is 0
converter.testUnsignedLongLong = NaN
PASS converter.testUnsignedLongLong is 0
converter.testUnsignedLongLong = false
PASS converter.testUnsignedLongLong is 0
converter.testUnsignedLongLong = true
PASS converter.testUnsignedLongLong is 1
converter.testUnsignedLongLong = ''
PASS converter.testUnsignedLongLong is 0
converter.testUnsignedLongLong = '1'
PASS converter.testUnsignedLongLong is 1
converter.testUnsignedLongLong = 'abc'
PASS converter.testUnsignedLongLong is 0
converter.testUnsignedLongLong = null
PASS converter.testUnsignedLongLong is 0
converter.testUnsignedLongLong = undefined
PASS converter.testUnsignedLongLong is 0
PASS converter.testUnsignedLongLong = {valueOf:function(){throw new Error('custom');}} threw exception Error: custom.
PASS 'testEnforceRangeUnsignedLongLong' in converter is true
PASS typeof converter.testEnforceRangeUnsignedLongLong === 'number' is true
converter.testEnforceRangeUnsignedLongLong = 0
PASS converter.testEnforceRangeUnsignedLongLong is 0
converter.testEnforceRangeUnsignedLongLong = -0
PASS converter.testEnforceRangeUnsignedLongLong is 0
PASS converter.testEnforceRangeUnsignedLongLong = -1 threw exception TypeError: Value -1 is outside the range [0, 9007199254740991].
converter.testEnforceRangeUnsignedLongLong = 1
PASS converter.testEnforceRangeUnsignedLongLong is 1
converter.testEnforceRangeUnsignedLongLong = 0x7F
PASS converter.testEnforceRangeUnsignedLongLong is 0x7F
converter.testEnforceRangeUnsignedLongLong = 0x80
PASS converter.testEnforceRangeUnsignedLongLong is 0x80
converter.testEnforceRangeUnsignedLongLong = 0xFF
PASS converter.testEnforceRangeUnsignedLongLong is 0xFF
PASS converter.testEnforceRangeUnsignedLongLong = -0x80 threw exception TypeError: Value -128 is outside the range [0, 9007199254740991].
PASS converter.testEnforceRangeUnsignedLongLong = -0x81 threw exception TypeError: Value -129 is outside the range [0, 9007199254740991].
converter.testEnforceRangeUnsignedLongLong = 0x7FFF
PASS converter.testEnforceRangeUnsignedLongLong is 0x7FFF
converter.testEnforceRangeUnsignedLongLong = 0x8000
PASS converter.testEnforceRangeUnsignedLongLong is 0x8000
converter.testEnforceRangeUnsignedLongLong = 0xFFFF
PASS converter.testEnforceRangeUnsignedLongLong is 0xFFFF
PASS converter.testEnforceRangeUnsignedLongLong = -0x8000 threw exception TypeError: Value -32768 is outside the range [0, 9007199254740991].
PASS converter.testEnforceRangeUnsignedLongLong = -0x8001 threw exception TypeError: Value -32769 is outside the range [0, 9007199254740991].
converter.testEnforceRangeUnsignedLongLong = 0x7FFFFFFF
PASS converter.testEnforceRangeUnsignedLongLong is 0x7FFFFFFF
converter.testEnforceRangeUnsignedLongLong = 0x80000000
PASS converter.testEnforceRangeUnsignedLongLong is 0x80000000
converter.testEnforceRangeUnsignedLongLong = 0xFFFFFFFF
PASS converter.testEnforceRangeUnsignedLongLong is 0xFFFFFFFF
PASS converter.testEnforceRangeUnsignedLongLong = -0x80000000 threw exception TypeError: Value -2147483648 is outside the range [0, 9007199254740991].
PASS converter.testEnforceRangeUnsignedLongLong = -0x80000001 threw exception TypeError: Value -2147483649 is outside the range [0, 9007199254740991].
PASS converter.testEnforceRangeUnsignedLongLong = 0xDCBA9876543210 threw exception TypeError: Value 62129658859368980 is outside the range [0, 9007199254740991].
converter.testEnforceRangeUnsignedLongLong = Number.MIN_VALUE
PASS converter.testEnforceRangeUnsignedLongLong is 0
converter.testEnforceRangeUnsignedLongLong = -Number.MIN_VALUE
PASS converter.testEnforceRangeUnsignedLongLong is 0
PASS converter.testEnforceRangeUnsignedLongLong = Number.MAX_VALUE threw exception TypeError: Value 1.7976931348623157e+308 is outside the range [0, 9007199254740991].
PASS converter.testEnforceRangeUnsignedLongLong = -Number.MAX_VALUE threw exception TypeError: Value -1.7976931348623157e+308 is outside the range [0, 9007199254740991].
converter.testEnforceRangeUnsignedLongLong = 1.99
PASS converter.testEnforceRangeUnsignedLongLong is 1
PASS converter.testEnforceRangeUnsignedLongLong = -1.99 threw exception TypeError: Value -1 is outside the range [0, 9007199254740991].
PASS converter.testEnforceRangeUnsignedLongLong = Infinity threw exception TypeError: Value Infinity is outside the range [0, 9007199254740991].
PASS converter.testEnforceRangeUnsignedLongLong = -Infinity threw exception TypeError: Value -Infinity is outside the range [0, 9007199254740991].
PASS converter.testEnforceRangeUnsignedLongLong = NaN threw exception TypeError: Value NaN is outside the range [0, 9007199254740991].
converter.testEnforceRangeUnsignedLongLong = false
PASS converter.testEnforceRangeUnsignedLongLong is 0
converter.testEnforceRangeUnsignedLongLong = true
PASS converter.testEnforceRangeUnsignedLongLong is 1
converter.testEnforceRangeUnsignedLongLong = ''
PASS converter.testEnforceRangeUnsignedLongLong is 0
converter.testEnforceRangeUnsignedLongLong = '1'
PASS converter.testEnforceRangeUnsignedLongLong is 1
PASS converter.testEnforceRangeUnsignedLongLong = 'abc' threw exception TypeError: Value NaN is outside the range [0, 9007199254740991].
converter.testEnforceRangeUnsignedLongLong = null
PASS converter.testEnforceRangeUnsignedLongLong is 0
PASS converter.testEnforceRangeUnsignedLongLong = undefined threw exception TypeError: Value NaN is outside the range [0, 9007199254740991].
PASS converter.testEnforceRangeUnsignedLongLong = {valueOf:function(){throw new Error('custom');}} threw exception Error: custom.
PASS 'testByte' in converter is true
PASS typeof converter.testByte === 'number' is true
converter.testByte = 0
PASS converter.testByte is 0
converter.testByte = -0
PASS converter.testByte is 0
converter.testByte = -1
PASS converter.testByte is -1
converter.testByte = 1
PASS converter.testByte is 1
converter.testByte = 0x7F
PASS converter.testByte is 0x7F
converter.testByte = 0x80
PASS converter.testByte is -0x80
converter.testByte = -0x7F
PASS converter.testByte is -0x7F
converter.testByte = -0x80
PASS converter.testByte is -0x80
converter.testByte = -0x81
PASS converter.testByte is 0x7F
converter.testByte = Number.MIN_VALUE
PASS converter.testByte is 0
converter.testByte = -Number.MIN_VALUE
PASS converter.testByte is 0
converter.testByte = Number.MAX_VALUE
PASS converter.testByte is 0
converter.testByte = -Number.MAX_VALUE
PASS converter.testByte is 0
converter.testByte = 1.99
PASS converter.testByte is 1
converter.testByte = -1.99
PASS converter.testByte is -1
converter.testByte = Infinity
PASS converter.testByte is 0
converter.testByte = -Infinity
PASS converter.testByte is 0
converter.testByte = NaN
PASS converter.testByte is 0
converter.testByte = false
PASS converter.testByte is 0
converter.testByte = true
PASS converter.testByte is 1
converter.testByte = ''
PASS converter.testByte is 0
converter.testByte = '1'
PASS converter.testByte is 1
converter.testByte = 'abc'
PASS converter.testByte is 0
converter.testByte = null
PASS converter.testByte is 0
converter.testByte = undefined
PASS converter.testByte is 0
PASS converter.testByte = {valueOf:function(){throw new Error('custom');}} threw exception Error: custom.
PASS 'testEnforceRangeByte' in converter is true
PASS typeof converter.testEnforceRangeByte === 'number' is true
converter.testEnforceRangeByte = 0
PASS converter.testEnforceRangeByte is 0
converter.testEnforceRangeByte = -0
PASS converter.testEnforceRangeByte is 0
converter.testEnforceRangeByte = -1
PASS converter.testEnforceRangeByte is -1
converter.testEnforceRangeByte = 1
PASS converter.testEnforceRangeByte is 1
converter.testEnforceRangeByte = 0x7F
PASS converter.testEnforceRangeByte is 0x7F
PASS converter.testEnforceRangeByte = 0x80 threw exception TypeError: Type error.
converter.testEnforceRangeByte = -0x7F
PASS converter.testEnforceRangeByte is -0x7F
converter.testEnforceRangeByte = -0x80
PASS converter.testEnforceRangeByte is -0x80
PASS converter.testEnforceRangeByte = -0x81 threw exception TypeError: Type error.
converter.testEnforceRangeByte = Number.MIN_VALUE
PASS converter.testEnforceRangeByte is 0
converter.testEnforceRangeByte = -Number.MIN_VALUE
PASS converter.testEnforceRangeByte is 0
PASS converter.testEnforceRangeByte = Number.MAX_VALUE threw exception TypeError: Value 1.7976931348623157e+308 is outside the range [-128, 127].
PASS converter.testEnforceRangeByte = -Number.MAX_VALUE threw exception TypeError: Value -1.7976931348623157e+308 is outside the range [-128, 127].
converter.testEnforceRangeByte = 1.99
PASS converter.testEnforceRangeByte is 1
converter.testEnforceRangeByte = -1.99
PASS converter.testEnforceRangeByte is -1
PASS converter.testEnforceRangeByte = Infinity threw exception TypeError: Value Infinity is outside the range [-128, 127].
PASS converter.testEnforceRangeByte = -Infinity threw exception TypeError: Value -Infinity is outside the range [-128, 127].
PASS converter.testEnforceRangeByte = NaN threw exception TypeError: Value NaN is outside the range [-128, 127].
converter.testEnforceRangeByte = false
PASS converter.testEnforceRangeByte is 0
converter.testEnforceRangeByte = true
PASS converter.testEnforceRangeByte is 1
converter.testEnforceRangeByte = ''
PASS converter.testEnforceRangeByte is 0
converter.testEnforceRangeByte = '1'
PASS converter.testEnforceRangeByte is 1
PASS converter.testEnforceRangeByte = 'abc' threw exception TypeError: Value NaN is outside the range [-128, 127].
converter.testEnforceRangeByte = null
PASS converter.testEnforceRangeByte is 0
PASS converter.testEnforceRangeByte = undefined threw exception TypeError: Value NaN is outside the range [-128, 127].
PASS converter.testEnforceRangeByte = {valueOf:function(){throw new Error('custom');}} threw exception Error: custom.
PASS 'testOctet' in converter is true
PASS typeof converter.testOctet === 'number' is true
converter.testOctet = 0
PASS converter.testOctet is 0
converter.testOctet = -0
PASS converter.testOctet is 0
converter.testOctet = -1
PASS converter.testOctet is 0xFF
converter.testOctet = 1
PASS converter.testOctet is 1
converter.testOctet = 0x7F
PASS converter.testOctet is 0x7F
converter.testOctet = 0x80
PASS converter.testOctet is 0x80
converter.testOctet = 0xFF
PASS converter.testOctet is 0xFF
converter.testOctet = 0x100
PASS converter.testOctet is 0
converter.testOctet = 0x101
PASS converter.testOctet is 1
converter.testOctet = -0x80
PASS converter.testOctet is 0x80
converter.testOctet = -0x81
PASS converter.testOctet is 0x7F
converter.testOctet = Number.MAX_VALUE
PASS converter.testOctet is 0
converter.testOctet = Number.MIN_VALUE
PASS converter.testOctet is 0
converter.testOctet = -Number.MAX_VALUE
PASS converter.testOctet is 0
converter.testOctet = -Number.MIN_VALUE
PASS converter.testOctet is 0
converter.testOctet = 1.99
PASS converter.testOctet is 1
converter.testOctet = -1.99
PASS converter.testOctet is 0xFF
converter.testOctet = Infinity
PASS converter.testOctet is 0
converter.testOctet = -Infinity
PASS converter.testOctet is 0
converter.testOctet = NaN
PASS converter.testOctet is 0
converter.testOctet = false
PASS converter.testOctet is 0
converter.testOctet = true
PASS converter.testOctet is 1
converter.testOctet = ''
PASS converter.testOctet is 0
converter.testOctet = '1'
PASS converter.testOctet is 1
converter.testOctet = 'abc'
PASS converter.testOctet is 0
converter.testOctet = null
PASS converter.testOctet is 0
converter.testOctet = undefined
PASS converter.testOctet is 0
PASS converter.testOctet = {valueOf:function(){throw new Error('custom');}} threw exception Error: custom.
PASS 'testEnforceRangeOctet' in converter is true
PASS typeof converter.testEnforceRangeOctet === 'number' is true
converter.testEnforceRangeOctet = 0
PASS converter.testEnforceRangeOctet is 0
converter.testEnforceRangeOctet = -0
PASS converter.testEnforceRangeOctet is 0
PASS converter.testEnforceRangeOctet = -1 threw exception TypeError: Value -1 is outside the range [0, 255].
converter.testEnforceRangeOctet = 1
PASS converter.testEnforceRangeOctet is 1
converter.testEnforceRangeOctet = 0x7F
PASS converter.testEnforceRangeOctet is 0x7F
converter.testEnforceRangeOctet = 0x80
PASS converter.testEnforceRangeOctet is 0x80
converter.testEnforceRangeOctet = 0xFF
PASS converter.testEnforceRangeOctet is 0xFF
PASS converter.testEnforceRangeOctet = 0x100 threw exception TypeError: Type error.
PASS converter.testEnforceRangeOctet = 0x101 threw exception TypeError: Type error.
PASS converter.testEnforceRangeOctet = -0x80 threw exception TypeError: Value -128 is outside the range [0, 255].
PASS converter.testEnforceRangeOctet = -0x81 threw exception TypeError: Value -129 is outside the range [0, 255].
PASS converter.testEnforceRangeOctet = Number.MAX_VALUE threw exception TypeError: Value 1.7976931348623157e+308 is outside the range [0, 255].
converter.testEnforceRangeOctet = Number.MIN_VALUE
PASS converter.testEnforceRangeOctet is 0
PASS converter.testEnforceRangeOctet = -Number.MAX_VALUE threw exception TypeError: Value -1.7976931348623157e+308 is outside the range [0, 255].
converter.testEnforceRangeOctet = -Number.MIN_VALUE
PASS converter.testEnforceRangeOctet is 0
converter.testEnforceRangeOctet = 1.99
PASS converter.testEnforceRangeOctet is 1
PASS converter.testEnforceRangeOctet = -1.99 threw exception TypeError: Value -1 is outside the range [0, 255].
PASS converter.testEnforceRangeOctet = Infinity threw exception TypeError: Value Infinity is outside the range [0, 255].
PASS converter.testEnforceRangeOctet = -Infinity threw exception TypeError: Value -Infinity is outside the range [0, 255].
PASS converter.testEnforceRangeOctet = NaN threw exception TypeError: Value NaN is outside the range [0, 255].
converter.testEnforceRangeOctet = false
PASS converter.testEnforceRangeOctet is 0
converter.testEnforceRangeOctet = true
PASS converter.testEnforceRangeOctet is 1
converter.testEnforceRangeOctet = ''
PASS converter.testEnforceRangeOctet is 0
converter.testEnforceRangeOctet = '1'
PASS converter.testEnforceRangeOctet is 1
PASS converter.testEnforceRangeOctet = 'abc' threw exception TypeError: Value NaN is outside the range [0, 255].
converter.testEnforceRangeOctet = null
PASS converter.testEnforceRangeOctet is 0
PASS converter.testEnforceRangeOctet = undefined threw exception TypeError: Value NaN is outside the range [0, 255].
PASS converter.testEnforceRangeOctet = {valueOf:function(){throw new Error('custom');}} threw exception Error: custom.
PASS 'testShort' in converter is true
PASS typeof converter.testShort === 'number' is true
converter.testShort = 0
PASS converter.testShort is 0
converter.testShort = -0
PASS converter.testShort is 0
converter.testShort = -1
PASS converter.testShort is -1
converter.testShort = 1
PASS converter.testShort is 1
converter.testShort = 0x7F
PASS converter.testShort is 0x7F
converter.testShort = 0x80
PASS converter.testShort is 0x80
converter.testShort = 0xFF
PASS converter.testShort is 0xFF
converter.testShort = -0x80
PASS converter.testShort is -0x80
converter.testShort = -0x81
PASS converter.testShort is -0x81
converter.testShort = 0x7FFF
PASS converter.testShort is 0x7FFF
converter.testShort = 0x8000
PASS converter.testShort is -0x8000
converter.testShort = 0xFFFF
PASS converter.testShort is -1
converter.testShort = -0x8000
PASS converter.testShort is -0x8000
converter.testShort = -0x8001
PASS converter.testShort is 0x7FFF
converter.testShort = 0xDCBA9876543210
PASS converter.testShort is 0x3210
converter.testShort = Number.MAX_VALUE
PASS converter.testShort is 0
converter.testShort = Number.MIN_VALUE
PASS converter.testShort is 0
converter.testShort = -Number.MAX_VALUE
PASS converter.testShort is 0
converter.testShort = -Number.MIN_VALUE
PASS converter.testShort is 0
converter.testShort = 1.99
PASS converter.testShort is 1
converter.testShort = -1.99
PASS converter.testShort is -1
converter.testShort = Infinity
PASS converter.testShort is 0
converter.testShort = -Infinity
PASS converter.testShort is 0
converter.testShort = NaN
PASS converter.testShort is 0
converter.testShort = false
PASS converter.testShort is 0
converter.testShort = true
PASS converter.testShort is 1
converter.testShort = ''
PASS converter.testShort is 0
converter.testShort = '1'
PASS converter.testShort is 1
converter.testShort = 'abc'
PASS converter.testShort is 0
converter.testShort = null
PASS converter.testShort is 0
converter.testShort = undefined
PASS converter.testShort is 0
PASS converter.testShort = {valueOf:function(){throw new Error('custom');}} threw exception Error: custom.
PASS 'testEnforceRangeShort' in converter is true
PASS typeof converter.testEnforceRangeShort === 'number' is true
converter.testEnforceRangeShort = 0
PASS converter.testEnforceRangeShort is 0
converter.testEnforceRangeShort = -0
PASS converter.testEnforceRangeShort is 0
converter.testEnforceRangeShort = -1
PASS converter.testEnforceRangeShort is -1
converter.testEnforceRangeShort = 1
PASS converter.testEnforceRangeShort is 1
converter.testEnforceRangeShort = 0x7F
PASS converter.testEnforceRangeShort is 0x7F
converter.testEnforceRangeShort = 0x80
PASS converter.testEnforceRangeShort is 0x80
converter.testEnforceRangeShort = 0xFF
PASS converter.testEnforceRangeShort is 0xFF
converter.testEnforceRangeShort = -0x80
PASS converter.testEnforceRangeShort is -0x80
converter.testEnforceRangeShort = -0x81
PASS converter.testEnforceRangeShort is -0x81
converter.testEnforceRangeShort = 0x7FFF
PASS converter.testEnforceRangeShort is 0x7FFF
PASS converter.testEnforceRangeShort = 0x8000 threw exception TypeError: Type error.
PASS converter.testEnforceRangeShort = 0xFFFF threw exception TypeError: Type error.
converter.testEnforceRangeShort = -0x8000
PASS converter.testEnforceRangeShort is -0x8000
PASS converter.testEnforceRangeShort = -0x8001 threw exception TypeError: Type error.
PASS converter.testEnforceRangeShort = 0xDCBA9876543210 threw exception TypeError: Value 62129658859368980 is outside the range [-32768, 32767].
PASS converter.testEnforceRangeShort = Number.MAX_VALUE threw exception TypeError: Value 1.7976931348623157e+308 is outside the range [-32768, 32767].
converter.testEnforceRangeShort = Number.MIN_VALUE
PASS converter.testEnforceRangeShort is 0
PASS converter.testEnforceRangeShort = -Number.MAX_VALUE threw exception TypeError: Value -1.7976931348623157e+308 is outside the range [-32768, 32767].
converter.testEnforceRangeShort = -Number.MIN_VALUE
PASS converter.testEnforceRangeShort is 0
converter.testEnforceRangeShort = 1.99
PASS converter.testEnforceRangeShort is 1
converter.testEnforceRangeShort = -1.99
PASS converter.testEnforceRangeShort is -1
PASS converter.testEnforceRangeShort = Infinity threw exception TypeError: Value Infinity is outside the range [-32768, 32767].
PASS converter.testEnforceRangeShort = -Infinity threw exception TypeError: Value -Infinity is outside the range [-32768, 32767].
PASS converter.testEnforceRangeShort = NaN threw exception TypeError: Value NaN is outside the range [-32768, 32767].
converter.testEnforceRangeShort = false
PASS converter.testEnforceRangeShort is 0
converter.testEnforceRangeShort = true
PASS converter.testEnforceRangeShort is 1
converter.testEnforceRangeShort = ''
PASS converter.testEnforceRangeShort is 0
converter.testEnforceRangeShort = '1'
PASS converter.testEnforceRangeShort is 1
PASS converter.testEnforceRangeShort = 'abc' threw exception TypeError: Value NaN is outside the range [-32768, 32767].
converter.testEnforceRangeShort = null
PASS converter.testEnforceRangeShort is 0
PASS converter.testEnforceRangeShort = undefined threw exception TypeError: Value NaN is outside the range [-32768, 32767].
PASS converter.testEnforceRangeShort = {valueOf:function(){throw new Error('custom');}} threw exception Error: custom.
PASS 'testUnsignedShort' in converter is true
PASS typeof converter.testUnsignedShort === 'number' is true
converter.testUnsignedShort = 0
PASS converter.testUnsignedShort is 0
converter.testUnsignedShort = -0
PASS converter.testUnsignedShort is 0
converter.testUnsignedShort = -1
PASS converter.testUnsignedShort is 0xFFFF
converter.testUnsignedShort = 1
PASS converter.testUnsignedShort is 1
converter.testUnsignedShort = 0x7F
PASS converter.testUnsignedShort is 0x7F
converter.testUnsignedShort = 0x80
PASS converter.testUnsignedShort is 0x80
converter.testUnsignedShort = 0xFF
PASS converter.testUnsignedShort is 0xFF
converter.testUnsignedShort = -0x80
PASS converter.testUnsignedShort is 0xFF80
converter.testUnsignedShort = -0x81
PASS converter.testUnsignedShort is 0xFF7F
converter.testUnsignedShort = 0x7FFF
PASS converter.testUnsignedShort is 0x7FFF
converter.testUnsignedShort = 0x8000
PASS converter.testUnsignedShort is 0x8000
converter.testUnsignedShort = 0xFFFF
PASS converter.testUnsignedShort is 0xFFFF
converter.testUnsignedShort = 0x10000
PASS converter.testUnsignedShort is 0
converter.testUnsignedShort = -0x8000
PASS converter.testUnsignedShort is 0x8000
converter.testUnsignedShort = -0x8001
PASS converter.testUnsignedShort is 0x7FFF
converter.testUnsignedShort = 0xDCBA9876543210
PASS converter.testUnsignedShort is 0x3210
converter.testUnsignedShort = Number.MAX_VALUE
PASS converter.testUnsignedShort is 0
converter.testUnsignedShort = Number.MIN_VALUE
PASS converter.testUnsignedShort is 0
converter.testUnsignedShort = -Number.MAX_VALUE
PASS converter.testUnsignedShort is 0
converter.testUnsignedShort = -Number.MIN_VALUE
PASS converter.testUnsignedShort is 0
converter.testUnsignedShort = 1.99
PASS converter.testUnsignedShort is 1
converter.testUnsignedShort = -1.99
PASS converter.testUnsignedShort is 0xFFFF
converter.testUnsignedShort = Infinity
PASS converter.testUnsignedShort is 0
converter.testUnsignedShort = -Infinity
PASS converter.testUnsignedShort is 0
converter.testUnsignedShort = NaN
PASS converter.testUnsignedShort is 0
converter.testUnsignedShort = false
PASS converter.testUnsignedShort is 0
converter.testUnsignedShort = true
PASS converter.testUnsignedShort is 1
converter.testUnsignedShort = ''
PASS converter.testUnsignedShort is 0
converter.testUnsignedShort = '1'
PASS converter.testUnsignedShort is 1
converter.testUnsignedShort = 'abc'
PASS converter.testUnsignedShort is 0
converter.testUnsignedShort = null
PASS converter.testUnsignedShort is 0
converter.testUnsignedShort = undefined
PASS converter.testUnsignedShort is 0
PASS converter.testUnsignedShort = {valueOf:function(){throw new Error('custom');}} threw exception Error: custom.
PASS 'testEnforceRangeUnsignedShort' in converter is true
PASS typeof converter.testEnforceRangeUnsignedShort === 'number' is true
converter.testEnforceRangeUnsignedShort = 0
PASS converter.testEnforceRangeUnsignedShort is 0
converter.testEnforceRangeUnsignedShort = -0
PASS converter.testEnforceRangeUnsignedShort is 0
PASS converter.testEnforceRangeUnsignedShort = -1 threw exception TypeError: Value -1 is outside the range [0, 65535].
converter.testEnforceRangeUnsignedShort = 1
PASS converter.testEnforceRangeUnsignedShort is 1
converter.testEnforceRangeUnsignedShort = 0x7F
PASS converter.testEnforceRangeUnsignedShort is 0x7F
converter.testEnforceRangeUnsignedShort = 0x80
PASS converter.testEnforceRangeUnsignedShort is 0x80
converter.testEnforceRangeUnsignedShort = 0xFF
PASS converter.testEnforceRangeUnsignedShort is 0xFF
PASS converter.testEnforceRangeUnsignedShort = -0x80 threw exception TypeError: Value -128 is outside the range [0, 65535].
PASS converter.testEnforceRangeUnsignedShort = -0x81 threw exception TypeError: Value -129 is outside the range [0, 65535].
converter.testEnforceRangeUnsignedShort = 0x7FFF
PASS converter.testEnforceRangeUnsignedShort is 0x7FFF
converter.testEnforceRangeUnsignedShort = 0x8000
PASS converter.testEnforceRangeUnsignedShort is 0x8000
converter.testEnforceRangeUnsignedShort = 0xFFFF
PASS converter.testEnforceRangeUnsignedShort is 0xFFFF
PASS converter.testEnforceRangeUnsignedShort = 0x10000 threw exception TypeError: Type error.
PASS converter.testEnforceRangeUnsignedShort = -0x8000 threw exception TypeError: Value -32768 is outside the range [0, 65535].
PASS converter.testEnforceRangeUnsignedShort = -0x8001 threw exception TypeError: Value -32769 is outside the range [0, 65535].
converter.testEnforceRangeUnsignedShort = 0x3210
PASS converter.testEnforceRangeUnsignedShort is 0x3210
PASS converter.testEnforceRangeUnsignedShort = Number.MAX_VALUE threw exception TypeError: Value 1.7976931348623157e+308 is outside the range [0, 65535].
converter.testEnforceRangeUnsignedShort = Number.MIN_VALUE
PASS converter.testEnforceRangeUnsignedShort is 0
PASS converter.testEnforceRangeUnsignedShort = -Number.MAX_VALUE threw exception TypeError: Value -1.7976931348623157e+308 is outside the range [0, 65535].
converter.testEnforceRangeUnsignedShort = -Number.MIN_VALUE
PASS converter.testEnforceRangeUnsignedShort is 0
converter.testEnforceRangeUnsignedShort = 1.99
PASS converter.testEnforceRangeUnsignedShort is 1
PASS converter.testEnforceRangeUnsignedShort = -1.99 threw exception TypeError: Value -1 is outside the range [0, 65535].
PASS converter.testEnforceRangeUnsignedShort = Infinity threw exception TypeError: Value Infinity is outside the range [0, 65535].
PASS converter.testEnforceRangeUnsignedShort = -Infinity threw exception TypeError: Value -Infinity is outside the range [0, 65535].
PASS converter.testEnforceRangeUnsignedShort = NaN threw exception TypeError: Value NaN is outside the range [0, 65535].
converter.testEnforceRangeUnsignedShort = false
PASS converter.testEnforceRangeUnsignedShort is 0
converter.testEnforceRangeUnsignedShort = true
PASS converter.testEnforceRangeUnsignedShort is 1
converter.testEnforceRangeUnsignedShort = ''
PASS converter.testEnforceRangeUnsignedShort is 0
converter.testEnforceRangeUnsignedShort = '1'
PASS converter.testEnforceRangeUnsignedShort is 1
PASS converter.testEnforceRangeUnsignedShort = 'abc' threw exception TypeError: Value NaN is outside the range [0, 65535].
converter.testEnforceRangeUnsignedShort = null
PASS converter.testEnforceRangeUnsignedShort is 0
PASS converter.testEnforceRangeUnsignedShort = undefined threw exception TypeError: Value NaN is outside the range [0, 65535].
PASS converter.testEnforceRangeUnsignedShort = {valueOf:function(){throw new Error('custom');}} threw exception Error: custom.
PASS 'testFloat' in converter is true
PASS typeof converter.testFloat === 'number' is true
converter.testFloat = -0
PASS converter.testFloat is -0
converter.testFloat = -1.5
PASS converter.testFloat is -1.5
converter.testFloat = 1.5
PASS converter.testFloat is 1.5
PASS converter.testFloat = Infinity threw exception TypeError: The provided value is non-finite.
PASS converter.testFloat = -Infinity threw exception TypeError: The provided value is non-finite.
PASS converter.testFloat = NaN threw exception TypeError: The provided value is non-finite.
PASS converter.testFloat = 2 * FLT_MAX threw exception TypeError: The provided value is outside the range of a float.
PASS converter.testFloat = -2 * FLT_MAX threw exception TypeError: The provided value is outside the range of a float.
PASS 'testUnrestrictedFloat' in converter is true
PASS typeof converter.testUnrestrictedFloat === 'number' is true
converter.testUnrestrictedFloat = -0
PASS converter.testUnrestrictedFloat is -0
converter.testUnrestrictedFloat = -1.5
PASS converter.testUnrestrictedFloat is -1.5
converter.testUnrestrictedFloat = 1.5
PASS converter.testUnrestrictedFloat is 1.5
converter.testUnrestrictedFloat = Infinity
PASS converter.testUnrestrictedFloat is Infinity
converter.testUnrestrictedFloat = -Infinity
PASS converter.testUnrestrictedFloat is -Infinity
converter.testUnrestrictedFloat = NaN
PASS converter.testUnrestrictedFloat is NaN
converter.testUnrestrictedFloat = 2 * FLT_MAX
PASS converter.testUnrestrictedFloat is Infinity
converter.testUnrestrictedFloat = -2 * FLT_MAX
PASS converter.testUnrestrictedFloat is -Infinity
converter.testUSVString = '!@#123ABCabc\x00\x80\xFF\r\n\t'
converter.testString = '!@#123ABCabc\x00\x80\xFF\r\n\t'
PASS converter.testUSVString is "!@#123ABCabc\u0000€ÿ\r\n\t"
PASS converter.testString is "!@#123ABCabc\u0000€ÿ\r\n\t"
converter.testUSVString = '\u0100'
converter.testString = '\u0100'
PASS converter.testUSVString is "Ā"
PASS converter.testString is "Ā"
PASS converter.testUSVString = {toString: function() { throw Error(); }} threw exception Error.
PASS converter.testString = {toString: function() { throw Error(); }} threw exception Error.
PASS converter.testUSVString is "Ā"
PASS converter.testString is "Ā"
converter.testUSVString = "\ud800"
converter.testString = "\ud800"
PASS converter.testUSVString is "<22>"
PASS converter.testString is "\ud800"
converter.testUSVString = "\udc00"
converter.testString = "\udc00"
PASS converter.testUSVString is "<22>"
PASS converter.testString is "\udc00"
converter.testUSVString = "\ud800\u0000"
converter.testString = "\ud800\u0000"
PASS converter.testUSVString is "<22>\u0000"
PASS converter.testString is "\ud800\u0000"
converter.testUSVString = "\udc00\u0000"
converter.testString = "\udc00\u0000"
PASS converter.testUSVString is "<22>\u0000"
PASS converter.testString is "\udc00\u0000"
converter.testUSVString = "\udc00\ud800"
converter.testString = "\udc00\ud800"
PASS converter.testUSVString is "<22><>"
PASS converter.testString is "\udc00\ud800"
converter.testUSVString = "𝄞"
converter.testString = "𝄞"
PASS converter.testUSVString is "𝄞"
PASS converter.testString is "𝄞"
converter.testByteString = '!@#123ABCabc\x00\x80\xFF\r\n\t'
PASS converter.testByteString is "!@#123ABCabc\u0000€ÿ\r\n\t"
converter.testByteString = '\u00FF'
PASS converter.testByteString is "ÿ"
PASS converter.testByteString = '\u0100' threw exception TypeError: Type error.
PASS converter.testByteString is "ÿ"
PASS converter.testByteString = {toString: function() { throw Error(); }} threw exception Error.
PASS converter.testByteString is "ÿ"
converter.testUSVString = true
converter.testString = true
converter.testByteString = true
PASS converter.testUSVString is "true"
PASS converter.testString is "true"
PASS converter.testByteString is "true"
converter.testUSVString = 123
converter.testString = 123
converter.testByteString = 123
PASS converter.testUSVString is "123"
PASS converter.testString is "123"
PASS converter.testByteString is "123"
converter.testUSVString = null
converter.testString = null
converter.testByteString = null
PASS converter.testUSVString is "null"
PASS converter.testString is "null"
PASS converter.testByteString is "null"
converter.testUSVString = undefined
converter.testString = undefined
converter.testByteString = undefined
PASS converter.testUSVString is "undefined"
PASS converter.testString is "undefined"
PASS converter.testByteString is "undefined"
Testing union conversion
converter.testUnion = 'hello'
PASS converter.testUnion is 'hello'
PASS typeof converter.testUnion is 'string'
converter.testUnion = 1
PASS converter.testUnion is 1
PASS typeof converter.testUnion is 'number'
converter.testUnion = false
PASS converter.testUnion is false
PASS typeof converter.testUnion is 'boolean'
converter.testUnion = document
PASS converter.testUnion is document
PASS typeof converter.testUnion is 'object'
PASS converter.testUnion is an instance of Document
converter.testUnion = [1, 2]
PASS converter.testUnion is [1, 2]
PASS typeof converter.testUnion is 'object'
PASS converter.testUnion is an instance of Array
converter.testUnion = null
PASS converter.testUnion is 'null'
PASS typeof converter.testUnion is 'string'
converter.testUnion = undefined
PASS converter.testUnion is 'undefined'
PASS typeof converter.testUnion is 'string'
converter.testUnion = window
PASS typeof converter.testUnion is 'string'
PASS converter.testUnion is '[object Window]'
converter.testUnion = { }
PASS typeof converter.testUnion is 'string'
PASS converter.testUnion is '[object Object]'
PASS converter.testUnion = { toString: function() { throw Error(); } } threw exception Error.
converter.testDictionary = { longValue: 1 }
PASS converter.testDictionary.longValue is 1
converter.testDictionary = { stringValue: 'hello' }
PASS converter.testDictionary.stringValue is 'hello'
converter.testDictionary = { sequenceValue: ['hi', 'there'] }
PASS converter.testDictionary.sequenceValue is ['hi', 'there']
converter.testDictionary = { unionValue: document }
PASS converter.testDictionary.unionValue is an instance of Document
PASS converter.testDictionary.unionValue is document
converter.testDictionary = { unionValue: ['a', 'sequence'] }
PASS converter.testDictionary.unionValue is an instance of Array
PASS converter.testDictionary.unionValue is ['a', 'sequence']
converter.testDictionary = { unionValue: { longValue: 1 } }
PASS converter.testDictionary.unionValue is an instance of Object
PASS converter.testDictionary.unionValue.longValue is 1
converter.testDictionary = { unionValue: null }
PASS converter.testDictionary.unionValue is an instance of Object
PASS converter.testDictionary.unionValue.longValue is 0
converter.testDictionary = { unionValue: undefined }
PASS converter.testDictionary.unionValue is an instance of Object
PASS converter.testDictionary.unionValue.longValue is 0
converter.testDictionary = { }
PASS converter.testDictionary.unionValue is an instance of Object
PASS converter.testDictionary.unionValue.longValue is 0
converter.testDictionary = { stringValue: null }
PASS converter.testDictionary.stringValue is 'null'
converter.testDictionary = { treatNullAsEmptyStringValue: null }
PASS converter.testDictionary.treatNullAsEmptyStringValue is ''
converter.testDictionary = { longValue: 0x7FFFFFFF }
PASS converter.testDictionary.longValue is 0x7FFFFFFF
converter.testDictionary = { longValue: 0x80000000 }
PASS converter.testDictionary.longValue is -0x80000000
converter.testDictionary = { enforceRangeLongValue: 0x7FFFFFFF }
PASS converter.testDictionary.enforceRangeLongValue is 0x7FFFFFFF
PASS converter.testDictionary = { enforceRangeLongValue: 0x80000000 } threw exception TypeError: Value 2147483648 is outside the range [-2147483648, 2147483647].
converter.testDictionary = { clampLongValue: 0x7FFFFFFF }
PASS converter.testDictionary.clampLongValue is 0x7FFFFFFF
converter.testDictionary = { clampLongValue: 0x80000000 }
PASS converter.testDictionary.clampLongValue is 0x7FFFFFFF
Testing record conversion
converter.setTestLongRecord({ key: 1, key2: 2 })
PASS converter.testLongRecord() is an instance of Object
PASS converter.testLongRecord().hasOwnProperty('key') is true
PASS 'key' in converter.testLongRecord() is true
PASS converter.testLongRecord()['key'] is 1
PASS converter.testLongRecord().hasOwnProperty('key2') is true
PASS 'key2' in converter.testLongRecord() is true
PASS converter.testLongRecord()['key2'] is 2
converter.setTestLongRecord(undefined)
PASS converter.testLongRecord() is an instance of Object
converter.setTestLongRecord(null)
PASS converter.testLongRecord() is an instance of Object
PASS converter.setTestLongRecord(1) threw exception TypeError: Type error.
PASS converter.setTestLongRecord({ key: { valueOf:function() { throw new Error(); } } }) threw exception Error.
var o = { otherKey: 2 }; Object.defineProperty(o, 'key', { enumerable: false, value: 1 }); converter.setTestLongRecord(o);
PASS converter.testLongRecord().hasOwnProperty('key') is false
PASS converter.testLongRecord().hasOwnProperty('otherKey') is true
PASS converter.testLongRecord()['otherKey'] is 2
var o = { otherKey: 2 }; Object.defineProperty(o, 'key', { get: function() { return 1; }, enumerable: true }); converter.setTestLongRecord(o);
PASS converter.testLongRecord().hasOwnProperty('key') is true
PASS converter.testLongRecord()['key'] is 1
PASS converter.testLongRecord().hasOwnProperty('otherKey') is true
PASS converter.testLongRecord()['otherKey'] is 2
PASS var o = { otherKey: 2 }; Object.defineProperty(o, 'key', { get: function() { throw new Error(); }, enumerable: true }); converter.setTestLongRecord(o); threw exception Error.
converter.setTestNodeRecord({ key: document, key2: document.documentElement })
PASS converter.testNodeRecord().hasOwnProperty('key') is true
PASS 'key' in converter.testNodeRecord() is true
PASS converter.testNodeRecord()['key'] is document
PASS converter.testNodeRecord().hasOwnProperty('key2') is true
PASS 'key2' in converter.testNodeRecord() is true
PASS converter.testNodeRecord()['key2'] is document.documentElement
PASS converter.setTestNodeRecord({ key: 'hello' }) threw exception TypeError: Type error.
converter.setTestLongRecord({'<27>': 1 })
PASS converter.testLongRecord()['<27>'] is 1
converter.setTestNodeRecord({'<27>': document })
PASS converter.testNodeRecord()['<27>'] is document
converter.setTestLongRecord({'<27>': 1 })
PASS converter.testLongRecord()['<27>'] is 1
converter.setTestNodeRecord({'<27>': document })
PASS converter.testNodeRecord()['<27>'] is document
converter.setTestLongRecord({'<27>': 1 })
PASS converter.testLongRecord()['<27>\0'] is 1
converter.setTestNodeRecord({'<27>': document })
PASS converter.testNodeRecord()['<27>\0'] is document
converter.setTestLongRecord({'<27>': 1 })
PASS converter.testLongRecord()['<27>\0'] is 1
converter.setTestNodeRecord({'<27>': document })
PASS converter.testNodeRecord()['<27>\0'] is document
converter.setTestLongRecord({'<27><>': 1 })
PASS converter.testLongRecord()['<27><>'] is 1
converter.setTestNodeRecord({'<27><>': document })
PASS converter.testNodeRecord()['<27><>'] is document
converter.setTestLongRecord({'𝄞': 1 })
PASS converter.testLongRecord()['𝄞'] is 1
converter.setTestNodeRecord({'𝄞': document })
PASS converter.testNodeRecord()['𝄞'] is document
converter.setTestSequenceRecord({ key: ['value', 'other value'] })
PASS converter.testSequenceRecord().hasOwnProperty('key') is true
PASS 'key' in converter.testSequenceRecord() is true
PASS converter.testSequenceRecord()['key'] is ['value', 'other value']
PASS converter.setTestSequenceRecord({ 'Ā': ['value'] }) threw exception TypeError: Type error.
converter.setTestSequenceRecord({ 'ÿ': ['value'] })
PASS converter.testSequenceRecord()['ÿ'] is ['value']
PASS converter.testImpureNaNUnrestrictedDouble is NaN
PASS converter.testImpureNaN2UnrestrictedDouble is NaN
PASS converter.testQuietNaNUnrestrictedDouble is NaN
PASS converter.testPureNaNUnrestrictedDouble is NaN
PASS successfullyParsed is true
TEST COMPLETE