This tests the constructor for the WebKitAnimationEvent DOM class.

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


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

TEST COMPLETE

