diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:22:09 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:22:09 +0000 |
commit | 43a97878ce14b72f0981164f87f2e35e14151312 (patch) | |
tree | 620249daf56c0258faa40cbdcf9cfba06de2a846 /testing/web-platform/tests/css/css-animations/animationevent-interface.js | |
parent | Initial commit. (diff) | |
download | firefox-43a97878ce14b72f0981164f87f2e35e14151312.tar.xz firefox-43a97878ce14b72f0981164f87f2e35e14151312.zip |
Adding upstream version 110.0.1.upstream/110.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/tests/css/css-animations/animationevent-interface.js')
-rw-r--r-- | testing/web-platform/tests/css/css-animations/animationevent-interface.js | 220 |
1 files changed, 220 insertions, 0 deletions
diff --git a/testing/web-platform/tests/css/css-animations/animationevent-interface.js b/testing/web-platform/tests/css/css-animations/animationevent-interface.js new file mode 100644 index 0000000000..fcb7ceba20 --- /dev/null +++ b/testing/web-platform/tests/css/css-animations/animationevent-interface.js @@ -0,0 +1,220 @@ +(function() { + test(function() { + var event = new AnimationEvent(""); + assert_true(event instanceof window.AnimationEvent); + }, "the event is an instance of AnimationEvent"); + + test(function() { + var event = new AnimationEvent(""); + assert_true(event instanceof window.Event); + }, "the event inherts from Event"); + + test(function() { + assert_throws_js(TypeError, function() { + new AnimationEvent(); + }, 'First argument is required, so was expecting a TypeError.'); + }, 'Missing type argument'); + + test(function() { + var event = new AnimationEvent("test"); + assert_equals(event.type, "test"); + }, "type argument is string"); + + test(function() { + var event = new AnimationEvent(null); + assert_equals(event.type, "null"); + }, "type argument is null"); + + test(function() { + var event = new AnimationEvent(undefined); + assert_equals(event.type, "undefined"); + }, "event type set to undefined"); + + test(function() { + var event = new AnimationEvent("test"); + assert_equals(event.animationName, ""); + }, "animationName has default value of empty string"); + + test(function() { + var event = new AnimationEvent("test"); + assert_equals(event.elapsedTime, 0.0); + }, "elapsedTime has default value of 0.0"); + + test(function() { + var event = new AnimationEvent("test"); + assert_readonly(event, "animationName", "readonly attribute value"); + }, "animationName is readonly"); + + test(function() { + var event = new AnimationEvent("test"); + assert_readonly(event, "elapsedTime", "readonly attribute value"); + }, "elapsedTime is readonly"); + + test(function() { + var event = new AnimationEvent("test", null); + assert_equals(event.animationName, ""); + assert_equals(event.elapsedTime, 0.0); + }, "animationEventInit argument is null"); + + test(function() { + var event = new AnimationEvent("test", undefined); + assert_equals(event.animationName, ""); + assert_equals(event.elapsedTime, 0.0); + }, "animationEventInit argument is undefined"); + + test(function() { + var event = new AnimationEvent("test", {}); + assert_equals(event.animationName, ""); + assert_equals(event.elapsedTime, 0.0); + }, "animationEventInit argument is empty dictionary"); + + test(function() { + var event = new AnimationEvent("test", {pseudoElement: "::testPseudo"}); + assert_equals(event.pseudoElement, "::testPseudo"); + }, "AnimationEvent.pseudoElement initialized from the dictionary"); + + test(function() { + var event = new AnimationEvent("test", {animationName: "sample"}); + assert_equals(event.animationName, "sample"); + }, "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_js(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_js(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_js(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_js(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_js(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_js(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"); + assert_equals(event.elapsedTime, 0.5); + }, "AnimationEventInit properties set value"); +})(); |