This tests the constructor for the TransitionEvent DOM class.

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


PASS new TransitionEvent('eventType').bubbles is false
PASS new TransitionEvent('eventType').cancelable is false
PASS new TransitionEvent('eventType').propertyName is ""
PASS new TransitionEvent('eventType').elapsedTime is 0
PASS new TransitionEvent('eventType').pseudoElement is ""
PASS new TransitionEvent('eventType', { bubbles: false }).bubbles is false
PASS new TransitionEvent('eventType', { bubbles: true }).bubbles is true
PASS new TransitionEvent('eventType', { cancelable: false }).cancelable is false
PASS new TransitionEvent('eventType', { cancelable: true }).cancelable is true
PASS new TransitionEvent('eventType', { propertyName: 'doremi' }).propertyName is "doremi"
PASS new TransitionEvent('eventType', { propertyName: '' }).propertyName is ""
PASS new TransitionEvent('eventType', { propertyName: undefined }).propertyName is ""
PASS new TransitionEvent('eventType', { propertyName: null }).propertyName is "null"
PASS new TransitionEvent('eventType', { propertyName: false }).propertyName is "false"
PASS new TransitionEvent('eventType', { propertyName: true }).propertyName is "true"
PASS new TransitionEvent('eventType', { propertyName: 12345 }).propertyName is "12345"
PASS new TransitionEvent('eventType', { propertyName: 18446744073709551615 }).propertyName is "18446744073709552000"
PASS new TransitionEvent('eventType', { propertyName: NaN }).propertyName is "NaN"
PASS new TransitionEvent('eventType', { propertyName: [] }).propertyName is ""
PASS new TransitionEvent('eventType', { propertyName: [1, 2, 3] }).propertyName is "1,2,3"
PASS new TransitionEvent('eventType', { propertyName: {doremi: 12345} }).propertyName is "[object Object]"
PASS new TransitionEvent('eventType', { propertyName: {valueOf: function () { return 'doremi'; } } }).propertyName is "[object Object]"
PASS new TransitionEvent('eventType', { elapsedTime: 0 }).elapsedTime is 0
PASS new TransitionEvent('eventType', { elapsedTime: 123.45 }).elapsedTime is 123.45
PASS new TransitionEvent('eventType', { elapsedTime: -123.45 }).elapsedTime is -123.45
PASS new TransitionEvent('eventType', { elapsedTime: 18446744073709551615 }).elapsedTime is 18446744073709551615
PASS new TransitionEvent('eventType', { elapsedTime: NaN }).elapsedTime threw exception TypeError: The provided value is non-finite.
PASS new TransitionEvent('eventType', { elapsedTime: Infinity }).elapsedTime threw exception TypeError: The provided value is non-finite.
PASS new TransitionEvent('eventType', { elapsedTime: -Infinity }).elapsedTime threw exception TypeError: The provided value is non-finite.
PASS new TransitionEvent('eventType', { pseudoElement: '::before' }).pseudoElement is "::before"
PASS new TransitionEvent('eventType', { pseudoElement: '' }).pseudoElement is ""
PASS new TransitionEvent('eventType', { elapsedTime: undefined }).elapsedTime is 0
PASS new TransitionEvent('eventType', { elapsedTime: null }).elapsedTime is 0
PASS new TransitionEvent('eventType', { elapsedTime: false }).elapsedTime is 0
PASS new TransitionEvent('eventType', { elapsedTime: true }).elapsedTime is 1
PASS new TransitionEvent('eventType', { elapsedTime: '' }).elapsedTime is 0
PASS new TransitionEvent('eventType', { elapsedTime: 'doremi' }).elapsedTime threw exception TypeError: The provided value is non-finite.
PASS new TransitionEvent('eventType', { elapsedTime: [] }).elapsedTime is 0
PASS new TransitionEvent('eventType', { elapsedTime: [123.45] }).elapsedTime is 123.45
PASS new TransitionEvent('eventType', { elapsedTime: [123.45, 678.90] }).elapsedTime threw exception TypeError: The provided value is non-finite.
PASS new TransitionEvent('eventType', { elapsedTime: {doremi: 123.45} }).elapsedTime threw exception TypeError: The provided value is non-finite.
PASS new TransitionEvent('eventType', { elapsedTime: {valueOf: function () { return 123.45 } } }).elapsedTime is 123.45
PASS new TransitionEvent('eventType', { bubbles: true, cancelable: true, propertyName: 'doremi', elapsedTime: 123.45, pseudoElement: '::after' }).bubbles is true
PASS new TransitionEvent('eventType', { bubbles: true, cancelable: true, propertyName: 'doremi', elapsedTime: 123.45, pseudoElement: '::after' }).cancelable is true
PASS new TransitionEvent('eventType', { bubbles: true, cancelable: true, propertyName: 'doremi', elapsedTime: 123.45, pseudoElement: '::after' }).propertyName is 'doremi'
PASS new TransitionEvent('eventType', { bubbles: true, cancelable: true, propertyName: 'doremi', elapsedTime: 123.45, pseudoElement: '::after' }).elapsedTime is 123.45
PASS new TransitionEvent('eventType', { bubbles: true, cancelable: true, propertyName: 'doremi', elapsedTime: 123.45, pseudoElement: '::after' }).pseudoElement is '::after'
PASS successfullyParsed is true

TEST COMPLETE

