blob: 0d0b96d8b0826631a2893e59e88fa7cd67ce2f20 [file] [log] [blame]
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 "�"
PASS converter.testString is "\ud800"
converter.testUSVString = "\udc00"
converter.testString = "\udc00"
PASS converter.testUSVString is "�"
PASS converter.testString is "\udc00"
converter.testUSVString = "\ud800\u0000"
converter.testString = "\ud800\u0000"
PASS converter.testUSVString is "�\u0000"
PASS converter.testString is "\ud800\u0000"
converter.testUSVString = "\udc00\u0000"
converter.testString = "\udc00\u0000"
PASS converter.testUSVString is "�\u0000"
PASS converter.testString is "\udc00\u0000"
converter.testUSVString = "\udc00\ud800"
converter.testString = "\udc00\ud800"
PASS converter.testUSVString is "��"
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({'�': 1 })
PASS converter.testLongRecord()['�'] is 1
converter.setTestNodeRecord({'�': document })
PASS converter.testNodeRecord()['�'] is document
converter.setTestLongRecord({'�': 1 })
PASS converter.testLongRecord()['�'] is 1
converter.setTestNodeRecord({'�': document })
PASS converter.testNodeRecord()['�'] is document
converter.setTestLongRecord({'�': 1 })
PASS converter.testLongRecord()['�\0'] is 1
converter.setTestNodeRecord({'�': document })
PASS converter.testNodeRecord()['�\0'] is document
converter.setTestLongRecord({'�': 1 })
PASS converter.testLongRecord()['�\0'] is 1
converter.setTestNodeRecord({'�': document })
PASS converter.testNodeRecord()['�\0'] is document
converter.setTestLongRecord({'��': 1 })
PASS converter.testLongRecord()['��'] is 1
converter.setTestNodeRecord({'��': document })
PASS converter.testNodeRecord()['��'] 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