mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-11-09 21:00:42 +02:00
Automatic update from web-platform-tests Replace some "assert_throws(new FooError(), stuff)" calls with assert_throws_js. (#21354) This diff was generated by running: find . -type f -print0 | xargs -0 perl -pi -e 'BEGIN { $/ = undef; } s/assert_throws\(([ \n]*)new ([A-Za-z]*Error) *\(\) *(, *.)/assert_throws_js(\1\2\3/gs' and then: 1) Manually adjusting fullscreen/rendering/fullscreen-pseudo-class-support.html to test for the right sort of exceptions ("SyntaxError" DOMException, not a JS SyntaxError). 2) Manually adjusting performance-timeline/po-observe-type.any.js to test for the right sort of exceptions ("SyntaxError" DOMException, not a JS SyntaxError). 3) Manually adjusting performance-timeline/po-observe.any.js to test for the right sort of exceptions ("SyntaxError" DOMException, not a JS SyntaxError). 4) Manually adjusting user-timing/mark_exceptions.html to test for the right sort of exceptions ("SyntaxError" DOMException, not a JS SyntaxError). 5) Manually adjusting user-timing/measure_syntax_err.any.js to test for the right sort of exceptions ("SyntaxError" DOMException, not a JS SyntaxError). 6) Manually adjusting domxpath/lexical-structure.html to test for a "SyntaxError" DOMException, since that's what all browsers throw and there is no clear spec for this. 7) Manually adjusting workers/constructors/Worker/Worker-constructor.html to test for the right sort of exceptions ("SyntaxError" DOMException, not a JS SyntaxError). 8) Backing out the changes to resources/idlharness.js because some tests pass objects from a different window to it, and we end up with the wrong TypeError constructor in those cases. This does affect indentation poorly in cases when the first arg was on the same line as the assert_throws, there was a newline after the ',' after the first arg, and the following args were lined up with the first arg. Fixing that, especially when there are multiple lines after the first arg, is not trivial with a regexp. Co-authored-by: Boris Zbarsky <bzbarsky@mit.edu> Co-authored-by: Stephen McGruer <smcgruer@chromium.org> -- wpt-commits: 2c5c3c4c27d27a419c1fdba3e9879c2d22037074 wpt-pr: 21354
229 lines
7.6 KiB
HTML
229 lines
7.6 KiB
HTML
<!DOCTYPE html>
|
|
<meta charset="utf-8">
|
|
<title>CSS Transitions Test: TransitionEvent interface</title>
|
|
<link rel="help" href="https://drafts.csswg.org/css-transitions-1/#interface-transitionevent">
|
|
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<script src="transitionevent-interface.js"></script>
|
|
|
|
<script>
|
|
test(function() {
|
|
var event = new TransitionEvent("");
|
|
assert_true(event instanceof window.TransitionEvent);
|
|
}, "the event is an instance of TransitionEvent");
|
|
|
|
test(function() {
|
|
var event = new TransitionEvent("");
|
|
assert_true(event instanceof window.Event);
|
|
}, "the event inherts from Event");
|
|
|
|
test(function() {
|
|
assert_throws_js(TypeError, function() {
|
|
new TransitionEvent();
|
|
}, 'First argument is required, so was expecting a TypeError.');
|
|
}, 'Missing type argument');
|
|
|
|
test(function() {
|
|
var event = new TransitionEvent("test");
|
|
assert_equals(event.type, "test");
|
|
}, "type argument is string");
|
|
|
|
test(function() {
|
|
var event = new TransitionEvent(null);
|
|
assert_equals(event.type, "null");
|
|
}, "type argument is null");
|
|
|
|
test(function() {
|
|
var event = new TransitionEvent(undefined);
|
|
assert_equals(event.type, "undefined");
|
|
}, "event type set to undefined");
|
|
|
|
test(function() {
|
|
var event = new TransitionEvent("test");
|
|
assert_equals(event.propertyName, "");
|
|
}, "propertyName has default value of empty string");
|
|
|
|
test(function() {
|
|
var event = new TransitionEvent("test");
|
|
assert_equals(event.elapsedTime, 0.0);
|
|
}, "elapsedTime has default value of 0.0");
|
|
|
|
test(function() {
|
|
var event = new TransitionEvent("test");
|
|
assert_readonly(event, "propertyName", "readonly attribute value");
|
|
}, "propertyName is readonly");
|
|
|
|
test(function() {
|
|
var event = new TransitionEvent("test");
|
|
assert_readonly(event, "elapsedTime", "readonly attribute value");
|
|
}, "elapsedTime is readonly");
|
|
|
|
test(function() {
|
|
var event = new TransitionEvent("test", null);
|
|
assert_equals(event.propertyName, "");
|
|
assert_equals(event.elapsedTime, 0.0);
|
|
}, "animationEventInit argument is null");
|
|
|
|
test(function() {
|
|
var event = new TransitionEvent("test", undefined);
|
|
assert_equals(event.propertyName, "");
|
|
assert_equals(event.elapsedTime, 0.0);
|
|
}, "animationEventInit argument is undefined");
|
|
|
|
test(function() {
|
|
var event = new TransitionEvent("test", {});
|
|
assert_equals(event.propertyName, "");
|
|
assert_equals(event.elapsedTime, 0.0);
|
|
}, "animationEventInit argument is empty dictionary");
|
|
|
|
test(function() {
|
|
var event = new TransitionEvent("test", {pseudoElement: "::testPseudo"});
|
|
assert_equals(event.pseudoElement, "::testPseudo");
|
|
}, "TransitionEvent.pseudoElement initialized from the dictionary");
|
|
|
|
test(function() {
|
|
var event = new TransitionEvent("test", {propertyName: "sample"});
|
|
assert_equals(event.propertyName, "sample");
|
|
}, "propertyName set to 'sample'");
|
|
|
|
test(function() {
|
|
var event = new TransitionEvent("test", {propertyName: undefined});
|
|
assert_equals(event.propertyName, "");
|
|
}, "propertyName set to undefined");
|
|
|
|
test(function() {
|
|
var event = new TransitionEvent("test", {propertyName: null});
|
|
assert_equals(event.propertyName, "null");
|
|
}, "propertyName set to null");
|
|
|
|
test(function() {
|
|
var event = new TransitionEvent("test", {propertyName: false});
|
|
assert_equals(event.propertyName, "false");
|
|
}, "propertyName set to false");
|
|
|
|
test(function() {
|
|
var event = new TransitionEvent("test", {propertyName: true});
|
|
assert_equals(event.propertyName, "true");
|
|
}, "propertyName set to true");
|
|
|
|
test(function() {
|
|
var event = new TransitionEvent("test", {propertyName: 0.5});
|
|
assert_equals(event.propertyName, "0.5");
|
|
}, "propertyName set to a number");
|
|
|
|
test(function() {
|
|
var event = new TransitionEvent("test", {propertyName: []});
|
|
assert_equals(event.propertyName, "");
|
|
}, "propertyName set to []");
|
|
|
|
test(function() {
|
|
var event = new TransitionEvent("test", {propertyName: [1, 2, 3]});
|
|
assert_equals(event.propertyName, "1,2,3");
|
|
}, "propertyName set to [1, 2, 3]");
|
|
|
|
test(function() {
|
|
var event = new TransitionEvent("test", {propertyName: {sample: 0.5}});
|
|
assert_equals(event.propertyName, "[object Object]");
|
|
}, "propertyName set to an object");
|
|
|
|
test(function() {
|
|
var event = new TransitionEvent("test",
|
|
{propertyName: {valueOf: function () { return 'sample'; }}});
|
|
assert_equals(event.propertyName, "[object Object]");
|
|
}, "propertyName set to an object with a valueOf function");
|
|
|
|
test(function() {
|
|
var event = new TransitionEvent("test", {elapsedTime: 0.5});
|
|
assert_equals(event.elapsedTime, 0.5);
|
|
}, "elapsedTime set to 0.5");
|
|
|
|
test(function() {
|
|
var event = new TransitionEvent("test", {elapsedTime: -0.5});
|
|
assert_equals(event.elapsedTime, -0.5);
|
|
}, "elapsedTime set to -0.5");
|
|
|
|
test(function() {
|
|
var event = new TransitionEvent("test", {elapsedTime: undefined});
|
|
assert_equals(event.elapsedTime, 0);
|
|
}, "elapsedTime set to undefined");
|
|
|
|
test(function() {
|
|
var event = new TransitionEvent("test", {elapsedTime: null});
|
|
assert_equals(event.elapsedTime, 0);
|
|
}, "elapsedTime set to null");
|
|
|
|
test(function() {
|
|
var event = new TransitionEvent("test", {elapsedTime: false});
|
|
assert_equals(event.elapsedTime, 0);
|
|
}, "elapsedTime set to false");
|
|
|
|
test(function() {
|
|
var event = new TransitionEvent("test", {elapsedTime: true});
|
|
assert_equals(event.elapsedTime, 1);
|
|
}, "elapsedTime set to true");
|
|
|
|
test(function() {
|
|
var event = new TransitionEvent("test", {elapsedTime: ""});
|
|
assert_equals(event.elapsedTime, 0);
|
|
}, "elapsedTime set to ''");
|
|
|
|
test(function() {
|
|
var event = new TransitionEvent("test", {elapsedTime: []});
|
|
assert_equals(event.elapsedTime, 0);
|
|
}, "elapsedTime set to []");
|
|
|
|
test(function() {
|
|
var event = new TransitionEvent("test", {elapsedTime: [0.5]});
|
|
assert_equals(event.elapsedTime, 0.5);
|
|
}, "elapsedTime set to [0.5]");
|
|
|
|
test(function() {
|
|
var event = new TransitionEvent(
|
|
"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 TransitionEvent("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 TransitionEvent("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 TransitionEvent("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 TransitionEvent("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 TransitionEvent("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 TransitionEvent("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 = {propertyName: "sample", elapsedTime: 0.5};
|
|
var event = new TransitionEvent("test", eventInit);
|
|
assert_equals(event.propertyName, "sample");
|
|
assert_equals(event.elapsedTime, 0.5);
|
|
}, "TransitionEventInit properties set value");
|
|
</script>
|