| |
| PASS Element.animate() creates an Animation object |
| PASS Element.animate() creates an Animation object in the relevant realm of the target element |
| PASS Element.animate() creates an Animation object with a KeyframeEffect |
| PASS Element.animate() creates an Animation object with a KeyframeEffect that is created in the relevant realm of the target element |
| PASS Element.animate() accepts empty keyframe lists (input: []) |
| PASS Element.animate() accepts empty keyframe lists (input: null) |
| PASS Element.animate() accepts empty keyframe lists (input: undefined) |
| PASS Element.animate() accepts a one property two value property-indexed keyframes specification |
| PASS Element.animate() accepts a one shorthand property two value property-indexed keyframes specification |
| PASS Element.animate() accepts a two property (one shorthand and one of its longhand components) two value property-indexed keyframes specification |
| FAIL Element.animate() accepts a two property (one shorthand and one of its shorthand components) two value property-indexed keyframes specification assert_equals: properties on ComputedKeyframe #0 should match expected "border,borderColor,composite,computedOffset,easing,offset" but got "border,borderTopColor,composite,computedOffset,easing,offset" |
| PASS Element.animate() accepts a two property two value property-indexed keyframes specification |
| PASS Element.animate() accepts a two property property-indexed keyframes specification with different numbers of values |
| PASS Element.animate() accepts a property-indexed keyframes specification with an invalid value |
| PASS Element.animate() accepts a one property two value property-indexed keyframes specification that needs to stringify its values |
| PASS Element.animate() accepts a property-indexed keyframes specification with a CSS variable reference |
| PASS Element.animate() accepts a property-indexed keyframes specification with a CSS variable reference in a shorthand property |
| PASS Element.animate() accepts a one property one value property-indexed keyframes specification |
| PASS Element.animate() accepts a one property one non-array value property-indexed keyframes specification |
| PASS Element.animate() accepts a one property two value property-indexed keyframes specification where the first value is invalid |
| PASS Element.animate() accepts a one property two value property-indexed keyframes specification where the second value is invalid |
| FAIL Element.animate() accepts a property-indexed keyframes specification with a CSS variable as the property assert_equals: number of frames expected 2 but got 0 |
| PASS Element.animate() accepts a property-indexed keyframe with a single offset |
| PASS Element.animate() accepts a property-indexed keyframe with an array of offsets |
| PASS Element.animate() accepts a property-indexed keyframe with an array of offsets that is too short |
| PASS Element.animate() accepts a property-indexed keyframe with an array of offsets that is too long |
| PASS Element.animate() accepts a property-indexed keyframe with an empty array of offsets |
| PASS Element.animate() accepts a property-indexed keyframe with an array of offsets with an embedded null value |
| PASS Element.animate() accepts a property-indexed keyframe with an array of offsets with a trailing null value |
| PASS Element.animate() accepts a property-indexed keyframe with an array of offsets with leading and trailing null values |
| PASS Element.animate() accepts a property-indexed keyframe with an array of offsets with adjacent null values |
| PASS Element.animate() accepts a property-indexed keyframe with an array of offsets with all null values (and too many at that) |
| PASS Element.animate() accepts a property-indexed keyframe with a single null offset |
| PASS Element.animate() accepts a property-indexed keyframe with an array of offsets that is not strictly ascending in the unused part of the array |
| PASS Element.animate() accepts a property-indexed keyframe without any specified easing |
| PASS Element.animate() accepts a property-indexed keyframe with a single easing |
| PASS Element.animate() accepts a property-indexed keyframe with an array of easings |
| PASS Element.animate() accepts a property-indexed keyframe with an array of easings that is too short |
| PASS Element.animate() accepts a property-indexed keyframe with a single-element array of easings |
| PASS Element.animate() accepts a property-indexed keyframe with an empty array of easings |
| PASS Element.animate() accepts a property-indexed keyframe with an array of easings that is too long |
| PASS Element.animate() accepts a property-indexed keyframe with a single composite operation |
| PASS Element.animate() accepts a property-indexed keyframe with a composite array |
| PASS Element.animate() accepts a property-indexed keyframe with a composite array that is too short |
| PASS Element.animate() accepts a property-indexed keyframe with a composite array that is too long |
| PASS Element.animate() accepts a property-indexed keyframe with a single-element composite array |
| PASS Element.animate() accepts a one property one keyframe sequence |
| PASS Element.animate() accepts a one property two keyframe sequence |
| PASS Element.animate() accepts a two property two keyframe sequence |
| PASS Element.animate() accepts a one shorthand property two keyframe sequence |
| PASS Element.animate() accepts a two property (a shorthand and one of its component longhands) two keyframe sequence |
| PASS Element.animate() accepts a two property keyframe sequence where one property is missing from the first keyframe |
| PASS Element.animate() accepts a two property keyframe sequence where one property is missing from the last keyframe |
| PASS Element.animate() accepts a one property two keyframe sequence that needs to stringify its values |
| PASS Element.animate() accepts a keyframe sequence with a CSS variable reference |
| PASS Element.animate() accepts a keyframe sequence with a CSS variable reference in a shorthand property |
| FAIL Element.animate() accepts a keyframe sequence with a CSS variable as its property assert_equals: properties on ComputedKeyframe #0 should match expected "--custom,composite,computedOffset,easing,offset" but got "composite,computedOffset,easing,offset" |
| PASS Element.animate() accepts a keyframe sequence with duplicate values for a given interior offset |
| PASS Element.animate() accepts a keyframe sequence with duplicate values for offsets 0 and 1 |
| PASS Element.animate() accepts a two property four keyframe sequence |
| PASS Element.animate() accepts a single keyframe sequence with omitted offset |
| PASS Element.animate() accepts a single keyframe sequence with null offset |
| PASS Element.animate() accepts a single keyframe sequence with string offset |
| PASS Element.animate() accepts a one property keyframe sequence with some omitted offsets |
| PASS Element.animate() accepts a one property keyframe sequence with some null offsets |
| PASS Element.animate() accepts a two property keyframe sequence with some omitted offsets |
| PASS Element.animate() accepts a one property keyframe sequence with all omitted offsets |
| PASS Element.animate() accepts a keyframe sequence with different easing values, but the same easing value for a given offset |
| PASS Element.animate() accepts a keyframe sequence with different composite values, but the same composite value for a given offset |
| PASS Element.animate() does not accept keyframes with an out-of-bounded positive offset |
| PASS Element.animate() does not accept keyframes with an out-of-bounded negative offset |
| PASS Element.animate() does not accept property-indexed keyframes not loosely sorted by offset |
| PASS Element.animate() does not accept property-indexed keyframes not loosely sorted by offset even though not all offsets are specified |
| PASS Element.animate() does not accept property-indexed keyframes with offsets out of range |
| PASS Element.animate() does not accept keyframes not loosely sorted by offset |
| PASS Element.animate() does not accept property-indexed keyframes with an invalid easing value |
| PASS Element.animate() does not accept property-indexed keyframes with an invalid easing value as one of the array values |
| PASS Element.animate() does not accept property-indexed keyframe with an invalid easing in the unused part of the array of easings |
| PASS Element.animate() does not accept empty property-indexed keyframe with an invalid easing |
| PASS Element.animate() does not accept empty property-indexed keyframe with an invalid easings array |
| PASS Element.animate() does not accept a keyframe sequence with an invalid easing value |
| PASS Element.animate() does not accept property-indexed keyframes with an invalid composite value |
| PASS Element.animate() does not accept property-indexed keyframes with an invalid composite value as one of the array values |
| PASS Element.animate() does not accept keyframes with an invalid composite value |
| PASS Element.animate() accepts a double as an options argument |
| PASS Element.animate() accepts a KeyframeAnimationOptions argument |
| PASS Element.animate() accepts an absent options argument |
| PASS Element.animate() does not accept invalid delay value: NaN |
| PASS Element.animate() does not accept invalid delay value: Infinity |
| PASS Element.animate() does not accept invalid delay value: -Infinity |
| PASS Element.animate() accepts a duration of 'auto' using a dictionary object |
| PASS Element.animate() does not accept invalid duration value: -1 |
| PASS Element.animate() does not accept invalid duration value: NaN |
| PASS Element.animate() does not accept invalid duration value: -Infinity |
| PASS Element.animate() does not accept invalid duration value: "abc" |
| PASS Element.animate() does not accept invalid duration value: -1 using a dictionary object |
| PASS Element.animate() does not accept invalid duration value: NaN using a dictionary object |
| PASS Element.animate() does not accept invalid duration value: -Infinity using a dictionary object |
| PASS Element.animate() does not accept invalid duration value: "abc" using a dictionary object |
| PASS Element.animate() does not accept invalid duration value: "100" using a dictionary object |
| PASS Element.animate() does not accept invalid easing: '' |
| PASS Element.animate() does not accept invalid easing: '7' |
| PASS Element.animate() does not accept invalid easing: 'test' |
| PASS Element.animate() does not accept invalid easing: 'initial' |
| PASS Element.animate() does not accept invalid easing: 'inherit' |
| PASS Element.animate() does not accept invalid easing: 'unset' |
| PASS Element.animate() does not accept invalid easing: 'unrecognized' |
| PASS Element.animate() does not accept invalid easing: 'var(--x)' |
| PASS Element.animate() does not accept invalid easing: 'ease-in-out, ease-out' |
| PASS Element.animate() does not accept invalid easing: 'cubic-bezier(1.1, 0, 1, 1)' |
| PASS Element.animate() does not accept invalid easing: 'cubic-bezier(0, 0, 1.1, 1)' |
| PASS Element.animate() does not accept invalid easing: 'cubic-bezier(-0.1, 0, 1, 1)' |
| PASS Element.animate() does not accept invalid easing: 'cubic-bezier(0, 0, -0.1, 1)' |
| PASS Element.animate() does not accept invalid easing: 'cubic-bezier(0.1, 0, 4, 0.4)' |
| PASS Element.animate() does not accept invalid easing: 'steps(-1, start)' |
| PASS Element.animate() does not accept invalid easing: 'steps(0.1, start)' |
| PASS Element.animate() does not accept invalid easing: 'steps(3, nowhere)' |
| PASS Element.animate() does not accept invalid easing: 'steps(-3, end)' |
| PASS Element.animate() does not accept invalid easing: 'function (a){return a}' |
| PASS Element.animate() does not accept invalid easing: 'function (x){return x}' |
| PASS Element.animate() does not accept invalid easing: 'function(x, y){return 0.3}' |
| PASS Element.animate() does not accept invalid iterationStart value: -1 |
| PASS Element.animate() does not accept invalid iterationStart value: NaN |
| PASS Element.animate() does not accept invalid iterationStart value: Infinity |
| PASS Element.animate() does not accept invalid iterationStart value: -Infinity |
| PASS Element.animate() does not accept invalid iterations value: -1 |
| PASS Element.animate() does not accept invalid iterations value: -Infinity |
| PASS Element.animate() does not accept invalid iterations value: NaN |
| PASS Element.animate() correctly sets the id attribute when no id is specified |
| PASS Element.animate() correctly sets the id attribute |
| PASS Element.animate() correctly sets the Animation's timeline |
| PASS Element.animate() correctly sets the Animation's timeline when triggered on an element in a different document |
| PASS Element.animate() correctly sets the Animation's timeline with no timeline parameter in KeyframeAnimationOptions. |
| PASS Element.animate() correctly sets the Animation's timeline with undefined timeline in KeyframeAnimationOptions. |
| FAIL Element.animate() correctly sets the Animation's timeline with null timeline in KeyframeAnimationOptions. assert_equals: Animation timeline should be null expected null but got object "[object DocumentTimeline]" |
| PASS Element.animate() correctly sets the Animation's timeline with DocumentTimeline in KeyframeAnimationOptions. |
| PASS Element.animate() calls play on the Animation |
| PASS Element.animate() does NOT trigger a style change event |
| PASS animate() with pseudoElement parameter creates an Animation object |
| PASS animate() with pseudoElement parameter without content creates an Animation object |
| PASS animate() with pseudoElement parameter creates an Animation object for ::marker |
| PASS animate() with pseudoElement parameter creates an Animation object for ::first-line |
| PASS animate() with pseudoElement an Animation object targeting the correct pseudo-element |
| PASS animate() with pseudoElement without content creates an Animation object targeting the correct pseudo-element |
| PASS animate() with pseudoElement an Animation object targeting the correct pseudo-element for ::marker |
| PASS animate() with pseudoElement an Animation object targeting the correct pseudo-element for ::first-line |
| PASS animate() with a non-null invalid pseudoElement '' throws a SyntaxError |
| PASS animate() with a non-null invalid pseudoElement 'before' throws a SyntaxError |
| PASS animate() with a non-null invalid pseudoElement ':abc' throws a SyntaxError |
| PASS animate() with a non-null invalid pseudoElement '::abc' throws a SyntaxError |
| FAIL animate() with a non-null invalid pseudoElement '::placeholder' throws a SyntaxError assert_throws_dom: function "() => { |
| div.animate(null, {pseudoElement: pseudo}); |
| }" did not throw |
| |