This tests the constructor for the OverflowEvent DOM class.

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".


PASS new OverflowEvent('eventType').bubbles is false
PASS new OverflowEvent('eventType').cancelable is false
PASS new OverflowEvent('eventType').horizontalOverflow is false
PASS new OverflowEvent('eventType').verticalOverflow is false
PASS new OverflowEvent('eventType').orient is 0
PASS new OverflowEvent('eventType', { bubbles: false }).bubbles is false
PASS new OverflowEvent('eventType', { bubbles: true }).bubbles is true
PASS new OverflowEvent('eventType', { cancelable: false }).cancelable is false
PASS new OverflowEvent('eventType', { cancelable: true }).cancelable is true
PASS new OverflowEvent('eventType', { horizontalOverflow: false }).horizontalOverflow is false
PASS new OverflowEvent('eventType', { horizontalOverflow: true }).horizontalOverflow is true
PASS new OverflowEvent('eventType', { verticalOverflow: false }).verticalOverflow is false
PASS new OverflowEvent('eventType', { verticalOverflow: true }).verticalOverflow is true
PASS new OverflowEvent('eventType', { orient: 0 }).orient is 0
PASS new OverflowEvent('eventType', { orient: 1 }).orient is 1
PASS new OverflowEvent('eventType', { orient: 65534 }).orient is 65534
PASS new OverflowEvent('eventType', { orient: 65535 }).orient is 65535
PASS new OverflowEvent('eventType', { orient: 9007199254740991 }).orient is 65535
PASS new OverflowEvent('eventType', { orient: 18446744073709551615 }).orient is 0
PASS new OverflowEvent('eventType', { orient: 12345678901234567890 }).orient is 2048
PASS new OverflowEvent('eventType', { orient: -1 }).orient is 65535
PASS new OverflowEvent('eventType', { orient: 123.45 }).orient is 123
PASS new OverflowEvent('eventType', { orient: NaN }).orient is 0
PASS new OverflowEvent('eventType', { orient: undefined }).orient is 0
PASS new OverflowEvent('eventType', { orient: null }).orient is 0
PASS new OverflowEvent('eventType', { orient: '' }).orient is 0
PASS new OverflowEvent('eventType', { orient: '12345' }).orient is 12345
PASS new OverflowEvent('eventType', { orient: '12345a' }).orient is 0
PASS new OverflowEvent('eventType', { orient: 'abc' }).orient is 0
PASS new OverflowEvent('eventType', { orient: [] }).orient is 0
PASS new OverflowEvent('eventType', { orient: [12345] }).orient is 12345
PASS new OverflowEvent('eventType', { orient: [12345, 67890] }).orient is 0
PASS new OverflowEvent('eventType', { orient: {} }).orient is 0
PASS new OverflowEvent('eventType', { orient: {foo: 12345} }).orient is 0
PASS new OverflowEvent('eventType', { orient: {valueOf: function () { return 12345; }} }).orient is 12345
PASS new OverflowEvent('eventType', { bubbles: true, cancelable: true, horizontalOverflow: true, verticalOverflow: true, orient: 12345 }).bubbles is true
PASS new OverflowEvent('eventType', { bubbles: true, cancelable: true, horizontalOverflow: true, verticalOverflow: true, orient: 12345 }).cancelable is true
PASS new OverflowEvent('eventType', { bubbles: true, cancelable: true, horizontalOverflow: true, verticalOverflow: true, orient: 12345 }).horizontalOverflow is true
PASS new OverflowEvent('eventType', { bubbles: true, cancelable: true, horizontalOverflow: true, verticalOverflow: true, orient: 12345 }).verticalOverflow is true
PASS new OverflowEvent('eventType', { bubbles: true, cancelable: true, horizontalOverflow: true, verticalOverflow: true, orient: 12345 }).orient is 12345
PASS successfullyParsed is true

TEST COMPLETE

