diff options
Diffstat (limited to 'tests/wpt/web-platform-tests/css/css-animations/animationevent-interface.js')
-rw-r--r-- | tests/wpt/web-platform-tests/css/css-animations/animationevent-interface.js | 128 |
1 files changed, 128 insertions, 0 deletions
diff --git a/tests/wpt/web-platform-tests/css/css-animations/animationevent-interface.js b/tests/wpt/web-platform-tests/css/css-animations/animationevent-interface.js index 56d30a4a377..e35b7fcb0f9 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/animationevent-interface.js +++ b/tests/wpt/web-platform-tests/css/css-animations/animationevent-interface.js @@ -79,11 +79,139 @@ }, "animationName set to 'sample'"); test(function() { + var event = new AnimationEvent("test", {animationName: undefined}); + assert_equals(event.animationName, ""); + }, "animationName set to undefined"); + + test(function() { + var event = new AnimationEvent("test", {animationName: null}); + assert_equals(event.animationName, "null"); + }, "animationName set to null"); + + test(function() { + var event = new AnimationEvent("test", {animationName: false}); + assert_equals(event.animationName, "false"); + }, "animationName set to false"); + + test(function() { + var event = new AnimationEvent("test", {animationName: true}); + assert_equals(event.animationName, "true"); + }, "animationName set to true"); + + test(function() { + var event = new AnimationEvent("test", {animationName: 0.5}); + assert_equals(event.animationName, "0.5"); + }, "animationName set to a number"); + + test(function() { + var event = new AnimationEvent("test", {animationName: []}); + assert_equals(event.animationName, ""); + }, "animationName set to []"); + + test(function() { + var event = new AnimationEvent("test", {animationName: [1, 2, 3]}); + assert_equals(event.animationName, "1,2,3"); + }, "animationName set to [1, 2, 3]"); + + test(function() { + var event = new AnimationEvent("test", {animationName: {sample: 0.5}}); + assert_equals(event.animationName, "[object Object]"); + }, "animationName set to an object"); + + test(function() { + var event = new AnimationEvent("test", + {animationName: {valueOf: function () { return 'sample'; }}}); + assert_equals(event.animationName, "[object Object]"); + }, "animationName set to an object with a valueOf function"); + + test(function() { var event = new AnimationEvent("test", {elapsedTime: 0.5}); assert_equals(event.elapsedTime, 0.5); }, "elapsedTime set to 0.5"); test(function() { + var event = new AnimationEvent("test", {elapsedTime: -0.5}); + assert_equals(event.elapsedTime, -0.5); + }, "elapsedTime set to -0.5"); + + test(function() { + var event = new AnimationEvent("test", {elapsedTime: undefined}); + assert_equals(event.elapsedTime, 0); + }, "elapsedTime set to undefined"); + + test(function() { + var event = new AnimationEvent("test", {elapsedTime: null}); + assert_equals(event.elapsedTime, 0); + }, "elapsedTime set to null"); + + test(function() { + var event = new AnimationEvent("test", {elapsedTime: false}); + assert_equals(event.elapsedTime, 0); + }, "elapsedTime set to false"); + + test(function() { + var event = new AnimationEvent("test", {elapsedTime: true}); + assert_equals(event.elapsedTime, 1); + }, "elapsedTime set to true"); + + test(function() { + var event = new AnimationEvent("test", {elapsedTime: ""}); + assert_equals(event.elapsedTime, 0); + }, "elapsedTime set to ''"); + + test(function() { + var event = new AnimationEvent("test", {elapsedTime: []}); + assert_equals(event.elapsedTime, 0); + }, "elapsedTime set to []"); + + test(function() { + var event = new AnimationEvent("test", {elapsedTime: [0.5]}); + assert_equals(event.elapsedTime, 0.5); + }, "elapsedTime set to [0.5]"); + + test(function() { + var event = new AnimationEvent( + "test", {elapsedTime: { valueOf: function() { return 0.5; }}}); + assert_equals(event.elapsedTime, 0.5); + }, "elapsedTime set to an object with a valueOf function"); + + test(function() { + assert_throws(new TypeError(), function() { + new AnimationEvent("test", {elapsedTime: NaN}); + }, 'elapsedTime cannot be NaN so was expecting a TypeError'); + }, "elapsedTime cannot be set to NaN"); + + test(function() { + assert_throws(new TypeError(), function() { + new AnimationEvent("test", {elapsedTime: Infinity}); + }, 'elapsedTime cannot be Infinity so was expecting a TypeError'); + }, "elapsedTime cannot be set to Infinity"); + + test(function() { + assert_throws(new TypeError(), function() { + new AnimationEvent("test", {elapsedTime: -Infinity}); + }, 'elapsedTime cannot be -Infinity so was expecting a TypeError'); + }, "elapsedTime cannot be set to -Infinity"); + + test(function() { + assert_throws(new TypeError(), function() { + new AnimationEvent("test", {elapsedTime: "sample"}); + }, 'elapsedTime cannot be a string so was expecting a TypeError'); + }, "elapsedTime cannot be set to 'sample'"); + + test(function() { + assert_throws(new TypeError(), function() { + new AnimationEvent("test", {elapsedTime: [0.5, 1.0]}); + }, 'elapsedTime cannot be a multi-element array so was expecting a TypeError'); + }, "elapsedTime cannot be set to [0.5, 1.0]"); + + test(function() { + assert_throws(new TypeError(), function() { + new AnimationEvent("test", {elapsedTime: { sample: 0.5}}); + }, 'elapsedTime cannot be an object so was expecting a TypeError'); + }, "elapsedTime cannot be set to an object"); + + test(function() { var eventInit = {animationName: "sample", elapsedTime: 0.5}; var event = new AnimationEvent("test", eventInit); assert_equals(event.animationName, "sample"); |