Best JavaScript code snippet using wpt
web-platform-tests-expectations.js
Source:web-platform-tests-expectations.js
1// Expectations to be used by karma-testharness-adapter.js.2module.exports = {3 skip: {4 'test/web-platform-tests/web-animations/interfaces/Animation/constructor.html':5 'KeyframeEffectReadOnly is not defined causing the test to timeout.',6 },7 flakyTestIndicator: 'FLAKY_TEST_RESULT',8 // Schema for failureConfigurations:9 // failureConfigurations := [ <failureConfiguration> ]10 // failureConfiguration := { configuration: <configuration>?, failures: <failures> }11 // configuration := { target: <string>?, withNativeFallback: <bool>? }12 // failures := { <test URL>: { <test name>: <failure message> } }13 failureConfigurations: [14 {15 configuration: {16 target: 'web-animations',17 withNativeFallback: true,18 },19 failures: {20 'test/web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-context.html': {21 'Effect values reflect changes to font-size when computed style is not immediately flushed':22 'assert_equals: Effect value after updating font-size on parent element expected "300px" but got "150px"',23 },24 },25 },26 {27 configuration: {28 target: 'web-animations',29 withNativeFallback: false,30 },31 failures: {32 'test/web-platform-tests/web-animations/interfaces/Animatable/animate-basic.html': {33 'Element.animate() creates an Animation object':34 'assert_equals: Returned object is an Animation expected "[object Animation]" but got "[object Object]"',35 'Element.animate() does not accept property-indexed keyframes with an invalid easing value':36 'assert_throws: function "function () {\n div.animate(subtest.input, 2000);\n }" did not throw',37 },38 'test/web-platform-tests/web-animations/interfaces/Animation/cancel.html': {39 'Animated style is cleared after calling Animation.cancel()':40 'assert_not_equals: transform style is animated before cancelling got disallowed value "none"',41 },42 'test/web-platform-tests/web-animations/interfaces/Animation/pause.html': {43 'pause() from idle':44 'assert_equals: initially pause-pending expected "pending" but got "paused"',45 },46 'test/web-platform-tests/web-animations/interfaces/KeyframeEffect/effect-easing.html': {47 'effect easing produces negative values 1 with keyframe easing cubic-bezier(0, 0, 0, 0)':48 'assert_approx_equals: The left of the animation should be approximately -29.501119758965654 at 250ms expected -29.501119758965654 +/- 0.01 but got 0',49 'effect easing produces values greater than 1 with keyframe easing cubic-bezier(1, 1, 1, 1)':50 'assert_approx_equals: The left of the animation should be approximately 102.40666638411385 at 250ms expected 102.40666638411385 +/- 0.01 but got 100',51 'effect easing which produces values greater than 1 and the tangent on the upper boundary is infinity with keyframe easing producing values greater than 1':52 'assert_approx_equals: The left of the animation should be approximately 100 at 240ms expected 100 +/- 0.01 but got 99.5333',53 },54 },55 },56 {57 configuration: {58 target: 'web-animations-next',59 withNativeFallback: true,60 },61 failures: {62 'test/web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-context.html': {63 'Effect values reflect changes to font-size when computed style is not immediately flushed':64 'assert_equals: Effect value after updating font-size on parent element expected "300px" but got "150px"',65 },66 'test/web-platform-tests/web-animations/interfaces/Animatable/animate-basic.html': {67 'Element.animate() creates an Animation object':68 'assert_equals: Returned object is an Animation expected "[object Animation]" but got "[object Object]"',69 },70 'test/web-platform-tests/web-animations/interfaces/Animatable/animate-effect.html': {71 'Element.animate() accepts a double as an options argument':72 'assert_equals: expected "auto" but got "none"',73 'Element.animate() accepts a keyframe sequence where greater shorthand precedes lesser shorthand':74 'anim.effect.getKeyframes is not a function',75 'Element.animate() accepts a keyframe sequence where lesser shorthand precedes greater shorthand':76 'anim.effect.getKeyframes is not a function',77 'Element.animate() accepts a keyframe sequence where longhand precedes shorthand':78 'anim.effect.getKeyframes is not a function',79 'Element.animate() accepts a keyframe sequence where shorthand precedes longhand':80 'anim.effect.getKeyframes is not a function',81 'Element.animate() accepts a keyframe sequence with a CSS variable reference':82 'anim.effect.getKeyframes is not a function',83 'Element.animate() accepts a keyframe sequence with a CSS variable reference in a shorthand property':84 'anim.effect.getKeyframes is not a function',85 'Element.animate() accepts a keyframe sequence with different composite values, but the same composite value for a given offset':86 'add compositing is not supported',87 'Element.animate() accepts a keyframe sequence with different easing values, but the same easing value for a given offset':88 'anim.effect.getKeyframes is not a function',89 'Element.animate() accepts a keyframe sequence with duplicate values for a given interior offset':90 'anim.effect.getKeyframes is not a function',91 'Element.animate() accepts a keyframe sequence with duplicate values for offsets 0 and 1':92 'anim.effect.getKeyframes is not a function',93 'Element.animate() accepts a keyframe sequence with repeated values at offset 1 with different easings':94 'anim.effect.getKeyframes is not a function',95 'Element.animate() accepts a one property keyframe sequence with all omitted offsets':96 'anim.effect.getKeyframes is not a function',97 'Element.animate() accepts a one property keyframe sequence with some omitted offsets':98 'anim.effect.getKeyframes is not a function',99 'Element.animate() accepts a one property one keyframe sequence':100 'Animation to or from an underlying value is not yet supported.',101 'Element.animate() accepts a one property one non-array value property-indexed keyframes specification':102 'Animation to or from an underlying value is not yet supported.',103 'Element.animate() accepts a one property one value property-indexed keyframes specification':104 'Animation to or from an underlying value is not yet supported.',105 'Element.animate() accepts a one property two keyframe sequence':106 'anim.effect.getKeyframes is not a function',107 'Element.animate() accepts a one property two keyframe sequence that needs to stringify its values':108 'anim.effect.getKeyframes is not a function',109 'Element.animate() accepts a one property two value property-indexed keyframes specification':110 'anim.effect.getKeyframes is not a function',111 'Element.animate() accepts a one property two value property-indexed keyframes specification that needs to stringify its values':112 'anim.effect.getKeyframes is not a function',113 'Element.animate() accepts a one property two value property-indexed keyframes specification where the first value is invalid':114 'Animation to or from an underlying value is not yet supported.',115 'Element.animate() accepts a one property two value property-indexed keyframes specification where the second value is invalid':116 'Animation to or from an underlying value is not yet supported.',117 'Element.animate() accepts a one shorthand property two keyframe sequence':118 'anim.effect.getKeyframes is not a function',119 'Element.animate() accepts a one shorthand property two value property-indexed keyframes specification':120 'anim.effect.getKeyframes is not a function',121 'Element.animate() accepts a property-indexed keyframes specification with a CSS variable reference':122 'anim.effect.getKeyframes is not a function',123 'Element.animate() accepts a property-indexed keyframes specification with a CSS variable reference in a shorthand property':124 'anim.effect.getKeyframes is not a function',125 'Element.animate() accepts a property-indexed keyframes specification with an invalid value':126 'anim.effect.getKeyframes is not a function',127 'Element.animate() accepts a single keyframe sequence with omitted offsets':128 'Animation to or from an underlying value is not yet supported.',129 'Element.animate() accepts a two property (a shorthand and one of its component longhands) two keyframe sequence':130 'anim.effect.getKeyframes is not a function',131 'Element.animate() accepts a two property (one shorthand and one of its longhand components) two value property-indexed keyframes specification':132 'anim.effect.getKeyframes is not a function',133 'Element.animate() accepts a two property four keyframe sequence':134 'anim.effect.getKeyframes is not a function',135 'Element.animate() accepts a two property keyframe sequence where one property is missing from the first keyframe':136 'Animation to or from an underlying value is not yet supported.',137 'Element.animate() accepts a two property keyframe sequence where one property is missing from the last keyframe':138 'Animation to or from an underlying value is not yet supported.',139 'Element.animate() accepts a two property keyframe sequence with some omitted offsets':140 'anim.effect.getKeyframes is not a function',141 'Element.animate() accepts a two property property-indexed keyframes specification with different numbers of values':142 'anim.effect.getKeyframes is not a function',143 'Element.animate() accepts a two property two keyframe sequence':144 'anim.effect.getKeyframes is not a function',145 'Element.animate() accepts a two property two value property-indexed keyframes specification':146 'anim.effect.getKeyframes is not a function',147 'Element.animate() accepts an absent options argument':148 'assert_equals: expected (string) "auto" but got (number) 0',149 'Element.animate() creates an Animation object with a KeyframeEffect':150 'assert_equals: Returned Animation has a KeyframeEffect expected "[object KeyframeEffect]" but got "[object Object]"',151 },152 'test/web-platform-tests/web-animations/interfaces/Animatable/animate-pseudo-element.html': {153 'CSSPseudoElement.animate() creates an Animation object':154 'document.getAnimations is not a function',155 'CSSPseudoElement.animate() creates an Animation object targeting to the correct CSSPseudoElement object':156 'document.getAnimations is not a function',157 },158 'test/web-platform-tests/web-animations/interfaces/Animation/finish.html': {159 'Test finish() resolves finished promise synchronously with an animation without a target':160 'KeyframeEffectReadOnly is not defined',161 'Test finish() while pause-pending with negative playbackRate':162 'FLAKY_TEST_RESULT',163 'Test finish() while pause-pending with positive playbackRate':164 'FLAKY_TEST_RESULT',165 'Test finish() while play-pending':166 'FLAKY_TEST_RESULT',167 'Test finishing of animation with a current time past the effect end':168 'animation.effect.getComputedTiming is not a function',169 'Test normally finished animation resolves finished promise synchronously with an animation without a target':170 'KeyframeEffectReadOnly is not defined',171 },172 'test/web-platform-tests/web-animations/interfaces/Animation/finished.html': {173 'Test finished promise is not resolved once the animation falls out finished state even though the current finished promise is generated soon after animation state became finished':174 'assert_unreached: Animation.finished should not be resolved Reached unreachable code',175 'Test finished promise is not resolved when the animation falls out finished state immediately':176 'assert_unreached: Animation.finished should not be resolved Reached unreachable code',177 'cancelling an idle animation still replaces the finished promise':178 'assert_not_equals: A redundant call to cancel() should still generate a new finished promise got disallowed value object "[object Promise]"',179 },180 'test/web-platform-tests/web-animations/interfaces/Animation/oncancel.html': {181 'oncancel event is fired when animation.cancel() is called.':182 'FLAKY_TEST_RESULT',183 },184 'test/web-platform-tests/web-animations/interfaces/Animation/onfinish.html': {185 'onfinish event is fired when animation.finish() is called':186 'FLAKY_TEST_RESULT',187 },188 'test/web-platform-tests/web-animations/interfaces/Animation/playbackRate.html': {189 'Test the effect of setting playbackRate while playing animation':190 'FLAKY_TEST_RESULT',191 },192 'test/web-platform-tests/web-animations/interfaces/Animation/reverse.html': {193 'reverse() when playbackRate < 0 and currentTime < 0':194 'assert_equals: reverse() should start playing from the start of animation time if the playbackRate < 0 and the currentTime < 0 expected 0 but got -200000',195 'reverse() when playbackRate < 0 and currentTime < 0 and the target effect end is positive infinity':196 'assert_equals: reverse() should start playing from the start of animation time if the playbackRate < 0 and the currentTime < 0 and the target effect is positive infinity expected 0 but got -200000',197 'reverse() when playbackRate < 0 and currentTime > effect end':198 'assert_equals: reverse() should start playing from the start of animation time if the playbackRate < 0 and the currentTime > effect end expected 0 but got 200000',199 'reverse() when playbackRate > 0 and currentTime < 0':200 'assert_equals: reverse() should start playing from the animation effect end if the playbackRate > 0 and the currentTime < 0 expected 100000 but got -200000',201 'reverse() when playbackRate > 0 and currentTime > effect end':202 'assert_equals: reverse() should start playing from the animation effect end if the playbackRate > 0 and the currentTime > effect end expected 100000 but got 200000',203 },204 'test/web-platform-tests/web-animations/interfaces/AnimationEffectTiming/delay.html': {205 'Test adding a positive delay to an animation without a backwards fill makes it no longer active':206 'anim.effect.getComputedTiming is not a function',207 'Test finishing an animation using a large negative delay':208 'anim.effect.getComputedTiming is not a function',209 'Test seeking an animation by setting a negative delay':210 'anim.effect.getComputedTiming is not a function',211 'set delay -100':212 'anim.effect.getComputedTiming is not a function',213 'set delay 100':214 'anim.effect.getComputedTiming is not a function',215 },216 'test/web-platform-tests/web-animations/interfaces/AnimationEffectTiming/duration.html': {217 'set NaN duration in animate using a duration parameter':218 'assert_throws: function "function () {\n div.animate({ opacity: [ 0, 1 ] }, NaN);\n }" did not throw',219 'set auto duration in animate as object':220 'assert_equals: set duration \'auto\' expected (string) "auto" but got (number) 0',221 'set duration 123.45':222 'anim.effect.getComputedTiming is not a function',223 'set duration Infinity':224 'anim.effect.getComputedTiming is not a function',225 'set duration auto':226 'anim.effect.getComputedTiming is not a function',227 },228 'test/web-platform-tests/web-animations/interfaces/AnimationEffectTiming/easing.html': {229 'Change the easing while the animation is running':230 'anim.effect.getComputedTiming is not a function',231 'ease function':232 'animation.effect.getComputedTiming is not a function',233 'ease-in function':234 'animation.effect.getComputedTiming is not a function',235 'ease-in-out function':236 'animation.effect.getComputedTiming is not a function',237 'ease-out function':238 'animation.effect.getComputedTiming is not a function',239 'easing function which produces values greater than 1':240 'animation.effect.getComputedTiming is not a function',241 'linear function':242 'animation.effect.getComputedTiming is not a function',243 'steps(end) function':244 'animation.effect.getComputedTiming is not a function',245 'steps(start) function':246 'animation.effect.getComputedTiming is not a function',247 },248 'test/web-platform-tests/web-animations/interfaces/AnimationEffectTiming/endDelay.html': {249 'onfinish event is fired currentTime is after endTime':250 'FLAKY_TEST_RESULT',251 'set endDelay -1000':252 'anim.effect.getComputedTiming is not a function',253 'set endDelay 123.45':254 'anim.effect.getComputedTiming is not a function',255 },256 'test/web-platform-tests/web-animations/interfaces/AnimationEffectTiming/fill.html': {257 'set fill backwards':258 'anim.effect.getComputedTiming is not a function',259 'set fill both':260 'anim.effect.getComputedTiming is not a function',261 'set fill forwards':262 'anim.effect.getComputedTiming is not a function',263 'set fill none':264 'anim.effect.getComputedTiming is not a function',265 },266 'test/web-platform-tests/web-animations/interfaces/AnimationEffectTiming/getAnimations.html': {267 'when currentTime changed in duration:1000, delay: -500, endDelay: -500':268 'assert_equals: when currentTime 0 expected 0 but got 1',269 'when currentTime changed in duration:1000, delay: 500, endDelay: -500':270 'assert_equals: set currentTime 1000 expected 0 but got 1',271 'when duration is changed':272 'assert_equals: set duration 102000 expected (object) object "[object Object]" but got (undefined) undefined',273 'when endDelay is changed':274 'assert_equals: set negative endDelay so as endTime is less than currentTime expected 0 but got 1',275 'when iterations is changed':276 'assert_equals: set iterations 10 expected (object) object "[object Object]" but got (undefined) undefined',277 },278 'test/web-platform-tests/web-animations/interfaces/AnimationEffectTiming/getComputedStyle.html': {279 'change currentTime when fill forwards and endDelay is negative':280 'assert_equals: set currentTime same as endTime expected "0" but got "0.5"',281 'changed duration immediately updates its computed styles':282 'FLAKY_TEST_RESULT',283 'changed iterations immediately updates its computed styles':284 'FLAKY_TEST_RESULT',285 },286 'test/web-platform-tests/web-animations/interfaces/AnimationEffectTiming/iterationStart.html': {287 'Test invalid iterationStart value':288 'assert_throws: function "function () {\n anim.effect.timing.iterationStart = -1;\n }" threw object "ReferenceError: timing is not defined" ("ReferenceError") expected object "[object Object]" ("TypeError")',289 'Test that changing the iterationStart affects computed timing during the active phase':290 'anim.effect.getComputedTiming is not a function',291 'Test that changing the iterationStart affects computed timing when backwards-filling':292 'anim.effect.getComputedTiming is not a function',293 'Test that changing the iterationStart affects computed timing when forwards-filling':294 'anim.effect.getComputedTiming is not a function',295 },296 'test/web-platform-tests/web-animations/interfaces/AnimationEffectTiming/iterations.html': {297 'set iterations 2':298 'anim.effect.getComputedTiming is not a function',299 'set iterations Infinity':300 'anim.effect.getComputedTiming is not a function',301 },302 'test/web-platform-tests/web-animations/interfaces/AnimationTimeline/document-timeline.html': {303 'document.timeline.currentTime liveness tests':304 'assert_true: document.timeline.currentTime increases between script blocks expected true got false',305 'document.timeline.currentTime value tests':306 'assert_true: document.timeline.currentTime is positive expected true got false',307 },308 'test/web-platform-tests/web-animations/interfaces/AnimationTimeline/idlharness.html': {309 'AnimationTimeline interface object length':310 'assert_own_property: self does not have own property "AnimationTimeline" expected property "AnimationTimeline" missing',311 'AnimationTimeline interface object name':312 'assert_own_property: self does not have own property "AnimationTimeline" expected property "AnimationTimeline" missing',313 'AnimationTimeline interface: attribute currentTime':314 'assert_own_property: self does not have own property "AnimationTimeline" expected property "AnimationTimeline" missing',315 'AnimationTimeline interface: document.timeline must inherit property "currentTime" with the proper type (0)':316 'assert_inherits: property "currentTime" found on object expected in prototype chain',317 'AnimationTimeline interface: existence and properties of interface object':318 'assert_own_property: self does not have own property "AnimationTimeline" expected property "AnimationTimeline" missing',319 'AnimationTimeline interface: existence and properties of interface prototype object':320 'assert_own_property: self does not have own property "AnimationTimeline" expected property "AnimationTimeline" missing',321 'AnimationTimeline interface: existence and properties of interface prototype object\'s "constructor" property':322 'assert_own_property: self does not have own property "AnimationTimeline" expected property "AnimationTimeline" missing',323 'DocumentTimeline interface object length':324 'assert_own_property: self does not have own property "DocumentTimeline" expected property "DocumentTimeline" missing',325 'DocumentTimeline interface object name':326 'assert_own_property: self does not have own property "DocumentTimeline" expected property "DocumentTimeline" missing',327 'DocumentTimeline interface: existence and properties of interface object':328 'assert_own_property: self does not have own property "DocumentTimeline" expected property "DocumentTimeline" missing',329 'DocumentTimeline interface: existence and properties of interface prototype object':330 'assert_own_property: self does not have own property "DocumentTimeline" expected property "DocumentTimeline" missing',331 'DocumentTimeline interface: existence and properties of interface prototype object\'s "constructor" property':332 'assert_own_property: self does not have own property "DocumentTimeline" expected property "DocumentTimeline" missing',333 'DocumentTimeline must be primary interface of document.timeline':334 'assert_own_property: self does not have own property "DocumentTimeline" expected property "DocumentTimeline" missing',335 'Stringification of document.timeline':336 'assert_equals: class string of document.timeline expected "[object DocumentTimeline]" but got "[object Object]"',337 },338 'test/web-platform-tests/web-animations/interfaces/Document/getAnimations.html': {339 'Test document.getAnimations for non-animated content':340 'document.getAnimations is not a function',341 'Test document.getAnimations for script-generated animations':342 'document.getAnimations is not a function',343 'Test document.getAnimations with null target':344 'KeyframeEffectReadOnly is not defined',345 'Test the order of document.getAnimations with script generated animations':346 'document.getAnimations is not a function',347 },348 'test/web-platform-tests/web-animations/interfaces/KeyframeEffect/constructor.html': {349 'Invalid KeyframeEffectReadOnly option by -Infinity':350 'assert_throws: function "function () {\n new KeyframeEffectReadOnly(target,\n { left: ["10px", "20px"] },\n stest.input);\n }" threw object "ReferenceError: KeyframeEffectReadOnly is not defined" ("ReferenceError") expected object "[object Object]" ("TypeError")',351 'Invalid KeyframeEffectReadOnly option by NaN':352 'assert_throws: function "function () {\n new KeyframeEffectReadOnly(target,\n { left: ["10px", "20px"] },\n stest.input);\n }" threw object "ReferenceError: KeyframeEffectReadOnly is not defined" ("ReferenceError") expected object "[object Object]" ("TypeError")',353 'Invalid KeyframeEffectReadOnly option by a NaN duration':354 'assert_throws: function "function () {\n new KeyframeEffectReadOnly(target,\n { left: ["10px", "20px"] },\n stest.input);\n }" threw object "ReferenceError: KeyframeEffectReadOnly is not defined" ("ReferenceError") expected object "[object Object]" ("TypeError")',355 'Invalid KeyframeEffectReadOnly option by a NaN iterations':356 'assert_throws: function "function () {\n new KeyframeEffectReadOnly(target,\n { left: ["10px", "20px"] },\n stest.input);\n }" threw object "ReferenceError: KeyframeEffectReadOnly is not defined" ("ReferenceError") expected object "[object Object]" ("TypeError")',357 'Invalid KeyframeEffectReadOnly option by a blank easing':358 'assert_throws: function "function () {\n new KeyframeEffectReadOnly(target,\n { left: ["10px", "20px"] },\n stest.input);\n }" threw object "ReferenceError: KeyframeEffectReadOnly is not defined" ("ReferenceError") expected object "[object Object]" ("TypeError")',359 'Invalid KeyframeEffectReadOnly option by a multi-value easing':360 'assert_throws: function "function () {\n new KeyframeEffectReadOnly(target,\n { left: ["10px", "20px"] },\n stest.input);\n }" threw object "ReferenceError: KeyframeEffectReadOnly is not defined" ("ReferenceError") expected object "[object Object]" ("TypeError")',361 'Invalid KeyframeEffectReadOnly option by a negative Infinity duration':362 'assert_throws: function "function () {\n new KeyframeEffectReadOnly(target,\n { left: ["10px", "20px"] },\n stest.input);\n }" threw object "ReferenceError: KeyframeEffectReadOnly is not defined" ("ReferenceError") expected object "[object Object]" ("TypeError")',363 'Invalid KeyframeEffectReadOnly option by a negative Infinity iterations':364 'assert_throws: function "function () {\n new KeyframeEffectReadOnly(target,\n { left: ["10px", "20px"] },\n stest.input);\n }" threw object "ReferenceError: KeyframeEffectReadOnly is not defined" ("ReferenceError") expected object "[object Object]" ("TypeError")',365 'Invalid KeyframeEffectReadOnly option by a negative duration':366 'assert_throws: function "function () {\n new KeyframeEffectReadOnly(target,\n { left: ["10px", "20px"] },\n stest.input);\n }" threw object "ReferenceError: KeyframeEffectReadOnly is not defined" ("ReferenceError") expected object "[object Object]" ("TypeError")',367 'Invalid KeyframeEffectReadOnly option by a negative iterations':368 'assert_throws: function "function () {\n new KeyframeEffectReadOnly(target,\n { left: ["10px", "20px"] },\n stest.input);\n }" threw object "ReferenceError: KeyframeEffectReadOnly is not defined" ("ReferenceError") expected object "[object Object]" ("TypeError")',369 'Invalid KeyframeEffectReadOnly option by a negative value':370 'assert_throws: function "function () {\n new KeyframeEffectReadOnly(target,\n { left: ["10px", "20px"] },\n stest.input);\n }" threw object "ReferenceError: KeyframeEffectReadOnly is not defined" ("ReferenceError") expected object "[object Object]" ("TypeError")',371 'Invalid KeyframeEffectReadOnly option by a string duration':372 'assert_throws: function "function () {\n new KeyframeEffectReadOnly(target,\n { left: ["10px", "20px"] },\n stest.input);\n }" threw object "ReferenceError: KeyframeEffectReadOnly is not defined" ("ReferenceError") expected object "[object Object]" ("TypeError")',373 'Invalid KeyframeEffectReadOnly option by a variable easing':374 'assert_throws: function "function () {\n new KeyframeEffectReadOnly(target,\n { left: ["10px", "20px"] },\n stest.input);\n }" threw object "ReferenceError: KeyframeEffectReadOnly is not defined" ("ReferenceError") expected object "[object Object]" ("TypeError")',375 'Invalid KeyframeEffectReadOnly option by an \'inherit\' easing':376 'assert_throws: function "function () {\n new KeyframeEffectReadOnly(target,\n { left: ["10px", "20px"] },\n stest.input);\n }" threw object "ReferenceError: KeyframeEffectReadOnly is not defined" ("ReferenceError") expected object "[object Object]" ("TypeError")',377 'Invalid KeyframeEffectReadOnly option by an \'initial\' easing':378 'assert_throws: function "function () {\n new KeyframeEffectReadOnly(target,\n { left: ["10px", "20px"] },\n stest.input);\n }" threw object "ReferenceError: KeyframeEffectReadOnly is not defined" ("ReferenceError") expected object "[object Object]" ("TypeError")',379 'Invalid KeyframeEffectReadOnly option by an unrecognized easing':380 'assert_throws: function "function () {\n new KeyframeEffectReadOnly(target,\n { left: ["10px", "20px"] },\n stest.input);\n }" threw object "ReferenceError: KeyframeEffectReadOnly is not defined" ("ReferenceError") expected object "[object Object]" ("TypeError")',381 'Invalid easing [a blank easing] in keyframe sequence should be thrown':382 'assert_throws: function "function () {\n new KeyframeEffectReadOnly(target, subtest.input);\n }" threw object "ReferenceError: KeyframeEffectReadOnly is not defined" ("ReferenceError") expected object "TypeError" ("TypeError")',383 'Invalid easing [a multi-value easing] in keyframe sequence should be thrown':384 'assert_throws: function "function () {\n new KeyframeEffectReadOnly(target, subtest.input);\n }" threw object "ReferenceError: KeyframeEffectReadOnly is not defined" ("ReferenceError") expected object "TypeError" ("TypeError")',385 'Invalid easing [a variable easing] in keyframe sequence should be thrown':386 'assert_throws: function "function () {\n new KeyframeEffectReadOnly(target, subtest.input);\n }" threw object "ReferenceError: KeyframeEffectReadOnly is not defined" ("ReferenceError") expected object "TypeError" ("TypeError")',387 'Invalid easing [an \'inherit\' easing] in keyframe sequence should be thrown':388 'assert_throws: function "function () {\n new KeyframeEffectReadOnly(target, subtest.input);\n }" threw object "ReferenceError: KeyframeEffectReadOnly is not defined" ("ReferenceError") expected object "TypeError" ("TypeError")',389 'Invalid easing [an \'initial\' easing] in keyframe sequence should be thrown':390 'assert_throws: function "function () {\n new KeyframeEffectReadOnly(target, subtest.input);\n }" threw object "ReferenceError: KeyframeEffectReadOnly is not defined" ("ReferenceError") expected object "TypeError" ("TypeError")',391 'Invalid easing [an unrecognized easing] in keyframe sequence should be thrown':392 'assert_throws: function "function () {\n new KeyframeEffectReadOnly(target, subtest.input);\n }" threw object "ReferenceError: KeyframeEffectReadOnly is not defined" ("ReferenceError") expected object "TypeError" ("TypeError")',393 'KeyframeEffect constructor creates an AnimationEffectTiming timing object':394 'assert_equals: expected "[object KeyframeEffect]" but got "[object Object]"',395 'KeyframeEffectReadOnly constructor throws with a keyframe sequence with an invalid easing value':396 'assert_throws: function "function () {\n new KeyframeEffectReadOnly(target, subtest.input);\n }" threw object "ReferenceError: KeyframeEffectReadOnly is not defined" ("ReferenceError") expected object "[object Object]" ("TypeError")',397 'KeyframeEffectReadOnly constructor throws with keyframes not loosely sorted by offset':398 'assert_throws: function "function () {\n new KeyframeEffectReadOnly(target, subtest.input);\n }" threw object "ReferenceError: KeyframeEffectReadOnly is not defined" ("ReferenceError") expected object "[object Object]" ("TypeError")',399 'KeyframeEffectReadOnly constructor throws with keyframes with an invalid composite value':400 'assert_throws: function "function () {\n new KeyframeEffectReadOnly(target, subtest.input);\n }" threw object "ReferenceError: KeyframeEffectReadOnly is not defined" ("ReferenceError") expected object "[object Object]" ("TypeError")',401 'KeyframeEffectReadOnly constructor throws with keyframes with an out-of-bounded negative offset':402 'assert_throws: function "function () {\n new KeyframeEffectReadOnly(target, subtest.input);\n }" threw object "ReferenceError: KeyframeEffectReadOnly is not defined" ("ReferenceError") expected object "[object Object]" ("TypeError")',403 'KeyframeEffectReadOnly constructor throws with keyframes with an out-of-bounded positive offset':404 'assert_throws: function "function () {\n new KeyframeEffectReadOnly(target, subtest.input);\n }" threw object "ReferenceError: KeyframeEffectReadOnly is not defined" ("ReferenceError") expected object "[object Object]" ("TypeError")',405 'KeyframeEffectReadOnly constructor throws with property-indexed keyframes with an invalid easing value':406 'assert_throws: function "function () {\n new KeyframeEffectReadOnly(target, subtest.input);\n }" threw object "ReferenceError: KeyframeEffectReadOnly is not defined" ("ReferenceError") expected object "[object Object]" ("TypeError")',407 'a KeyframeEffectReadOnly can be constructed with a keyframe sequence where greater shorthand precedes lesser shorthand':408 'KeyframeEffectReadOnly is not defined',409 'a KeyframeEffectReadOnly can be constructed with a keyframe sequence where lesser shorthand precedes greater shorthand':410 'KeyframeEffectReadOnly is not defined',411 'a KeyframeEffectReadOnly can be constructed with a keyframe sequence where longhand precedes shorthand':412 'KeyframeEffectReadOnly is not defined',413 'a KeyframeEffectReadOnly can be constructed with a keyframe sequence where shorthand precedes longhand':414 'KeyframeEffectReadOnly is not defined',415 'a KeyframeEffectReadOnly can be constructed with a keyframe sequence with a CSS variable reference':416 'KeyframeEffectReadOnly is not defined',417 'a KeyframeEffectReadOnly can be constructed with a keyframe sequence with a CSS variable reference in a shorthand property':418 'KeyframeEffectReadOnly is not defined',419 'a KeyframeEffectReadOnly can be constructed with a keyframe sequence with different composite values, but the same composite value for a given offset':420 'KeyframeEffectReadOnly is not defined',421 'a KeyframeEffectReadOnly can be constructed with a keyframe sequence with different easing values, but the same easing value for a given offset':422 'KeyframeEffectReadOnly is not defined',423 'a KeyframeEffectReadOnly can be constructed with a keyframe sequence with duplicate values for a given interior offset':424 'KeyframeEffectReadOnly is not defined',425 'a KeyframeEffectReadOnly can be constructed with a keyframe sequence with duplicate values for offsets 0 and 1':426 'KeyframeEffectReadOnly is not defined',427 'a KeyframeEffectReadOnly can be constructed with a keyframe sequence with repeated values at offset 1 with different easings':428 'KeyframeEffectReadOnly is not defined',429 'a KeyframeEffectReadOnly can be constructed with a one property keyframe sequence with all omitted offsets':430 'KeyframeEffectReadOnly is not defined',431 'a KeyframeEffectReadOnly can be constructed with a one property keyframe sequence with some omitted offsets':432 'KeyframeEffectReadOnly is not defined',433 'a KeyframeEffectReadOnly can be constructed with a one property one keyframe sequence':434 'KeyframeEffectReadOnly is not defined',435 'a KeyframeEffectReadOnly can be constructed with a one property one non-array value property-indexed keyframes specification':436 'KeyframeEffectReadOnly is not defined',437 'a KeyframeEffectReadOnly can be constructed with a one property one value property-indexed keyframes specification':438 'KeyframeEffectReadOnly is not defined',439 'a KeyframeEffectReadOnly can be constructed with a one property two keyframe sequence':440 'KeyframeEffectReadOnly is not defined',441 'a KeyframeEffectReadOnly can be constructed with a one property two keyframe sequence that needs to stringify its values':442 'KeyframeEffectReadOnly is not defined',443 'a KeyframeEffectReadOnly can be constructed with a one property two value property-indexed keyframes specification':444 'KeyframeEffectReadOnly is not defined',445 'a KeyframeEffectReadOnly can be constructed with a one property two value property-indexed keyframes specification that needs to stringify its values':446 'KeyframeEffectReadOnly is not defined',447 'a KeyframeEffectReadOnly can be constructed with a one property two value property-indexed keyframes specification where the first value is invalid':448 'KeyframeEffectReadOnly is not defined',449 'a KeyframeEffectReadOnly can be constructed with a one property two value property-indexed keyframes specification where the second value is invalid':450 'KeyframeEffectReadOnly is not defined',451 'a KeyframeEffectReadOnly can be constructed with a one shorthand property two keyframe sequence':452 'KeyframeEffectReadOnly is not defined',453 'a KeyframeEffectReadOnly can be constructed with a one shorthand property two value property-indexed keyframes specification':454 'KeyframeEffectReadOnly is not defined',455 'a KeyframeEffectReadOnly can be constructed with a property-indexed keyframes specification with a CSS variable reference':456 'KeyframeEffectReadOnly is not defined',457 'a KeyframeEffectReadOnly can be constructed with a property-indexed keyframes specification with a CSS variable reference in a shorthand property':458 'KeyframeEffectReadOnly is not defined',459 'a KeyframeEffectReadOnly can be constructed with a property-indexed keyframes specification with an invalid value':460 'KeyframeEffectReadOnly is not defined',461 'a KeyframeEffectReadOnly can be constructed with a single keyframe sequence with omitted offsets':462 'KeyframeEffectReadOnly is not defined',463 'a KeyframeEffectReadOnly can be constructed with a two property (a shorthand and one of its component longhands) two keyframe sequence':464 'KeyframeEffectReadOnly is not defined',465 'a KeyframeEffectReadOnly can be constructed with a two property (one shorthand and one of its longhand components) two value property-indexed keyframes specification':466 'KeyframeEffectReadOnly is not defined',467 'a KeyframeEffectReadOnly can be constructed with a two property four keyframe sequence':468 'KeyframeEffectReadOnly is not defined',469 'a KeyframeEffectReadOnly can be constructed with a two property keyframe sequence where one property is missing from the first keyframe':470 'KeyframeEffectReadOnly is not defined',471 'a KeyframeEffectReadOnly can be constructed with a two property keyframe sequence where one property is missing from the last keyframe':472 'KeyframeEffectReadOnly is not defined',473 'a KeyframeEffectReadOnly can be constructed with a two property keyframe sequence with some omitted offsets':474 'KeyframeEffectReadOnly is not defined',475 'a KeyframeEffectReadOnly can be constructed with a two property property-indexed keyframes specification with different numbers of values':476 'KeyframeEffectReadOnly is not defined',477 'a KeyframeEffectReadOnly can be constructed with a two property two keyframe sequence':478 'KeyframeEffectReadOnly is not defined',479 'a KeyframeEffectReadOnly can be constructed with a two property two value property-indexed keyframes specification':480 'KeyframeEffectReadOnly is not defined',481 'a KeyframeEffectReadOnly can be constructed with no frames':482 'KeyframeEffectReadOnly is not defined',483 'a KeyframeEffectReadOnly constructed by +Infinity':484 'KeyframeEffectReadOnly is not defined',485 'a KeyframeEffectReadOnly constructed by a double value':486 'KeyframeEffectReadOnly is not defined',487 'a KeyframeEffectReadOnly constructed by a forwards fill':488 'KeyframeEffectReadOnly is not defined',489 'a KeyframeEffectReadOnly constructed by a normal KeyframeEffectOptions object':490 'KeyframeEffectReadOnly is not defined',491 'a KeyframeEffectReadOnly constructed by an Infinity duration':492 'KeyframeEffectReadOnly is not defined',493 'a KeyframeEffectReadOnly constructed by an Infinity iterations':494 'KeyframeEffectReadOnly is not defined',495 'a KeyframeEffectReadOnly constructed by an auto duration':496 'KeyframeEffectReadOnly is not defined',497 'a KeyframeEffectReadOnly constructed by an auto fill':498 'KeyframeEffectReadOnly is not defined',499 'a KeyframeEffectReadOnly constructed by an empty KeyframeEffectOptions object':500 'KeyframeEffectReadOnly is not defined',501 'a KeyframeEffectReadOnly constructed with a keyframe sequence where greater shorthand precedes lesser shorthand roundtrips':502 'KeyframeEffectReadOnly is not defined',503 'a KeyframeEffectReadOnly constructed with a keyframe sequence where lesser shorthand precedes greater shorthand roundtrips':504 'KeyframeEffectReadOnly is not defined',505 'a KeyframeEffectReadOnly constructed with a keyframe sequence where longhand precedes shorthand roundtrips':506 'KeyframeEffectReadOnly is not defined',507 'a KeyframeEffectReadOnly constructed with a keyframe sequence where shorthand precedes longhand roundtrips':508 'KeyframeEffectReadOnly is not defined',509 'a KeyframeEffectReadOnly constructed with a keyframe sequence with a CSS variable reference in a shorthand property roundtrips':510 'KeyframeEffectReadOnly is not defined',511 'a KeyframeEffectReadOnly constructed with a keyframe sequence with a CSS variable reference roundtrips':512 'KeyframeEffectReadOnly is not defined',513 'a KeyframeEffectReadOnly constructed with a keyframe sequence with different composite values, but the same composite value for a given offset roundtrips':514 'KeyframeEffectReadOnly is not defined',515 'a KeyframeEffectReadOnly constructed with a keyframe sequence with different easing values, but the same easing value for a given offset roundtrips':516 'KeyframeEffectReadOnly is not defined',517 'a KeyframeEffectReadOnly constructed with a keyframe sequence with duplicate values for a given interior offset roundtrips':518 'KeyframeEffectReadOnly is not defined',519 'a KeyframeEffectReadOnly constructed with a keyframe sequence with duplicate values for offsets 0 and 1 roundtrips':520 'KeyframeEffectReadOnly is not defined',521 'a KeyframeEffectReadOnly constructed with a keyframe sequence with repeated values at offset 1 with different easings roundtrips':522 'KeyframeEffectReadOnly is not defined',523 'a KeyframeEffectReadOnly constructed with a one property keyframe sequence with all omitted offsets roundtrips':524 'KeyframeEffectReadOnly is not defined',525 'a KeyframeEffectReadOnly constructed with a one property keyframe sequence with some omitted offsets roundtrips':526 'KeyframeEffectReadOnly is not defined',527 'a KeyframeEffectReadOnly constructed with a one property one keyframe sequence roundtrips':528 'KeyframeEffectReadOnly is not defined',529 'a KeyframeEffectReadOnly constructed with a one property one non-array value property-indexed keyframes specification roundtrips':530 'KeyframeEffectReadOnly is not defined',531 'a KeyframeEffectReadOnly constructed with a one property one value property-indexed keyframes specification roundtrips':532 'KeyframeEffectReadOnly is not defined',533 'a KeyframeEffectReadOnly constructed with a one property two keyframe sequence roundtrips':534 'KeyframeEffectReadOnly is not defined',535 'a KeyframeEffectReadOnly constructed with a one property two keyframe sequence that needs to stringify its values roundtrips':536 'KeyframeEffectReadOnly is not defined',537 'a KeyframeEffectReadOnly constructed with a one property two value property-indexed keyframes specification roundtrips':538 'KeyframeEffectReadOnly is not defined',539 'a KeyframeEffectReadOnly constructed with a one property two value property-indexed keyframes specification that needs to stringify its values roundtrips':540 'KeyframeEffectReadOnly is not defined',541 'a KeyframeEffectReadOnly constructed with a one property two value property-indexed keyframes specification where the first value is invalid roundtrips':542 'KeyframeEffectReadOnly is not defined',543 'a KeyframeEffectReadOnly constructed with a one property two value property-indexed keyframes specification where the second value is invalid roundtrips':544 'KeyframeEffectReadOnly is not defined',545 'a KeyframeEffectReadOnly constructed with a one shorthand property two keyframe sequence roundtrips':546 'KeyframeEffectReadOnly is not defined',547 'a KeyframeEffectReadOnly constructed with a one shorthand property two value property-indexed keyframes specification roundtrips':548 'KeyframeEffectReadOnly is not defined',549 'a KeyframeEffectReadOnly constructed with a property-indexed keyframes specification with a CSS variable reference in a shorthand property roundtrips':550 'KeyframeEffectReadOnly is not defined',551 'a KeyframeEffectReadOnly constructed with a property-indexed keyframes specification with a CSS variable reference roundtrips':552 'KeyframeEffectReadOnly is not defined',553 'a KeyframeEffectReadOnly constructed with a property-indexed keyframes specification with an invalid value roundtrips':554 'KeyframeEffectReadOnly is not defined',555 'a KeyframeEffectReadOnly constructed with a single keyframe sequence with omitted offsets roundtrips':556 'KeyframeEffectReadOnly is not defined',557 'a KeyframeEffectReadOnly constructed with a two property (a shorthand and one of its component longhands) two keyframe sequence roundtrips':558 'KeyframeEffectReadOnly is not defined',559 'a KeyframeEffectReadOnly constructed with a two property (one shorthand and one of its longhand components) two value property-indexed keyframes specification roundtrips':560 'KeyframeEffectReadOnly is not defined',561 'a KeyframeEffectReadOnly constructed with a two property four keyframe sequence roundtrips':562 'KeyframeEffectReadOnly is not defined',563 'a KeyframeEffectReadOnly constructed with a two property keyframe sequence where one property is missing from the first keyframe roundtrips':564 'KeyframeEffectReadOnly is not defined',565 'a KeyframeEffectReadOnly constructed with a two property keyframe sequence where one property is missing from the last keyframe roundtrips':566 'KeyframeEffectReadOnly is not defined',567 'a KeyframeEffectReadOnly constructed with a two property keyframe sequence with some omitted offsets roundtrips':568 'KeyframeEffectReadOnly is not defined',569 'a KeyframeEffectReadOnly constructed with a two property property-indexed keyframes specification with different numbers of values roundtrips':570 'KeyframeEffectReadOnly is not defined',571 'a KeyframeEffectReadOnly constructed with a two property two keyframe sequence roundtrips':572 'KeyframeEffectReadOnly is not defined',573 'a KeyframeEffectReadOnly constructed with a two property two value property-indexed keyframes specification roundtrips':574 'KeyframeEffectReadOnly is not defined',575 'a KeyframeEffectReadOnly constructed with null target':576 'KeyframeEffectReadOnly is not defined',577 'a KeyframeEffectReadOnly constructed without any KeyframeEffectOptions object':578 'KeyframeEffectReadOnly is not defined',579 'composite values are parsed correctly when passed to the KeyframeEffectReadOnly constructor in KeyframeTimingOptions':580 'KeyframeEffectReadOnly is not defined',581 'composite values are parsed correctly when passed to the KeyframeEffectReadOnly constructor in property-indexed keyframes':582 'KeyframeEffectReadOnly is not defined',583 'composite values are parsed correctly when passed to the KeyframeEffectReadOnly constructor in regular keyframes':584 'KeyframeEffectReadOnly is not defined',585 'easing values are parsed correctly when passed to the KeyframeEffectReadOnly constructor in KeyframeTimingOptions':586 'KeyframeEffectReadOnly is not defined',587 'easing values are parsed correctly when passed to the KeyframeEffectReadOnly constructor in a property-indexed keyframe':588 'KeyframeEffectReadOnly is not defined',589 'easing values are parsed correctly when passed to the KeyframeEffectReadOnly constructor in regular keyframes':590 'KeyframeEffectReadOnly is not defined',591 'the KeyframeEffectReadOnly constructor reads keyframe properties in the expected order':592 'KeyframeEffectReadOnly is not defined',593 },594 'test/web-platform-tests/web-animations/interfaces/KeyframeEffect/effect-easing-steps.html': {595 'Test bounds point of step(4, start) easing with iterationStart 0.75 and delay':596 'animation.effect.getComputedTiming is not a function',597 'Test bounds point of step-end easing with iterationStart and delay':598 'animation.effect.getComputedTiming is not a function',599 'Test bounds point of step-end easing with iterationStart not at a transition point':600 'animation.effect.getComputedTiming is not a function',601 'Test bounds point of step-start easing':602 'animation.effect.getComputedTiming is not a function',603 'Test bounds point of step-start easing in keyframe':604 'animation.effect.getComputedTiming is not a function',605 'Test bounds point of step-start easing with alternate direction':606 'animation.effect.getComputedTiming is not a function',607 'Test bounds point of step-start easing with alternate-reverse direction':608 'animation.effect.getComputedTiming is not a function',609 'Test bounds point of step-start easing with compositor':610 'animation.effect.getComputedTiming is not a function',611 'Test bounds point of step-start easing with iterationStart and delay':612 'animation.effect.getComputedTiming is not a function',613 'Test bounds point of step-start easing with iterationStart and reverse direction':614 'animation.effect.getComputedTiming is not a function',615 'Test bounds point of step-start easing with iterationStart not at a transition point':616 'animation.effect.getComputedTiming is not a function',617 'Test bounds point of step-start easing with reverse direction':618 'animation.effect.getComputedTiming is not a function',619 },620 'test/web-platform-tests/web-animations/interfaces/KeyframeEffect/getComputedTiming.html': {621 'getComputedTiming().activeDuration for a non-zero duration and default iteration count':622 'KeyframeEffectReadOnly is not defined',623 'getComputedTiming().activeDuration for a non-zero duration and fractional iteration count':624 'KeyframeEffectReadOnly is not defined',625 'getComputedTiming().activeDuration for a non-zero duration and integral iteration count':626 'KeyframeEffectReadOnly is not defined',627 'getComputedTiming().activeDuration for a zero duration and default iteration count':628 'KeyframeEffectReadOnly is not defined',629 'getComputedTiming().activeDuration for a zero duration and fractional iteration count':630 'KeyframeEffectReadOnly is not defined',631 'getComputedTiming().activeDuration for a zero duration and infinite iteration count':632 'KeyframeEffectReadOnly is not defined',633 'getComputedTiming().activeDuration for a zero duration and zero iteration count':634 'KeyframeEffectReadOnly is not defined',635 'getComputedTiming().activeDuration for an empty KeyframeEffectOptions object':636 'KeyframeEffectReadOnly is not defined',637 'getComputedTiming().activeDuration for an infinite duration and default iteration count':638 'KeyframeEffectReadOnly is not defined',639 'getComputedTiming().activeDuration for an infinite duration and fractional iteration count':640 'KeyframeEffectReadOnly is not defined',641 'getComputedTiming().activeDuration for an infinite duration and infinite iteration count':642 'KeyframeEffectReadOnly is not defined',643 'getComputedTiming().activeDuration for an infinite duration and zero iteration count':644 'KeyframeEffectReadOnly is not defined',645 'getComputedTiming().activeDuration for an non-zero duration and infinite iteration count':646 'KeyframeEffectReadOnly is not defined',647 'getComputedTiming().activeDuration for an non-zero duration and zero iteration count':648 'KeyframeEffectReadOnly is not defined',649 'getComputedTiming().endTime for a non-zero duration and default iteration count':650 'KeyframeEffectReadOnly is not defined',651 'getComputedTiming().endTime for a non-zero duration and non-default iteration count':652 'KeyframeEffectReadOnly is not defined',653 'getComputedTiming().endTime for a non-zero duration and non-zero delay':654 'KeyframeEffectReadOnly is not defined',655 'getComputedTiming().endTime for a non-zero duration, non-zero delay and non-default iteration':656 'KeyframeEffectReadOnly is not defined',657 'getComputedTiming().endTime for a zero duration and negative delay':658 'KeyframeEffectReadOnly is not defined',659 'getComputedTiming().endTime for an empty KeyframeEffectOptions object':660 'KeyframeEffectReadOnly is not defined',661 'getComputedTiming().endTime for an infinite duration':662 'KeyframeEffectReadOnly is not defined',663 'getComputedTiming().endTime for an infinite duration and delay':664 'KeyframeEffectReadOnly is not defined',665 'getComputedTiming().endTime for an infinite duration and negative delay':666 'KeyframeEffectReadOnly is not defined',667 'getComputedTiming().endTime for an infinite iteration count':668 'KeyframeEffectReadOnly is not defined',669 'getComputedTiming().endTime for an non-zero duration and negative delay':670 'KeyframeEffectReadOnly is not defined',671 'getComputedTiming().endTime for an non-zero duration and negative delay greater than active duration':672 'KeyframeEffectReadOnly is not defined',673 'values of getComputedTiming() when a KeyframeEffectReadOnly is constructed by +Infinity':674 'KeyframeEffectReadOnly is not defined',675 'values of getComputedTiming() when a KeyframeEffectReadOnly is constructed by a double value':676 'KeyframeEffectReadOnly is not defined',677 'values of getComputedTiming() when a KeyframeEffectReadOnly is constructed by a forwards fill':678 'KeyframeEffectReadOnly is not defined',679 'values of getComputedTiming() when a KeyframeEffectReadOnly is constructed by a normal KeyframeEffectOptions object':680 'KeyframeEffectReadOnly is not defined',681 'values of getComputedTiming() when a KeyframeEffectReadOnly is constructed by an Infinity duration':682 'KeyframeEffectReadOnly is not defined',683 'values of getComputedTiming() when a KeyframeEffectReadOnly is constructed by an Infinity iterations':684 'KeyframeEffectReadOnly is not defined',685 'values of getComputedTiming() when a KeyframeEffectReadOnly is constructed by an auto duration':686 'KeyframeEffectReadOnly is not defined',687 'values of getComputedTiming() when a KeyframeEffectReadOnly is constructed by an auto fill':688 'KeyframeEffectReadOnly is not defined',689 'values of getComputedTiming() when a KeyframeEffectReadOnly is constructed by an empty KeyframeEffectOptions object':690 'KeyframeEffectReadOnly is not defined',691 'values of getComputedTiming() when a KeyframeEffectReadOnly is constructed without any KeyframeEffectOptions object':692 'KeyframeEffectReadOnly is not defined',693 },694 'test/web-platform-tests/web-animations/interfaces/KeyframeEffect/processing-a-keyframes-argument.html': {695 'non-animatable property \'animation\' is not accessed when using a keyframe sequence':696 'KeyframeEffectReadOnly is not defined',697 'non-animatable property \'animation\' is not accessed when using a property-indexed keyframe object':698 'KeyframeEffectReadOnly is not defined',699 'non-animatable property \'animationDelay\' is not accessed when using a keyframe sequence':700 'KeyframeEffectReadOnly is not defined',701 'non-animatable property \'animationDelay\' is not accessed when using a property-indexed keyframe object':702 'KeyframeEffectReadOnly is not defined',703 'non-animatable property \'animationDirection\' is not accessed when using a keyframe sequence':704 'KeyframeEffectReadOnly is not defined',705 'non-animatable property \'animationDirection\' is not accessed when using a property-indexed keyframe object':706 'KeyframeEffectReadOnly is not defined',707 'non-animatable property \'animationDuration\' is not accessed when using a keyframe sequence':708 'KeyframeEffectReadOnly is not defined',709 'non-animatable property \'animationDuration\' is not accessed when using a property-indexed keyframe object':710 'KeyframeEffectReadOnly is not defined',711 'non-animatable property \'animationFillMode\' is not accessed when using a keyframe sequence':712 'KeyframeEffectReadOnly is not defined',713 'non-animatable property \'animationFillMode\' is not accessed when using a property-indexed keyframe object':714 'KeyframeEffectReadOnly is not defined',715 'non-animatable property \'animationIterationCount\' is not accessed when using a keyframe sequence':716 'KeyframeEffectReadOnly is not defined',717 'non-animatable property \'animationIterationCount\' is not accessed when using a property-indexed keyframe object':718 'KeyframeEffectReadOnly is not defined',719 'non-animatable property \'animationName\' is not accessed when using a keyframe sequence':720 'KeyframeEffectReadOnly is not defined',721 'non-animatable property \'animationName\' is not accessed when using a property-indexed keyframe object':722 'KeyframeEffectReadOnly is not defined',723 'non-animatable property \'animationPlayState\' is not accessed when using a keyframe sequence':724 'KeyframeEffectReadOnly is not defined',725 'non-animatable property \'animationPlayState\' is not accessed when using a property-indexed keyframe object':726 'KeyframeEffectReadOnly is not defined',727 'non-animatable property \'animationTimingFunction\' is not accessed when using a keyframe sequence':728 'KeyframeEffectReadOnly is not defined',729 'non-animatable property \'animationTimingFunction\' is not accessed when using a property-indexed keyframe object':730 'KeyframeEffectReadOnly is not defined',731 'non-animatable property \'display\' is not accessed when using a keyframe sequence':732 'KeyframeEffectReadOnly is not defined',733 'non-animatable property \'display\' is not accessed when using a property-indexed keyframe object':734 'KeyframeEffectReadOnly is not defined',735 'non-animatable property \'transition\' is not accessed when using a keyframe sequence':736 'KeyframeEffectReadOnly is not defined',737 'non-animatable property \'transition\' is not accessed when using a property-indexed keyframe object':738 'KeyframeEffectReadOnly is not defined',739 'non-animatable property \'transitionDelay\' is not accessed when using a keyframe sequence':740 'KeyframeEffectReadOnly is not defined',741 'non-animatable property \'transitionDelay\' is not accessed when using a property-indexed keyframe object':742 'KeyframeEffectReadOnly is not defined',743 'non-animatable property \'transitionDuration\' is not accessed when using a keyframe sequence':744 'KeyframeEffectReadOnly is not defined',745 'non-animatable property \'transitionDuration\' is not accessed when using a property-indexed keyframe object':746 'KeyframeEffectReadOnly is not defined',747 'non-animatable property \'transitionProperty\' is not accessed when using a keyframe sequence':748 'KeyframeEffectReadOnly is not defined',749 'non-animatable property \'transitionProperty\' is not accessed when using a property-indexed keyframe object':750 'KeyframeEffectReadOnly is not defined',751 'non-animatable property \'transitionTimingFunction\' is not accessed when using a keyframe sequence':752 'KeyframeEffectReadOnly is not defined',753 'non-animatable property \'transitionTimingFunction\' is not accessed when using a property-indexed keyframe object':754 'KeyframeEffectReadOnly is not defined',755 'non-animatable property \'unsupportedProperty\' is not accessed when using a keyframe sequence':756 'KeyframeEffectReadOnly is not defined',757 'non-animatable property \'unsupportedProperty\' is not accessed when using a property-indexed keyframe object':758 'KeyframeEffectReadOnly is not defined',759 },760 'test/web-platform-tests/web-animations/interfaces/KeyframeEffect/setKeyframes.html': {761 'Keyframes can be replaced with a keyframe sequence where greater shorthand precedes lesser shorthand':762 'effect.setKeyframes is not a function',763 'Keyframes can be replaced with a keyframe sequence where lesser shorthand precedes greater shorthand':764 'effect.setKeyframes is not a function',765 'Keyframes can be replaced with a keyframe sequence where longhand precedes shorthand':766 'effect.setKeyframes is not a function',767 'Keyframes can be replaced with a keyframe sequence where shorthand precedes longhand':768 'effect.setKeyframes is not a function',769 'Keyframes can be replaced with a keyframe sequence with a CSS variable reference':770 'effect.setKeyframes is not a function',771 'Keyframes can be replaced with a keyframe sequence with a CSS variable reference in a shorthand property':772 'effect.setKeyframes is not a function',773 'Keyframes can be replaced with a keyframe sequence with different composite values, but the same composite value for a given offset':774 'effect.setKeyframes is not a function',775 'Keyframes can be replaced with a keyframe sequence with different easing values, but the same easing value for a given offset':776 'effect.setKeyframes is not a function',777 'Keyframes can be replaced with a keyframe sequence with duplicate values for a given interior offset':778 'effect.setKeyframes is not a function',779 'Keyframes can be replaced with a keyframe sequence with duplicate values for offsets 0 and 1':780 'effect.setKeyframes is not a function',781 'Keyframes can be replaced with a keyframe sequence with repeated values at offset 1 with different easings':782 'effect.setKeyframes is not a function',783 'Keyframes can be replaced with a one property keyframe sequence with all omitted offsets':784 'effect.setKeyframes is not a function',785 'Keyframes can be replaced with a one property keyframe sequence with some omitted offsets':786 'effect.setKeyframes is not a function',787 'Keyframes can be replaced with a one property one keyframe sequence':788 'effect.setKeyframes is not a function',789 'Keyframes can be replaced with a one property one non-array value property-indexed keyframes specification':790 'effect.setKeyframes is not a function',791 'Keyframes can be replaced with a one property one value property-indexed keyframes specification':792 'effect.setKeyframes is not a function',793 'Keyframes can be replaced with a one property two keyframe sequence':794 'effect.setKeyframes is not a function',795 'Keyframes can be replaced with a one property two keyframe sequence that needs to stringify its values':796 'effect.setKeyframes is not a function',797 'Keyframes can be replaced with a one property two value property-indexed keyframes specification':798 'effect.setKeyframes is not a function',799 'Keyframes can be replaced with a one property two value property-indexed keyframes specification that needs to stringify its values':800 'effect.setKeyframes is not a function',801 'Keyframes can be replaced with a one property two value property-indexed keyframes specification where the first value is invalid':802 'effect.setKeyframes is not a function',803 'Keyframes can be replaced with a one property two value property-indexed keyframes specification where the second value is invalid':804 'effect.setKeyframes is not a function',805 'Keyframes can be replaced with a one shorthand property two keyframe sequence':806 'effect.setKeyframes is not a function',807 'Keyframes can be replaced with a one shorthand property two value property-indexed keyframes specification':808 'effect.setKeyframes is not a function',809 'Keyframes can be replaced with a property-indexed keyframes specification with a CSS variable reference':810 'effect.setKeyframes is not a function',811 'Keyframes can be replaced with a property-indexed keyframes specification with a CSS variable reference in a shorthand property':812 'effect.setKeyframes is not a function',813 'Keyframes can be replaced with a property-indexed keyframes specification with an invalid value':814 'effect.setKeyframes is not a function',815 'Keyframes can be replaced with a single keyframe sequence with omitted offsets':816 'effect.setKeyframes is not a function',817 'Keyframes can be replaced with a two property (a shorthand and one of its component longhands) two keyframe sequence':818 'effect.setKeyframes is not a function',819 'Keyframes can be replaced with a two property (one shorthand and one of its longhand components) two value property-indexed keyframes specification':820 'effect.setKeyframes is not a function',821 'Keyframes can be replaced with a two property four keyframe sequence':822 'effect.setKeyframes is not a function',823 'Keyframes can be replaced with a two property keyframe sequence where one property is missing from the first keyframe':824 'effect.setKeyframes is not a function',825 'Keyframes can be replaced with a two property keyframe sequence where one property is missing from the last keyframe':826 'effect.setKeyframes is not a function',827 'Keyframes can be replaced with a two property keyframe sequence with some omitted offsets':828 'effect.setKeyframes is not a function',829 'Keyframes can be replaced with a two property property-indexed keyframes specification with different numbers of values':830 'effect.setKeyframes is not a function',831 'Keyframes can be replaced with a two property two keyframe sequence':832 'effect.setKeyframes is not a function',833 'Keyframes can be replaced with a two property two value property-indexed keyframes specification':834 'effect.setKeyframes is not a function',835 'Keyframes can be replaced with an empty keyframe':836 'effect.setKeyframes is not a function',837 },838 'test/web-platform-tests/web-animations/interfaces/KeyframeEffect/setTarget.html': {839 'Test setting target from a valid target to another target':840 'assert_equals: Value of 1st element (currently not targeted) after changing the effect target expected "10px" but got "50px"',841 'Test setting target from a valid target to null':842 'assert_equals: Value after clearing the target expected "10px" but got "50px"',843 'Test setting target from null to a valid target':844 'assert_equals: Value at 50% progress after setting new target expected "50px" but got "10px"',845 },846 'test/web-platform-tests/web-animations/timing-model/animation-effects/current-iteration.html': {847 'Test currentIteration during before and after phase when fill is none':848 'anim.effect.getComputedTiming is not a function',849 'Test fractional iterations: iterations:3.5 iterationStart:0 duration:0 delay:1 fill:both':850 'anim.effect.getComputedTiming is not a function',851 'Test fractional iterations: iterations:3.5 iterationStart:0 duration:100 delay:1 fill:both':852 'anim.effect.getComputedTiming is not a function',853 'Test fractional iterations: iterations:3.5 iterationStart:0 duration:Infinity delay:1 fill:both':854 'anim.effect.getComputedTiming is not a function',855 'Test fractional iterations: iterations:3.5 iterationStart:2.5 duration:0 delay:1 fill:both':856 'anim.effect.getComputedTiming is not a function',857 'Test fractional iterations: iterations:3.5 iterationStart:2.5 duration:100 delay:1 fill:both':858 'anim.effect.getComputedTiming is not a function',859 'Test fractional iterations: iterations:3.5 iterationStart:2.5 duration:Infinity delay:1 fill:both':860 'anim.effect.getComputedTiming is not a function',861 'Test fractional iterations: iterations:3.5 iterationStart:3 duration:0 delay:1 fill:both':862 'anim.effect.getComputedTiming is not a function',863 'Test fractional iterations: iterations:3.5 iterationStart:3 duration:100 delay:1 fill:both':864 'anim.effect.getComputedTiming is not a function',865 'Test fractional iterations: iterations:3.5 iterationStart:3 duration:Infinity delay:1 fill:both':866 'anim.effect.getComputedTiming is not a function',867 'Test infinity iterations: iterations:Infinity iterationStart:0 duration:0 delay:1 fill:both':868 'anim.effect.getComputedTiming is not a function',869 'Test infinity iterations: iterations:Infinity iterationStart:0 duration:100 delay:1 fill:both':870 'anim.effect.getComputedTiming is not a function',871 'Test infinity iterations: iterations:Infinity iterationStart:0 duration:Infinity delay:1 fill:both':872 'anim.effect.getComputedTiming is not a function',873 'Test infinity iterations: iterations:Infinity iterationStart:2.5 duration:0 delay:1 fill:both':874 'anim.effect.getComputedTiming is not a function',875 'Test infinity iterations: iterations:Infinity iterationStart:2.5 duration:100 delay:1 fill:both':876 'anim.effect.getComputedTiming is not a function',877 'Test infinity iterations: iterations:Infinity iterationStart:2.5 duration:Infinity delay:1 fill:both':878 'anim.effect.getComputedTiming is not a function',879 'Test infinity iterations: iterations:Infinity iterationStart:3 duration:0 delay:1 fill:both':880 'anim.effect.getComputedTiming is not a function',881 'Test infinity iterations: iterations:Infinity iterationStart:3 duration:100 delay:1 fill:both':882 'anim.effect.getComputedTiming is not a function',883 'Test infinity iterations: iterations:Infinity iterationStart:3 duration:Infinity delay:1 fill:both':884 'anim.effect.getComputedTiming is not a function',885 'Test integer iterations: iterations:3 iterationStart:0 duration:0 delay:1 fill:both':886 'anim.effect.getComputedTiming is not a function',887 'Test integer iterations: iterations:3 iterationStart:0 duration:100 delay:1 fill:both':888 'anim.effect.getComputedTiming is not a function',889 'Test integer iterations: iterations:3 iterationStart:0 duration:Infinity delay:1 fill:both':890 'anim.effect.getComputedTiming is not a function',891 'Test integer iterations: iterations:3 iterationStart:2.5 duration:0 delay:1 fill:both':892 'anim.effect.getComputedTiming is not a function',893 'Test integer iterations: iterations:3 iterationStart:2.5 duration:100 delay:1 fill:both':894 'anim.effect.getComputedTiming is not a function',895 'Test integer iterations: iterations:3 iterationStart:2.5 duration:Infinity delay:1 fill:both':896 'anim.effect.getComputedTiming is not a function',897 'Test integer iterations: iterations:3 iterationStart:3 duration:0 delay:1 fill:both':898 'anim.effect.getComputedTiming is not a function',899 'Test integer iterations: iterations:3 iterationStart:3 duration:100 delay:1 fill:both':900 'anim.effect.getComputedTiming is not a function',901 'Test integer iterations: iterations:3 iterationStart:3 duration:Infinity delay:1 fill:both':902 'anim.effect.getComputedTiming is not a function',903 'Test zero iterations: iterations:0 iterationStart:0 duration:0 delay:1 fill:both':904 'anim.effect.getComputedTiming is not a function',905 'Test zero iterations: iterations:0 iterationStart:0 duration:100 delay:1 fill:both':906 'anim.effect.getComputedTiming is not a function',907 'Test zero iterations: iterations:0 iterationStart:0 duration:Infinity delay:1 fill:both':908 'anim.effect.getComputedTiming is not a function',909 'Test zero iterations: iterations:0 iterationStart:2.5 duration:0 delay:1 fill:both':910 'anim.effect.getComputedTiming is not a function',911 'Test zero iterations: iterations:0 iterationStart:2.5 duration:100 delay:1 fill:both':912 'anim.effect.getComputedTiming is not a function',913 'Test zero iterations: iterations:0 iterationStart:2.5 duration:Infinity delay:1 fill:both':914 'anim.effect.getComputedTiming is not a function',915 'Test zero iterations: iterations:0 iterationStart:3 duration:0 delay:1 fill:both':916 'anim.effect.getComputedTiming is not a function',917 'Test zero iterations: iterations:0 iterationStart:3 duration:100 delay:1 fill:both':918 'anim.effect.getComputedTiming is not a function',919 'Test zero iterations: iterations:0 iterationStart:3 duration:Infinity delay:1 fill:both':920 'anim.effect.getComputedTiming is not a function',921 },922 'test/web-platform-tests/web-animations/timing-model/animations/set-the-animation-start-time.html': {923 'Setting an unresolved start time an animation without an active timeline does not clear the current time':924 'Animation with null timeline is not supported',925 'Setting an unresolved start time sets the hold time':926 'Value being assigned to Animation.startTime is not a finite floating-point value.',927 'Setting the start time clears the hold time':928 'Value being assigned to Animation.startTime is not a finite floating-point value.',929 'Setting the start time of an animation without an active timeline':930 'Animation with null timeline is not supported',931 'Setting the start time resolves a pending pause task':932 'Value being assigned to Animation.startTime is not a finite floating-point value.',933 'Setting the start time resolves a pending ready promise':934 'Value being assigned to Animation.startTime is not a finite floating-point value.',935 'Setting the start time updates the finished state':936 'Value being assigned to Animation.startTime is not a finite floating-point value.',937 },938 },939 },940 {941 configuration: {942 target: 'web-animations-next',943 withNativeFallback: false,944 },945 failures: {946 'test/web-platform-tests/web-animations/interfaces/Animatable/animate-basic.html': {947 'Element.animate() creates an Animation object':948 'assert_equals: Returned object is an Animation expected "[object Animation]" but got "[object Object]"',949 'Element.animate() does not accept property-indexed keyframes with an invalid easing value':950 'assert_throws: function "function () {\n div.animate(subtest.input, 2000);\n }" did not throw',951 },952 'test/web-platform-tests/web-animations/interfaces/Animatable/animate-effect.html': {953 'Element.animate() accepts a double as an options argument':954 'assert_equals: expected "auto" but got "none"',955 'Element.animate() accepts a keyframe sequence where greater shorthand precedes lesser shorthand':956 'anim.effect.getKeyframes is not a function',957 'Element.animate() accepts a keyframe sequence where lesser shorthand precedes greater shorthand':958 'anim.effect.getKeyframes is not a function',959 'Element.animate() accepts a keyframe sequence where longhand precedes shorthand':960 'anim.effect.getKeyframes is not a function',961 'Element.animate() accepts a keyframe sequence where shorthand precedes longhand':962 'anim.effect.getKeyframes is not a function',963 'Element.animate() accepts a keyframe sequence with a CSS variable reference':964 'anim.effect.getKeyframes is not a function',965 'Element.animate() accepts a keyframe sequence with a CSS variable reference in a shorthand property':966 'anim.effect.getKeyframes is not a function',967 'Element.animate() accepts a keyframe sequence with different composite values, but the same composite value for a given offset':968 'add compositing is not supported',969 'Element.animate() accepts a keyframe sequence with different easing values, but the same easing value for a given offset':970 'anim.effect.getKeyframes is not a function',971 'Element.animate() accepts a keyframe sequence with duplicate values for a given interior offset':972 'anim.effect.getKeyframes is not a function',973 'Element.animate() accepts a keyframe sequence with duplicate values for offsets 0 and 1':974 'anim.effect.getKeyframes is not a function',975 'Element.animate() accepts a keyframe sequence with repeated values at offset 1 with different easings':976 'anim.effect.getKeyframes is not a function',977 'Element.animate() accepts a one property keyframe sequence with all omitted offsets':978 'anim.effect.getKeyframes is not a function',979 'Element.animate() accepts a one property keyframe sequence with some omitted offsets':980 'anim.effect.getKeyframes is not a function',981 'Element.animate() accepts a one property one keyframe sequence':982 'Partial keyframes are not supported',983 'Element.animate() accepts a one property one non-array value property-indexed keyframes specification':984 'Partial keyframes are not supported',985 'Element.animate() accepts a one property one value property-indexed keyframes specification':986 'Partial keyframes are not supported',987 'Element.animate() accepts a one property two keyframe sequence':988 'anim.effect.getKeyframes is not a function',989 'Element.animate() accepts a one property two keyframe sequence that needs to stringify its values':990 'anim.effect.getKeyframes is not a function',991 'Element.animate() accepts a one property two value property-indexed keyframes specification':992 'anim.effect.getKeyframes is not a function',993 'Element.animate() accepts a one property two value property-indexed keyframes specification that needs to stringify its values':994 'anim.effect.getKeyframes is not a function',995 'Element.animate() accepts a one property two value property-indexed keyframes specification where the first value is invalid':996 'anim.effect.getKeyframes is not a function',997 'Element.animate() accepts a one property two value property-indexed keyframes specification where the second value is invalid':998 'anim.effect.getKeyframes is not a function',999 'Element.animate() accepts a one shorthand property two keyframe sequence':1000 'anim.effect.getKeyframes is not a function',1001 'Element.animate() accepts a one shorthand property two value property-indexed keyframes specification':1002 'anim.effect.getKeyframes is not a function',1003 'Element.animate() accepts a property-indexed keyframes specification with a CSS variable reference':1004 'anim.effect.getKeyframes is not a function',1005 'Element.animate() accepts a property-indexed keyframes specification with a CSS variable reference in a shorthand property':1006 'anim.effect.getKeyframes is not a function',1007 'Element.animate() accepts a property-indexed keyframes specification with an invalid value':1008 'anim.effect.getKeyframes is not a function',1009 'Element.animate() accepts a single keyframe sequence with omitted offsets':1010 'Partial keyframes are not supported',1011 'Element.animate() accepts a two property (a shorthand and one of its component longhands) two keyframe sequence':1012 'anim.effect.getKeyframes is not a function',1013 'Element.animate() accepts a two property (one shorthand and one of its longhand components) two value property-indexed keyframes specification':1014 'anim.effect.getKeyframes is not a function',1015 'Element.animate() accepts a two property four keyframe sequence':1016 'anim.effect.getKeyframes is not a function',1017 'Element.animate() accepts a two property keyframe sequence where one property is missing from the first keyframe':1018 'Partial keyframes are not supported',1019 'Element.animate() accepts a two property keyframe sequence where one property is missing from the last keyframe':1020 'Partial keyframes are not supported',1021 'Element.animate() accepts a two property keyframe sequence with some omitted offsets':1022 'anim.effect.getKeyframes is not a function',1023 'Element.animate() accepts a two property property-indexed keyframes specification with different numbers of values':1024 'anim.effect.getKeyframes is not a function',1025 'Element.animate() accepts a two property two keyframe sequence':1026 'anim.effect.getKeyframes is not a function',1027 'Element.animate() accepts a two property two value property-indexed keyframes specification':1028 'anim.effect.getKeyframes is not a function',1029 'Element.animate() accepts an absent options argument':1030 'assert_equals: expected (string) "auto" but got (number) 0',1031 'Element.animate() creates an Animation object with a KeyframeEffect':1032 'assert_equals: Returned Animation has a KeyframeEffect expected "[object KeyframeEffect]" but got "[object Object]"',1033 },1034 'test/web-platform-tests/web-animations/interfaces/Animatable/animate-pseudo-element.html': {1035 'CSSPseudoElement.animate() creates an Animation object':1036 'document.getAnimations is not a function',1037 'CSSPseudoElement.animate() creates an Animation object targeting to the correct CSSPseudoElement object':1038 'document.getAnimations is not a function',1039 },1040 'test/web-platform-tests/web-animations/interfaces/Animation/cancel.html': {1041 'Animated style is cleared after calling Animation.cancel()':1042 'assert_not_equals: transform style is animated before cancelling got disallowed value "none"',1043 },1044 'test/web-platform-tests/web-animations/interfaces/Animation/finish.html': {1045 'Test exceptions when finishing infinite animation':1046 'assert_throws: function "function () {\n animation.finish();\n }" did not throw',1047 'Test exceptions when finishing non-running animation':1048 'assert_throws: function "function () {\n animation.finish();\n }" did not throw',1049 'Test finish() resolves finished promise synchronously with an animation without a target':1050 'KeyframeEffectReadOnly is not defined',1051 'Test finish() while pause-pending with negative playbackRate':1052 'assert_equals: The play state of a pause-pending animation should become "finished" after finish() is called expected "finished" but got "paused"',1053 'Test finish() while pause-pending with positive playbackRate':1054 'assert_equals: The play state of a pause-pending animation should become "finished" after finish() is called expected "finished" but got "paused"',1055 'Test finish() while paused':1056 'assert_equals: The play state of a paused animation should become "finished" after finish() is called expected "finished" but got "paused"',1057 'Test finish() while play-pending':1058 'assert_approx_equals: The start time of a play-pending animation should be set after calling finish() expected NaN +/- 0.0005 but got 0',1059 'Test finishing of animation with a current time past the effect end':1060 'animation.effect.getComputedTiming is not a function',1061 'Test normally finished animation resolves finished promise synchronously with an animation without a target':1062 'KeyframeEffectReadOnly is not defined',1063 },1064 'test/web-platform-tests/web-animations/interfaces/Animation/finished.html': {1065 'Test finished promise changes for animation duration changes':1066 'assert_equals: currentTime should be unchanged when duration shortened expected 50000 but got 25000',1067 'Test finished promise is not resolved once the animation falls out finished state even though the current finished promise is generated soon after animation state became finished':1068 'assert_unreached: Animation.finished should not be resolved Reached unreachable code',1069 'Test finished promise is not resolved when the animation falls out finished state immediately':1070 'assert_unreached: Animation.finished should not be resolved Reached unreachable code',1071 'cancelling an already-finished animation replaces the finished promise':1072 'assert_not_equals: A new finished promise should be created when cancelling a finished animation got disallowed value object "[object Promise]"',1073 'cancelling an idle animation still replaces the finished promise':1074 'assert_not_equals: A redundant call to cancel() should still generate a new finished promise got disallowed value object "[object Promise]"',1075 },1076 'test/web-platform-tests/web-animations/interfaces/Animation/oncancel.html': {1077 'oncancel event is fired when animation.cancel() is called.':1078 'FLAKY_TEST_RESULT',1079 },1080 'test/web-platform-tests/web-animations/interfaces/Animation/onfinish.html': {1081 'onfinish event is fired when animation.finish() is called':1082 'FLAKY_TEST_RESULT',1083 },1084 'test/web-platform-tests/web-animations/interfaces/Animation/pause.html': {1085 'pause() from idle':1086 'assert_equals: initially pause-pending expected "pending" but got "paused"',1087 },1088 'test/web-platform-tests/web-animations/interfaces/Animation/playbackRate.html': {1089 'Test the effect of setting playbackRate while playing animation':1090 'FLAKY_TEST_RESULT',1091 },1092 'test/web-platform-tests/web-animations/interfaces/Animation/reverse.html': {1093 'reverse() when playbackRate < 0 and currentTime < 0':1094 'assert_equals: reverse() should start playing from the start of animation time if the playbackRate < 0 and the currentTime < 0 expected 0 but got -200000',1095 'reverse() when playbackRate < 0 and currentTime < 0 and the target effect end is positive infinity':1096 'assert_equals: reverse() should start playing from the start of animation time if the playbackRate < 0 and the currentTime < 0 and the target effect is positive infinity expected 0 but got -200000',1097 'reverse() when playbackRate < 0 and currentTime > effect end':1098 'assert_equals: reverse() should start playing from the start of animation time if the playbackRate < 0 and the currentTime > effect end expected 0 but got 200000',1099 'reverse() when playbackRate > 0 and currentTime < 0':1100 'assert_equals: reverse() should start playing from the animation effect end if the playbackRate > 0 and the currentTime < 0 expected 100000 but got -200000',1101 'reverse() when playbackRate > 0 and currentTime > effect end':1102 'assert_equals: reverse() should start playing from the animation effect end if the playbackRate > 0 and the currentTime > effect end expected 100000 but got 200000',1103 },1104 'test/web-platform-tests/web-animations/interfaces/AnimationEffectTiming/delay.html': {1105 'Test adding a positive delay to an animation without a backwards fill makes it no longer active':1106 'anim.effect.getComputedTiming is not a function',1107 'Test finishing an animation using a large negative delay':1108 'anim.effect.getComputedTiming is not a function',1109 'Test seeking an animation by setting a negative delay':1110 'anim.effect.getComputedTiming is not a function',1111 'set delay -100':1112 'anim.effect.getComputedTiming is not a function',1113 'set delay 100':1114 'anim.effect.getComputedTiming is not a function',1115 },1116 'test/web-platform-tests/web-animations/interfaces/AnimationEffectTiming/duration.html': {1117 'set 100 string duration in animate using an options object':1118 'assert_throws: function "function () {\n div.animate({ opacity: [ 0, 1 ] }, { duration: \'100\' });\n }" did not throw',1119 'set NaN duration in animate using a duration parameter':1120 'assert_throws: function "function () {\n div.animate({ opacity: [ 0, 1 ] }, NaN);\n }" did not throw',1121 'set NaN duration in animate using an options object':1122 'assert_throws: function "function () {\n div.animate({ opacity: [ 0, 1 ] }, { duration: NaN });\n }" did not throw',1123 'set abc string duration in animate using an options object':1124 'assert_throws: function "function () {\n div.animate({ opacity: [ 0, 1 ] }, { duration: \'abc\' });\n }" did not throw',1125 'set auto duration in animate as object':1126 'assert_equals: set duration \'auto\' expected (string) "auto" but got (number) 0',1127 'set duration 123.45':1128 'anim.effect.getComputedTiming is not a function',1129 'set duration Infinity':1130 'anim.effect.getComputedTiming is not a function',1131 'set duration auto':1132 'anim.effect.getComputedTiming is not a function',1133 'set duration string 100':1134 'assert_throws: function "function () {\n anim.effect.timing.duration = \'100\';\n }" did not throw',1135 },1136 'test/web-platform-tests/web-animations/interfaces/AnimationEffectTiming/easing.html': {1137 'Change the easing while the animation is running':1138 'anim.effect.getComputedTiming is not a function',1139 'ease function':1140 'animation.effect.getComputedTiming is not a function',1141 'ease-in function':1142 'animation.effect.getComputedTiming is not a function',1143 'ease-in-out function':1144 'animation.effect.getComputedTiming is not a function',1145 'ease-out function':1146 'animation.effect.getComputedTiming is not a function',1147 'easing function which produces values greater than 1':1148 'animation.effect.getComputedTiming is not a function',1149 'linear function':1150 'animation.effect.getComputedTiming is not a function',1151 'steps(end) function':1152 'animation.effect.getComputedTiming is not a function',1153 'steps(start) function':1154 'animation.effect.getComputedTiming is not a function',1155 },1156 'test/web-platform-tests/web-animations/interfaces/AnimationEffectTiming/endDelay.html': {1157 'onfinish event is fired currentTime is after endTime':1158 'FLAKY_TEST_RESULT',1159 'set endDelay -1000':1160 'anim.effect.getComputedTiming is not a function',1161 'set endDelay 123.45':1162 'anim.effect.getComputedTiming is not a function',1163 'set endDelay Infinity':1164 'assert_throws: we can not assign Infinity to timing.endDelay function "function () {\n anim.effect.timing.endDelay = Infinity;\n }" did not throw',1165 'set endDelay negative Infinity':1166 'assert_throws: we can not assign negative Infinity to timing.endDelay function "function () {\n anim.effect.timing.endDelay = -Infinity;\n }" did not throw',1167 },1168 'test/web-platform-tests/web-animations/interfaces/AnimationEffectTiming/fill.html': {1169 'set fill backwards':1170 'anim.effect.getComputedTiming is not a function',1171 'set fill both':1172 'anim.effect.getComputedTiming is not a function',1173 'set fill forwards':1174 'anim.effect.getComputedTiming is not a function',1175 'set fill none':1176 'anim.effect.getComputedTiming is not a function',1177 },1178 'test/web-platform-tests/web-animations/interfaces/AnimationEffectTiming/getAnimations.html': {1179 'when currentTime changed in duration:1000, delay: -500, endDelay: -500':1180 'assert_equals: when currentTime 0 expected 0 but got 1',1181 'when currentTime changed in duration:1000, delay: 500, endDelay: -500':1182 'assert_equals: set currentTime 1000 expected 0 but got 1',1183 'when duration is changed':1184 'assert_equals: set duration 102000 expected (object) object "[object Object]" but got (undefined) undefined',1185 'when endDelay is changed':1186 'assert_equals: set negative endDelay so as endTime is less than currentTime expected 0 but got 1',1187 'when iterations is changed':1188 'assert_equals: set iterations 10 expected (object) object "[object Object]" but got (undefined) undefined',1189 },1190 'test/web-platform-tests/web-animations/interfaces/AnimationEffectTiming/getComputedStyle.html': {1191 'change currentTime when fill forwards and endDelay is positive':1192 'assert_equals: set currentTime just a little before duration expected "0.0001" but got "0"',1193 'changed duration immediately updates its computed styles':1194 'FLAKY_TEST_RESULT',1195 'changed iterations immediately updates its computed styles':1196 'FLAKY_TEST_RESULT',1197 },1198 'test/web-platform-tests/web-animations/interfaces/AnimationEffectTiming/iterationStart.html': {1199 'Test invalid iterationStart value':1200 'assert_throws: function "function () {\n anim.effect.timing.iterationStart = -1;\n }" threw object "ReferenceError: timing is not defined" ("ReferenceError") expected object "[object Object]" ("TypeError")',1201 'Test that changing the iterationStart affects computed timing during the active phase':1202 'anim.effect.getComputedTiming is not a function',1203 'Test that changing the iterationStart affects computed timing when backwards-filling':1204 'anim.effect.getComputedTiming is not a function',1205 'Test that changing the iterationStart affects computed timing when forwards-filling':1206 'anim.effect.getComputedTiming is not a function',1207 },1208 'test/web-platform-tests/web-animations/interfaces/AnimationEffectTiming/iterations.html': {1209 'set iterations 2':1210 'anim.effect.getComputedTiming is not a function',1211 'set iterations Infinity':1212 'anim.effect.getComputedTiming is not a function',1213 },1214 'test/web-platform-tests/web-animations/interfaces/AnimationTimeline/document-timeline.html': {1215 'document.timeline.currentTime liveness tests':1216 'assert_true: document.timeline.currentTime increases between script blocks expected true got false',1217 'document.timeline.currentTime value tests':1218 'assert_true: document.timeline.currentTime is positive expected true got false',1219 },1220 'test/web-platform-tests/web-animations/interfaces/AnimationTimeline/idlharness.html': {1221 'AnimationTimeline interface object length':1222 'assert_own_property: self does not have own property "AnimationTimeline" expected property "AnimationTimeline" missing',1223 'AnimationTimeline interface object name':1224 'assert_own_property: self does not have own property "AnimationTimeline" expected property "AnimationTimeline" missing',1225 'AnimationTimeline interface: attribute currentTime':1226 'assert_own_property: self does not have own property "AnimationTimeline" expected property "AnimationTimeline" missing',1227 'AnimationTimeline interface: document.timeline must inherit property "currentTime" with the proper type (0)':1228 'assert_inherits: property "currentTime" found on object expected in prototype chain',1229 'AnimationTimeline interface: existence and properties of interface object':1230 'assert_own_property: self does not have own property "AnimationTimeline" expected property "AnimationTimeline" missing',1231 'AnimationTimeline interface: existence and properties of interface prototype object':1232 'assert_own_property: self does not have own property "AnimationTimeline" expected property "AnimationTimeline" missing',1233 'AnimationTimeline interface: existence and properties of interface prototype object\'s "constructor" property':1234 'assert_own_property: self does not have own property "AnimationTimeline" expected property "AnimationTimeline" missing',1235 'DocumentTimeline interface object length':1236 'assert_own_property: self does not have own property "DocumentTimeline" expected property "DocumentTimeline" missing',1237 'DocumentTimeline interface object name':1238 'assert_own_property: self does not have own property "DocumentTimeline" expected property "DocumentTimeline" missing',1239 'DocumentTimeline interface: existence and properties of interface object':1240 'assert_own_property: self does not have own property "DocumentTimeline" expected property "DocumentTimeline" missing',1241 'DocumentTimeline interface: existence and properties of interface prototype object':1242 'assert_own_property: self does not have own property "DocumentTimeline" expected property "DocumentTimeline" missing',1243 'DocumentTimeline interface: existence and properties of interface prototype object\'s "constructor" property':1244 'assert_own_property: self does not have own property "DocumentTimeline" expected property "DocumentTimeline" missing',1245 'DocumentTimeline must be primary interface of document.timeline':1246 'assert_own_property: self does not have own property "DocumentTimeline" expected property "DocumentTimeline" missing',1247 'Stringification of document.timeline':1248 'assert_equals: class string of document.timeline expected "[object DocumentTimeline]" but got "[object Object]"',1249 },1250 'test/web-platform-tests/web-animations/interfaces/Document/getAnimations.html': {1251 'Test document.getAnimations for non-animated content':1252 'document.getAnimations is not a function',1253 'Test document.getAnimations for script-generated animations':1254 'document.getAnimations is not a function',1255 'Test document.getAnimations with null target':1256 'KeyframeEffectReadOnly is not defined',1257 'Test the order of document.getAnimations with script generated animations':1258 'document.getAnimations is not a function',1259 },1260 'test/web-platform-tests/web-animations/interfaces/KeyframeEffect/constructor.html': {1261 'Invalid KeyframeEffectReadOnly option by -Infinity':1262 'assert_throws: function "function () {\n new KeyframeEffectReadOnly(target,\n { left: ["10px", "20px"] },\n stest.input);\n }" threw object "ReferenceError: KeyframeEffectReadOnly is not defined" ("ReferenceError") expected object "[object Object]" ("TypeError")',1263 'Invalid KeyframeEffectReadOnly option by NaN':1264 'assert_throws: function "function () {\n new KeyframeEffectReadOnly(target,\n { left: ["10px", "20px"] },\n stest.input);\n }" threw object "ReferenceError: KeyframeEffectReadOnly is not defined" ("ReferenceError") expected object "[object Object]" ("TypeError")',1265 'Invalid KeyframeEffectReadOnly option by a NaN duration':1266 'assert_throws: function "function () {\n new KeyframeEffectReadOnly(target,\n { left: ["10px", "20px"] },\n stest.input);\n }" threw object "ReferenceError: KeyframeEffectReadOnly is not defined" ("ReferenceError") expected object "[object Object]" ("TypeError")',1267 'Invalid KeyframeEffectReadOnly option by a NaN iterations':1268 'assert_throws: function "function () {\n new KeyframeEffectReadOnly(target,\n { left: ["10px", "20px"] },\n stest.input);\n }" threw object "ReferenceError: KeyframeEffectReadOnly is not defined" ("ReferenceError") expected object "[object Object]" ("TypeError")',1269 'Invalid KeyframeEffectReadOnly option by a blank easing':1270 'assert_throws: function "function () {\n new KeyframeEffectReadOnly(target,\n { left: ["10px", "20px"] },\n stest.input);\n }" threw object "ReferenceError: KeyframeEffectReadOnly is not defined" ("ReferenceError") expected object "[object Object]" ("TypeError")',1271 'Invalid KeyframeEffectReadOnly option by a multi-value easing':1272 'assert_throws: function "function () {\n new KeyframeEffectReadOnly(target,\n { left: ["10px", "20px"] },\n stest.input);\n }" threw object "ReferenceError: KeyframeEffectReadOnly is not defined" ("ReferenceError") expected object "[object Object]" ("TypeError")',1273 'Invalid KeyframeEffectReadOnly option by a negative Infinity duration':1274 'assert_throws: function "function () {\n new KeyframeEffectReadOnly(target,\n { left: ["10px", "20px"] },\n stest.input);\n }" threw object "ReferenceError: KeyframeEffectReadOnly is not defined" ("ReferenceError") expected object "[object Object]" ("TypeError")',1275 'Invalid KeyframeEffectReadOnly option by a negative Infinity iterations':1276 'assert_throws: function "function () {\n new KeyframeEffectReadOnly(target,\n { left: ["10px", "20px"] },\n stest.input);\n }" threw object "ReferenceError: KeyframeEffectReadOnly is not defined" ("ReferenceError") expected object "[object Object]" ("TypeError")',1277 'Invalid KeyframeEffectReadOnly option by a negative duration':1278 'assert_throws: function "function () {\n new KeyframeEffectReadOnly(target,\n { left: ["10px", "20px"] },\n stest.input);\n }" threw object "ReferenceError: KeyframeEffectReadOnly is not defined" ("ReferenceError") expected object "[object Object]" ("TypeError")',1279 'Invalid KeyframeEffectReadOnly option by a negative iterations':1280 'assert_throws: function "function () {\n new KeyframeEffectReadOnly(target,\n { left: ["10px", "20px"] },\n stest.input);\n }" threw object "ReferenceError: KeyframeEffectReadOnly is not defined" ("ReferenceError") expected object "[object Object]" ("TypeError")',1281 'Invalid KeyframeEffectReadOnly option by a negative value':1282 'assert_throws: function "function () {\n new KeyframeEffectReadOnly(target,\n { left: ["10px", "20px"] },\n stest.input);\n }" threw object "ReferenceError: KeyframeEffectReadOnly is not defined" ("ReferenceError") expected object "[object Object]" ("TypeError")',1283 'Invalid KeyframeEffectReadOnly option by a string duration':1284 'assert_throws: function "function () {\n new KeyframeEffectReadOnly(target,\n { left: ["10px", "20px"] },\n stest.input);\n }" threw object "ReferenceError: KeyframeEffectReadOnly is not defined" ("ReferenceError") expected object "[object Object]" ("TypeError")',1285 'Invalid KeyframeEffectReadOnly option by a variable easing':1286 'assert_throws: function "function () {\n new KeyframeEffectReadOnly(target,\n { left: ["10px", "20px"] },\n stest.input);\n }" threw object "ReferenceError: KeyframeEffectReadOnly is not defined" ("ReferenceError") expected object "[object Object]" ("TypeError")',1287 'Invalid KeyframeEffectReadOnly option by an \'inherit\' easing':1288 'assert_throws: function "function () {\n new KeyframeEffectReadOnly(target,\n { left: ["10px", "20px"] },\n stest.input);\n }" threw object "ReferenceError: KeyframeEffectReadOnly is not defined" ("ReferenceError") expected object "[object Object]" ("TypeError")',1289 'Invalid KeyframeEffectReadOnly option by an \'initial\' easing':1290 'assert_throws: function "function () {\n new KeyframeEffectReadOnly(target,\n { left: ["10px", "20px"] },\n stest.input);\n }" threw object "ReferenceError: KeyframeEffectReadOnly is not defined" ("ReferenceError") expected object "[object Object]" ("TypeError")',1291 'Invalid KeyframeEffectReadOnly option by an unrecognized easing':1292 'assert_throws: function "function () {\n new KeyframeEffectReadOnly(target,\n { left: ["10px", "20px"] },\n stest.input);\n }" threw object "ReferenceError: KeyframeEffectReadOnly is not defined" ("ReferenceError") expected object "[object Object]" ("TypeError")',1293 'Invalid easing [a blank easing] in keyframe sequence should be thrown':1294 'assert_throws: function "function () {\n new KeyframeEffectReadOnly(target, subtest.input);\n }" threw object "ReferenceError: KeyframeEffectReadOnly is not defined" ("ReferenceError") expected object "TypeError" ("TypeError")',1295 'Invalid easing [a multi-value easing] in keyframe sequence should be thrown':1296 'assert_throws: function "function () {\n new KeyframeEffectReadOnly(target, subtest.input);\n }" threw object "ReferenceError: KeyframeEffectReadOnly is not defined" ("ReferenceError") expected object "TypeError" ("TypeError")',1297 'Invalid easing [a variable easing] in keyframe sequence should be thrown':1298 'assert_throws: function "function () {\n new KeyframeEffectReadOnly(target, subtest.input);\n }" threw object "ReferenceError: KeyframeEffectReadOnly is not defined" ("ReferenceError") expected object "TypeError" ("TypeError")',1299 'Invalid easing [an \'inherit\' easing] in keyframe sequence should be thrown':1300 'assert_throws: function "function () {\n new KeyframeEffectReadOnly(target, subtest.input);\n }" threw object "ReferenceError: KeyframeEffectReadOnly is not defined" ("ReferenceError") expected object "TypeError" ("TypeError")',1301 'Invalid easing [an \'initial\' easing] in keyframe sequence should be thrown':1302 'assert_throws: function "function () {\n new KeyframeEffectReadOnly(target, subtest.input);\n }" threw object "ReferenceError: KeyframeEffectReadOnly is not defined" ("ReferenceError") expected object "TypeError" ("TypeError")',1303 'Invalid easing [an unrecognized easing] in keyframe sequence should be thrown':1304 'assert_throws: function "function () {\n new KeyframeEffectReadOnly(target, subtest.input);\n }" threw object "ReferenceError: KeyframeEffectReadOnly is not defined" ("ReferenceError") expected object "TypeError" ("TypeError")',1305 'KeyframeEffect constructor creates an AnimationEffectTiming timing object':1306 'assert_equals: expected "[object KeyframeEffect]" but got "[object Object]"',1307 'KeyframeEffectReadOnly constructor throws with a keyframe sequence with an invalid easing value':1308 'assert_throws: function "function () {\n new KeyframeEffectReadOnly(target, subtest.input);\n }" threw object "ReferenceError: KeyframeEffectReadOnly is not defined" ("ReferenceError") expected object "[object Object]" ("TypeError")',1309 'KeyframeEffectReadOnly constructor throws with keyframes not loosely sorted by offset':1310 'assert_throws: function "function () {\n new KeyframeEffectReadOnly(target, subtest.input);\n }" threw object "ReferenceError: KeyframeEffectReadOnly is not defined" ("ReferenceError") expected object "[object Object]" ("TypeError")',1311 'KeyframeEffectReadOnly constructor throws with keyframes with an invalid composite value':1312 'assert_throws: function "function () {\n new KeyframeEffectReadOnly(target, subtest.input);\n }" threw object "ReferenceError: KeyframeEffectReadOnly is not defined" ("ReferenceError") expected object "[object Object]" ("TypeError")',1313 'KeyframeEffectReadOnly constructor throws with keyframes with an out-of-bounded negative offset':1314 'assert_throws: function "function () {\n new KeyframeEffectReadOnly(target, subtest.input);\n }" threw object "ReferenceError: KeyframeEffectReadOnly is not defined" ("ReferenceError") expected object "[object Object]" ("TypeError")',1315 'KeyframeEffectReadOnly constructor throws with keyframes with an out-of-bounded positive offset':1316 'assert_throws: function "function () {\n new KeyframeEffectReadOnly(target, subtest.input);\n }" threw object "ReferenceError: KeyframeEffectReadOnly is not defined" ("ReferenceError") expected object "[object Object]" ("TypeError")',1317 'KeyframeEffectReadOnly constructor throws with property-indexed keyframes with an invalid easing value':1318 'assert_throws: function "function () {\n new KeyframeEffectReadOnly(target, subtest.input);\n }" threw object "ReferenceError: KeyframeEffectReadOnly is not defined" ("ReferenceError") expected object "[object Object]" ("TypeError")',1319 'a KeyframeEffectReadOnly can be constructed with a keyframe sequence where greater shorthand precedes lesser shorthand':1320 'KeyframeEffectReadOnly is not defined',1321 'a KeyframeEffectReadOnly can be constructed with a keyframe sequence where lesser shorthand precedes greater shorthand':1322 'KeyframeEffectReadOnly is not defined',1323 'a KeyframeEffectReadOnly can be constructed with a keyframe sequence where longhand precedes shorthand':1324 'KeyframeEffectReadOnly is not defined',1325 'a KeyframeEffectReadOnly can be constructed with a keyframe sequence where shorthand precedes longhand':1326 'KeyframeEffectReadOnly is not defined',1327 'a KeyframeEffectReadOnly can be constructed with a keyframe sequence with a CSS variable reference':1328 'KeyframeEffectReadOnly is not defined',1329 'a KeyframeEffectReadOnly can be constructed with a keyframe sequence with a CSS variable reference in a shorthand property':1330 'KeyframeEffectReadOnly is not defined',1331 'a KeyframeEffectReadOnly can be constructed with a keyframe sequence with different composite values, but the same composite value for a given offset':1332 'KeyframeEffectReadOnly is not defined',1333 'a KeyframeEffectReadOnly can be constructed with a keyframe sequence with different easing values, but the same easing value for a given offset':1334 'KeyframeEffectReadOnly is not defined',1335 'a KeyframeEffectReadOnly can be constructed with a keyframe sequence with duplicate values for a given interior offset':1336 'KeyframeEffectReadOnly is not defined',1337 'a KeyframeEffectReadOnly can be constructed with a keyframe sequence with duplicate values for offsets 0 and 1':1338 'KeyframeEffectReadOnly is not defined',1339 'a KeyframeEffectReadOnly can be constructed with a keyframe sequence with repeated values at offset 1 with different easings':1340 'KeyframeEffectReadOnly is not defined',1341 'a KeyframeEffectReadOnly can be constructed with a one property keyframe sequence with all omitted offsets':1342 'KeyframeEffectReadOnly is not defined',1343 'a KeyframeEffectReadOnly can be constructed with a one property keyframe sequence with some omitted offsets':1344 'KeyframeEffectReadOnly is not defined',1345 'a KeyframeEffectReadOnly can be constructed with a one property one keyframe sequence':1346 'KeyframeEffectReadOnly is not defined',1347 'a KeyframeEffectReadOnly can be constructed with a one property one non-array value property-indexed keyframes specification':1348 'KeyframeEffectReadOnly is not defined',1349 'a KeyframeEffectReadOnly can be constructed with a one property one value property-indexed keyframes specification':1350 'KeyframeEffectReadOnly is not defined',1351 'a KeyframeEffectReadOnly can be constructed with a one property two keyframe sequence':1352 'KeyframeEffectReadOnly is not defined',1353 'a KeyframeEffectReadOnly can be constructed with a one property two keyframe sequence that needs to stringify its values':1354 'KeyframeEffectReadOnly is not defined',1355 'a KeyframeEffectReadOnly can be constructed with a one property two value property-indexed keyframes specification':1356 'KeyframeEffectReadOnly is not defined',1357 'a KeyframeEffectReadOnly can be constructed with a one property two value property-indexed keyframes specification that needs to stringify its values':1358 'KeyframeEffectReadOnly is not defined',1359 'a KeyframeEffectReadOnly can be constructed with a one property two value property-indexed keyframes specification where the first value is invalid':1360 'KeyframeEffectReadOnly is not defined',1361 'a KeyframeEffectReadOnly can be constructed with a one property two value property-indexed keyframes specification where the second value is invalid':1362 'KeyframeEffectReadOnly is not defined',1363 'a KeyframeEffectReadOnly can be constructed with a one shorthand property two keyframe sequence':1364 'KeyframeEffectReadOnly is not defined',1365 'a KeyframeEffectReadOnly can be constructed with a one shorthand property two value property-indexed keyframes specification':1366 'KeyframeEffectReadOnly is not defined',1367 'a KeyframeEffectReadOnly can be constructed with a property-indexed keyframes specification with a CSS variable reference':1368 'KeyframeEffectReadOnly is not defined',1369 'a KeyframeEffectReadOnly can be constructed with a property-indexed keyframes specification with a CSS variable reference in a shorthand property':1370 'KeyframeEffectReadOnly is not defined',1371 'a KeyframeEffectReadOnly can be constructed with a property-indexed keyframes specification with an invalid value':1372 'KeyframeEffectReadOnly is not defined',1373 'a KeyframeEffectReadOnly can be constructed with a single keyframe sequence with omitted offsets':1374 'KeyframeEffectReadOnly is not defined',1375 'a KeyframeEffectReadOnly can be constructed with a two property (a shorthand and one of its component longhands) two keyframe sequence':1376 'KeyframeEffectReadOnly is not defined',1377 'a KeyframeEffectReadOnly can be constructed with a two property (one shorthand and one of its longhand components) two value property-indexed keyframes specification':1378 'KeyframeEffectReadOnly is not defined',1379 'a KeyframeEffectReadOnly can be constructed with a two property four keyframe sequence':1380 'KeyframeEffectReadOnly is not defined',1381 'a KeyframeEffectReadOnly can be constructed with a two property keyframe sequence where one property is missing from the first keyframe':1382 'KeyframeEffectReadOnly is not defined',1383 'a KeyframeEffectReadOnly can be constructed with a two property keyframe sequence where one property is missing from the last keyframe':1384 'KeyframeEffectReadOnly is not defined',1385 'a KeyframeEffectReadOnly can be constructed with a two property keyframe sequence with some omitted offsets':1386 'KeyframeEffectReadOnly is not defined',1387 'a KeyframeEffectReadOnly can be constructed with a two property property-indexed keyframes specification with different numbers of values':1388 'KeyframeEffectReadOnly is not defined',1389 'a KeyframeEffectReadOnly can be constructed with a two property two keyframe sequence':1390 'KeyframeEffectReadOnly is not defined',1391 'a KeyframeEffectReadOnly can be constructed with a two property two value property-indexed keyframes specification':1392 'KeyframeEffectReadOnly is not defined',1393 'a KeyframeEffectReadOnly can be constructed with no frames':1394 'KeyframeEffectReadOnly is not defined',1395 'a KeyframeEffectReadOnly constructed by +Infinity':1396 'KeyframeEffectReadOnly is not defined',1397 'a KeyframeEffectReadOnly constructed by a double value':1398 'KeyframeEffectReadOnly is not defined',1399 'a KeyframeEffectReadOnly constructed by a forwards fill':1400 'KeyframeEffectReadOnly is not defined',1401 'a KeyframeEffectReadOnly constructed by a normal KeyframeEffectOptions object':1402 'KeyframeEffectReadOnly is not defined',1403 'a KeyframeEffectReadOnly constructed by an Infinity duration':1404 'KeyframeEffectReadOnly is not defined',1405 'a KeyframeEffectReadOnly constructed by an Infinity iterations':1406 'KeyframeEffectReadOnly is not defined',1407 'a KeyframeEffectReadOnly constructed by an auto duration':1408 'KeyframeEffectReadOnly is not defined',1409 'a KeyframeEffectReadOnly constructed by an auto fill':1410 'KeyframeEffectReadOnly is not defined',1411 'a KeyframeEffectReadOnly constructed by an empty KeyframeEffectOptions object':1412 'KeyframeEffectReadOnly is not defined',1413 'a KeyframeEffectReadOnly constructed with a keyframe sequence where greater shorthand precedes lesser shorthand roundtrips':1414 'KeyframeEffectReadOnly is not defined',1415 'a KeyframeEffectReadOnly constructed with a keyframe sequence where lesser shorthand precedes greater shorthand roundtrips':1416 'KeyframeEffectReadOnly is not defined',1417 'a KeyframeEffectReadOnly constructed with a keyframe sequence where longhand precedes shorthand roundtrips':1418 'KeyframeEffectReadOnly is not defined',1419 'a KeyframeEffectReadOnly constructed with a keyframe sequence where shorthand precedes longhand roundtrips':1420 'KeyframeEffectReadOnly is not defined',1421 'a KeyframeEffectReadOnly constructed with a keyframe sequence with a CSS variable reference in a shorthand property roundtrips':1422 'KeyframeEffectReadOnly is not defined',1423 'a KeyframeEffectReadOnly constructed with a keyframe sequence with a CSS variable reference roundtrips':1424 'KeyframeEffectReadOnly is not defined',1425 'a KeyframeEffectReadOnly constructed with a keyframe sequence with different composite values, but the same composite value for a given offset roundtrips':1426 'KeyframeEffectReadOnly is not defined',1427 'a KeyframeEffectReadOnly constructed with a keyframe sequence with different easing values, but the same easing value for a given offset roundtrips':1428 'KeyframeEffectReadOnly is not defined',1429 'a KeyframeEffectReadOnly constructed with a keyframe sequence with duplicate values for a given interior offset roundtrips':1430 'KeyframeEffectReadOnly is not defined',1431 'a KeyframeEffectReadOnly constructed with a keyframe sequence with duplicate values for offsets 0 and 1 roundtrips':1432 'KeyframeEffectReadOnly is not defined',1433 'a KeyframeEffectReadOnly constructed with a keyframe sequence with repeated values at offset 1 with different easings roundtrips':1434 'KeyframeEffectReadOnly is not defined',1435 'a KeyframeEffectReadOnly constructed with a one property keyframe sequence with all omitted offsets roundtrips':1436 'KeyframeEffectReadOnly is not defined',1437 'a KeyframeEffectReadOnly constructed with a one property keyframe sequence with some omitted offsets roundtrips':1438 'KeyframeEffectReadOnly is not defined',1439 'a KeyframeEffectReadOnly constructed with a one property one keyframe sequence roundtrips':1440 'KeyframeEffectReadOnly is not defined',1441 'a KeyframeEffectReadOnly constructed with a one property one non-array value property-indexed keyframes specification roundtrips':1442 'KeyframeEffectReadOnly is not defined',1443 'a KeyframeEffectReadOnly constructed with a one property one value property-indexed keyframes specification roundtrips':1444 'KeyframeEffectReadOnly is not defined',1445 'a KeyframeEffectReadOnly constructed with a one property two keyframe sequence roundtrips':1446 'KeyframeEffectReadOnly is not defined',1447 'a KeyframeEffectReadOnly constructed with a one property two keyframe sequence that needs to stringify its values roundtrips':1448 'KeyframeEffectReadOnly is not defined',1449 'a KeyframeEffectReadOnly constructed with a one property two value property-indexed keyframes specification roundtrips':1450 'KeyframeEffectReadOnly is not defined',1451 'a KeyframeEffectReadOnly constructed with a one property two value property-indexed keyframes specification that needs to stringify its values roundtrips':1452 'KeyframeEffectReadOnly is not defined',1453 'a KeyframeEffectReadOnly constructed with a one property two value property-indexed keyframes specification where the first value is invalid roundtrips':1454 'KeyframeEffectReadOnly is not defined',1455 'a KeyframeEffectReadOnly constructed with a one property two value property-indexed keyframes specification where the second value is invalid roundtrips':1456 'KeyframeEffectReadOnly is not defined',1457 'a KeyframeEffectReadOnly constructed with a one shorthand property two keyframe sequence roundtrips':1458 'KeyframeEffectReadOnly is not defined',1459 'a KeyframeEffectReadOnly constructed with a one shorthand property two value property-indexed keyframes specification roundtrips':1460 'KeyframeEffectReadOnly is not defined',1461 'a KeyframeEffectReadOnly constructed with a property-indexed keyframes specification with a CSS variable reference in a shorthand property roundtrips':1462 'KeyframeEffectReadOnly is not defined',1463 'a KeyframeEffectReadOnly constructed with a property-indexed keyframes specification with a CSS variable reference roundtrips':1464 'KeyframeEffectReadOnly is not defined',1465 'a KeyframeEffectReadOnly constructed with a property-indexed keyframes specification with an invalid value roundtrips':1466 'KeyframeEffectReadOnly is not defined',1467 'a KeyframeEffectReadOnly constructed with a single keyframe sequence with omitted offsets roundtrips':1468 'KeyframeEffectReadOnly is not defined',1469 'a KeyframeEffectReadOnly constructed with a two property (a shorthand and one of its component longhands) two keyframe sequence roundtrips':1470 'KeyframeEffectReadOnly is not defined',1471 'a KeyframeEffectReadOnly constructed with a two property (one shorthand and one of its longhand components) two value property-indexed keyframes specification roundtrips':1472 'KeyframeEffectReadOnly is not defined',1473 'a KeyframeEffectReadOnly constructed with a two property four keyframe sequence roundtrips':1474 'KeyframeEffectReadOnly is not defined',1475 'a KeyframeEffectReadOnly constructed with a two property keyframe sequence where one property is missing from the first keyframe roundtrips':1476 'KeyframeEffectReadOnly is not defined',1477 'a KeyframeEffectReadOnly constructed with a two property keyframe sequence where one property is missing from the last keyframe roundtrips':1478 'KeyframeEffectReadOnly is not defined',1479 'a KeyframeEffectReadOnly constructed with a two property keyframe sequence with some omitted offsets roundtrips':1480 'KeyframeEffectReadOnly is not defined',1481 'a KeyframeEffectReadOnly constructed with a two property property-indexed keyframes specification with different numbers of values roundtrips':1482 'KeyframeEffectReadOnly is not defined',1483 'a KeyframeEffectReadOnly constructed with a two property two keyframe sequence roundtrips':1484 'KeyframeEffectReadOnly is not defined',1485 'a KeyframeEffectReadOnly constructed with a two property two value property-indexed keyframes specification roundtrips':1486 'KeyframeEffectReadOnly is not defined',1487 'a KeyframeEffectReadOnly constructed with null target':1488 'KeyframeEffectReadOnly is not defined',1489 'a KeyframeEffectReadOnly constructed without any KeyframeEffectOptions object':1490 'KeyframeEffectReadOnly is not defined',1491 'composite values are parsed correctly when passed to the KeyframeEffectReadOnly constructor in KeyframeTimingOptions':1492 'KeyframeEffectReadOnly is not defined',1493 'composite values are parsed correctly when passed to the KeyframeEffectReadOnly constructor in property-indexed keyframes':1494 'KeyframeEffectReadOnly is not defined',1495 'composite values are parsed correctly when passed to the KeyframeEffectReadOnly constructor in regular keyframes':1496 'KeyframeEffectReadOnly is not defined',1497 'easing values are parsed correctly when passed to the KeyframeEffectReadOnly constructor in KeyframeTimingOptions':1498 'KeyframeEffectReadOnly is not defined',1499 'easing values are parsed correctly when passed to the KeyframeEffectReadOnly constructor in a property-indexed keyframe':1500 'KeyframeEffectReadOnly is not defined',1501 'easing values are parsed correctly when passed to the KeyframeEffectReadOnly constructor in regular keyframes':1502 'KeyframeEffectReadOnly is not defined',1503 'the KeyframeEffectReadOnly constructor reads keyframe properties in the expected order':1504 'KeyframeEffectReadOnly is not defined',1505 },1506 'test/web-platform-tests/web-animations/interfaces/KeyframeEffect/effect-easing-steps.html': {1507 'Test bounds point of step(4, start) easing with iterationStart 0.75 and delay':1508 'animation.effect.getComputedTiming is not a function',1509 'Test bounds point of step-end easing with iterationStart and delay':1510 'animation.effect.getComputedTiming is not a function',1511 'Test bounds point of step-end easing with iterationStart not at a transition point':1512 'animation.effect.getComputedTiming is not a function',1513 'Test bounds point of step-start easing':1514 'animation.effect.getComputedTiming is not a function',1515 'Test bounds point of step-start easing in keyframe':1516 'animation.effect.getComputedTiming is not a function',1517 'Test bounds point of step-start easing with alternate direction':1518 'animation.effect.getComputedTiming is not a function',1519 'Test bounds point of step-start easing with alternate-reverse direction':1520 'animation.effect.getComputedTiming is not a function',1521 'Test bounds point of step-start easing with compositor':1522 'animation.effect.getComputedTiming is not a function',1523 'Test bounds point of step-start easing with iterationStart and delay':1524 'animation.effect.getComputedTiming is not a function',1525 'Test bounds point of step-start easing with iterationStart and reverse direction':1526 'animation.effect.getComputedTiming is not a function',1527 'Test bounds point of step-start easing with iterationStart not at a transition point':1528 'animation.effect.getComputedTiming is not a function',1529 'Test bounds point of step-start easing with reverse direction':1530 'animation.effect.getComputedTiming is not a function',1531 },1532 'test/web-platform-tests/web-animations/interfaces/KeyframeEffect/effect-easing.html': {1533 'effect easing produces negative values 1 with keyframe easing cubic-bezier(0, 0, 0, 0)':1534 'assert_approx_equals: The left of the animation should be approximately -29.501119758965654 at 250ms expected -29.501119758965654 +/- 0.01 but got 0',1535 'effect easing produces values greater than 1 with keyframe easing cubic-bezier(1, 1, 1, 1)':1536 'assert_approx_equals: The left of the animation should be approximately 102.40666638411385 at 250ms expected 102.40666638411385 +/- 0.01 but got 100',1537 'effect easing which produces values greater than 1 and the tangent on the upper boundary is infinity with keyframe easing producing values greater than 1':1538 'assert_approx_equals: The left of the animation should be approximately 100 at 240ms expected 100 +/- 0.01 but got 99.5333',1539 },1540 'test/web-platform-tests/web-animations/interfaces/KeyframeEffect/getComputedTiming.html': {1541 'getComputedTiming().activeDuration for a non-zero duration and default iteration count':1542 'KeyframeEffectReadOnly is not defined',1543 'getComputedTiming().activeDuration for a non-zero duration and fractional iteration count':1544 'KeyframeEffectReadOnly is not defined',1545 'getComputedTiming().activeDuration for a non-zero duration and integral iteration count':1546 'KeyframeEffectReadOnly is not defined',1547 'getComputedTiming().activeDuration for a zero duration and default iteration count':1548 'KeyframeEffectReadOnly is not defined',1549 'getComputedTiming().activeDuration for a zero duration and fractional iteration count':1550 'KeyframeEffectReadOnly is not defined',1551 'getComputedTiming().activeDuration for a zero duration and infinite iteration count':1552 'KeyframeEffectReadOnly is not defined',1553 'getComputedTiming().activeDuration for a zero duration and zero iteration count':1554 'KeyframeEffectReadOnly is not defined',1555 'getComputedTiming().activeDuration for an empty KeyframeEffectOptions object':1556 'KeyframeEffectReadOnly is not defined',1557 'getComputedTiming().activeDuration for an infinite duration and default iteration count':1558 'KeyframeEffectReadOnly is not defined',1559 'getComputedTiming().activeDuration for an infinite duration and fractional iteration count':1560 'KeyframeEffectReadOnly is not defined',1561 'getComputedTiming().activeDuration for an infinite duration and infinite iteration count':1562 'KeyframeEffectReadOnly is not defined',1563 'getComputedTiming().activeDuration for an infinite duration and zero iteration count':1564 'KeyframeEffectReadOnly is not defined',1565 'getComputedTiming().activeDuration for an non-zero duration and infinite iteration count':1566 'KeyframeEffectReadOnly is not defined',1567 'getComputedTiming().activeDuration for an non-zero duration and zero iteration count':1568 'KeyframeEffectReadOnly is not defined',1569 'getComputedTiming().endTime for a non-zero duration and default iteration count':1570 'KeyframeEffectReadOnly is not defined',1571 'getComputedTiming().endTime for a non-zero duration and non-default iteration count':1572 'KeyframeEffectReadOnly is not defined',1573 'getComputedTiming().endTime for a non-zero duration and non-zero delay':1574 'KeyframeEffectReadOnly is not defined',1575 'getComputedTiming().endTime for a non-zero duration, non-zero delay and non-default iteration':1576 'KeyframeEffectReadOnly is not defined',1577 'getComputedTiming().endTime for a zero duration and negative delay':1578 'KeyframeEffectReadOnly is not defined',1579 'getComputedTiming().endTime for an empty KeyframeEffectOptions object':1580 'KeyframeEffectReadOnly is not defined',1581 'getComputedTiming().endTime for an infinite duration':1582 'KeyframeEffectReadOnly is not defined',1583 'getComputedTiming().endTime for an infinite duration and delay':1584 'KeyframeEffectReadOnly is not defined',1585 'getComputedTiming().endTime for an infinite duration and negative delay':1586 'KeyframeEffectReadOnly is not defined',1587 'getComputedTiming().endTime for an infinite iteration count':1588 'KeyframeEffectReadOnly is not defined',1589 'getComputedTiming().endTime for an non-zero duration and negative delay':1590 'KeyframeEffectReadOnly is not defined',1591 'getComputedTiming().endTime for an non-zero duration and negative delay greater than active duration':1592 'KeyframeEffectReadOnly is not defined',1593 'values of getComputedTiming() when a KeyframeEffectReadOnly is constructed by +Infinity':1594 'KeyframeEffectReadOnly is not defined',1595 'values of getComputedTiming() when a KeyframeEffectReadOnly is constructed by a double value':1596 'KeyframeEffectReadOnly is not defined',1597 'values of getComputedTiming() when a KeyframeEffectReadOnly is constructed by a forwards fill':1598 'KeyframeEffectReadOnly is not defined',1599 'values of getComputedTiming() when a KeyframeEffectReadOnly is constructed by a normal KeyframeEffectOptions object':1600 'KeyframeEffectReadOnly is not defined',1601 'values of getComputedTiming() when a KeyframeEffectReadOnly is constructed by an Infinity duration':1602 'KeyframeEffectReadOnly is not defined',1603 'values of getComputedTiming() when a KeyframeEffectReadOnly is constructed by an Infinity iterations':1604 'KeyframeEffectReadOnly is not defined',1605 'values of getComputedTiming() when a KeyframeEffectReadOnly is constructed by an auto duration':1606 'KeyframeEffectReadOnly is not defined',1607 'values of getComputedTiming() when a KeyframeEffectReadOnly is constructed by an auto fill':1608 'KeyframeEffectReadOnly is not defined',1609 'values of getComputedTiming() when a KeyframeEffectReadOnly is constructed by an empty KeyframeEffectOptions object':1610 'KeyframeEffectReadOnly is not defined',1611 'values of getComputedTiming() when a KeyframeEffectReadOnly is constructed without any KeyframeEffectOptions object':1612 'KeyframeEffectReadOnly is not defined',1613 },1614 'test/web-platform-tests/web-animations/interfaces/KeyframeEffect/processing-a-keyframes-argument.html': {1615 'non-animatable property \'animation\' is not accessed when using a keyframe sequence':1616 'KeyframeEffectReadOnly is not defined',1617 'non-animatable property \'animation\' is not accessed when using a property-indexed keyframe object':1618 'KeyframeEffectReadOnly is not defined',1619 'non-animatable property \'animationDelay\' is not accessed when using a keyframe sequence':1620 'KeyframeEffectReadOnly is not defined',1621 'non-animatable property \'animationDelay\' is not accessed when using a property-indexed keyframe object':1622 'KeyframeEffectReadOnly is not defined',1623 'non-animatable property \'animationDirection\' is not accessed when using a keyframe sequence':1624 'KeyframeEffectReadOnly is not defined',1625 'non-animatable property \'animationDirection\' is not accessed when using a property-indexed keyframe object':1626 'KeyframeEffectReadOnly is not defined',1627 'non-animatable property \'animationDuration\' is not accessed when using a keyframe sequence':1628 'KeyframeEffectReadOnly is not defined',1629 'non-animatable property \'animationDuration\' is not accessed when using a property-indexed keyframe object':1630 'KeyframeEffectReadOnly is not defined',1631 'non-animatable property \'animationFillMode\' is not accessed when using a keyframe sequence':1632 'KeyframeEffectReadOnly is not defined',1633 'non-animatable property \'animationFillMode\' is not accessed when using a property-indexed keyframe object':1634 'KeyframeEffectReadOnly is not defined',1635 'non-animatable property \'animationIterationCount\' is not accessed when using a keyframe sequence':1636 'KeyframeEffectReadOnly is not defined',1637 'non-animatable property \'animationIterationCount\' is not accessed when using a property-indexed keyframe object':1638 'KeyframeEffectReadOnly is not defined',1639 'non-animatable property \'animationName\' is not accessed when using a keyframe sequence':1640 'KeyframeEffectReadOnly is not defined',1641 'non-animatable property \'animationName\' is not accessed when using a property-indexed keyframe object':1642 'KeyframeEffectReadOnly is not defined',1643 'non-animatable property \'animationPlayState\' is not accessed when using a keyframe sequence':1644 'KeyframeEffectReadOnly is not defined',1645 'non-animatable property \'animationPlayState\' is not accessed when using a property-indexed keyframe object':1646 'KeyframeEffectReadOnly is not defined',1647 'non-animatable property \'animationTimingFunction\' is not accessed when using a keyframe sequence':1648 'KeyframeEffectReadOnly is not defined',1649 'non-animatable property \'animationTimingFunction\' is not accessed when using a property-indexed keyframe object':1650 'KeyframeEffectReadOnly is not defined',1651 'non-animatable property \'display\' is not accessed when using a keyframe sequence':1652 'KeyframeEffectReadOnly is not defined',1653 'non-animatable property \'display\' is not accessed when using a property-indexed keyframe object':1654 'KeyframeEffectReadOnly is not defined',1655 'non-animatable property \'transition\' is not accessed when using a keyframe sequence':1656 'KeyframeEffectReadOnly is not defined',1657 'non-animatable property \'transition\' is not accessed when using a property-indexed keyframe object':1658 'KeyframeEffectReadOnly is not defined',1659 'non-animatable property \'transitionDelay\' is not accessed when using a keyframe sequence':1660 'KeyframeEffectReadOnly is not defined',1661 'non-animatable property \'transitionDelay\' is not accessed when using a property-indexed keyframe object':1662 'KeyframeEffectReadOnly is not defined',1663 'non-animatable property \'transitionDuration\' is not accessed when using a keyframe sequence':1664 'KeyframeEffectReadOnly is not defined',1665 'non-animatable property \'transitionDuration\' is not accessed when using a property-indexed keyframe object':1666 'KeyframeEffectReadOnly is not defined',1667 'non-animatable property \'transitionProperty\' is not accessed when using a keyframe sequence':1668 'KeyframeEffectReadOnly is not defined',1669 'non-animatable property \'transitionProperty\' is not accessed when using a property-indexed keyframe object':1670 'KeyframeEffectReadOnly is not defined',1671 'non-animatable property \'transitionTimingFunction\' is not accessed when using a keyframe sequence':1672 'KeyframeEffectReadOnly is not defined',1673 'non-animatable property \'transitionTimingFunction\' is not accessed when using a property-indexed keyframe object':1674 'KeyframeEffectReadOnly is not defined',1675 'non-animatable property \'unsupportedProperty\' is not accessed when using a keyframe sequence':1676 'KeyframeEffectReadOnly is not defined',1677 'non-animatable property \'unsupportedProperty\' is not accessed when using a property-indexed keyframe object':1678 'KeyframeEffectReadOnly is not defined',1679 },1680 'test/web-platform-tests/web-animations/interfaces/KeyframeEffect/setKeyframes.html': {1681 'Keyframes can be replaced with a keyframe sequence where greater shorthand precedes lesser shorthand':1682 'effect.setKeyframes is not a function',1683 'Keyframes can be replaced with a keyframe sequence where lesser shorthand precedes greater shorthand':1684 'effect.setKeyframes is not a function',1685 'Keyframes can be replaced with a keyframe sequence where longhand precedes shorthand':1686 'effect.setKeyframes is not a function',1687 'Keyframes can be replaced with a keyframe sequence where shorthand precedes longhand':1688 'effect.setKeyframes is not a function',1689 'Keyframes can be replaced with a keyframe sequence with a CSS variable reference':1690 'effect.setKeyframes is not a function',1691 'Keyframes can be replaced with a keyframe sequence with a CSS variable reference in a shorthand property':1692 'effect.setKeyframes is not a function',1693 'Keyframes can be replaced with a keyframe sequence with different composite values, but the same composite value for a given offset':1694 'effect.setKeyframes is not a function',1695 'Keyframes can be replaced with a keyframe sequence with different easing values, but the same easing value for a given offset':1696 'effect.setKeyframes is not a function',1697 'Keyframes can be replaced with a keyframe sequence with duplicate values for a given interior offset':1698 'effect.setKeyframes is not a function',1699 'Keyframes can be replaced with a keyframe sequence with duplicate values for offsets 0 and 1':1700 'effect.setKeyframes is not a function',1701 'Keyframes can be replaced with a keyframe sequence with repeated values at offset 1 with different easings':1702 'effect.setKeyframes is not a function',1703 'Keyframes can be replaced with a one property keyframe sequence with all omitted offsets':1704 'effect.setKeyframes is not a function',1705 'Keyframes can be replaced with a one property keyframe sequence with some omitted offsets':1706 'effect.setKeyframes is not a function',1707 'Keyframes can be replaced with a one property one keyframe sequence':1708 'effect.setKeyframes is not a function',1709 'Keyframes can be replaced with a one property one non-array value property-indexed keyframes specification':1710 'effect.setKeyframes is not a function',1711 'Keyframes can be replaced with a one property one value property-indexed keyframes specification':1712 'effect.setKeyframes is not a function',1713 'Keyframes can be replaced with a one property two keyframe sequence':1714 'effect.setKeyframes is not a function',1715 'Keyframes can be replaced with a one property two keyframe sequence that needs to stringify its values':1716 'effect.setKeyframes is not a function',1717 'Keyframes can be replaced with a one property two value property-indexed keyframes specification':1718 'effect.setKeyframes is not a function',1719 'Keyframes can be replaced with a one property two value property-indexed keyframes specification that needs to stringify its values':1720 'effect.setKeyframes is not a function',1721 'Keyframes can be replaced with a one property two value property-indexed keyframes specification where the first value is invalid':1722 'effect.setKeyframes is not a function',1723 'Keyframes can be replaced with a one property two value property-indexed keyframes specification where the second value is invalid':1724 'effect.setKeyframes is not a function',1725 'Keyframes can be replaced with a one shorthand property two keyframe sequence':1726 'effect.setKeyframes is not a function',1727 'Keyframes can be replaced with a one shorthand property two value property-indexed keyframes specification':1728 'effect.setKeyframes is not a function',1729 'Keyframes can be replaced with a property-indexed keyframes specification with a CSS variable reference':1730 'effect.setKeyframes is not a function',1731 'Keyframes can be replaced with a property-indexed keyframes specification with a CSS variable reference in a shorthand property':1732 'effect.setKeyframes is not a function',1733 'Keyframes can be replaced with a property-indexed keyframes specification with an invalid value':1734 'effect.setKeyframes is not a function',1735 'Keyframes can be replaced with a single keyframe sequence with omitted offsets':1736 'effect.setKeyframes is not a function',1737 'Keyframes can be replaced with a two property (a shorthand and one of its component longhands) two keyframe sequence':1738 'effect.setKeyframes is not a function',1739 'Keyframes can be replaced with a two property (one shorthand and one of its longhand components) two value property-indexed keyframes specification':1740 'effect.setKeyframes is not a function',1741 'Keyframes can be replaced with a two property four keyframe sequence':1742 'effect.setKeyframes is not a function',1743 'Keyframes can be replaced with a two property keyframe sequence where one property is missing from the first keyframe':1744 'effect.setKeyframes is not a function',1745 'Keyframes can be replaced with a two property keyframe sequence where one property is missing from the last keyframe':1746 'effect.setKeyframes is not a function',1747 'Keyframes can be replaced with a two property keyframe sequence with some omitted offsets':1748 'effect.setKeyframes is not a function',1749 'Keyframes can be replaced with a two property property-indexed keyframes specification with different numbers of values':1750 'effect.setKeyframes is not a function',1751 'Keyframes can be replaced with a two property two keyframe sequence':1752 'effect.setKeyframes is not a function',1753 'Keyframes can be replaced with a two property two value property-indexed keyframes specification':1754 'effect.setKeyframes is not a function',1755 'Keyframes can be replaced with an empty keyframe':1756 'effect.setKeyframes is not a function',1757 },1758 'test/web-platform-tests/web-animations/interfaces/KeyframeEffect/setTarget.html': {1759 'Test setting target from a valid target to another target':1760 'assert_equals: Value of 1st element (currently not targeted) after changing the effect target expected "10px" but got "50px"',1761 'Test setting target from a valid target to null':1762 'assert_equals: Value after clearing the target expected "10px" but got "50px"',1763 'Test setting target from null to a valid target':1764 'assert_equals: Value at 50% progress after setting new target expected "50px" but got "10px"',1765 },1766 'test/web-platform-tests/web-animations/timing-model/animation-effects/current-iteration.html': {1767 'Test currentIteration during before and after phase when fill is none':1768 'anim.effect.getComputedTiming is not a function',1769 'Test fractional iterations: iterations:3.5 iterationStart:0 duration:0 delay:1 fill:both':1770 'anim.effect.getComputedTiming is not a function',1771 'Test fractional iterations: iterations:3.5 iterationStart:0 duration:100 delay:1 fill:both':1772 'anim.effect.getComputedTiming is not a function',1773 'Test fractional iterations: iterations:3.5 iterationStart:0 duration:Infinity delay:1 fill:both':1774 'anim.effect.getComputedTiming is not a function',1775 'Test fractional iterations: iterations:3.5 iterationStart:2.5 duration:0 delay:1 fill:both':1776 'anim.effect.getComputedTiming is not a function',1777 'Test fractional iterations: iterations:3.5 iterationStart:2.5 duration:100 delay:1 fill:both':1778 'anim.effect.getComputedTiming is not a function',1779 'Test fractional iterations: iterations:3.5 iterationStart:2.5 duration:Infinity delay:1 fill:both':1780 'anim.effect.getComputedTiming is not a function',1781 'Test fractional iterations: iterations:3.5 iterationStart:3 duration:0 delay:1 fill:both':1782 'anim.effect.getComputedTiming is not a function',1783 'Test fractional iterations: iterations:3.5 iterationStart:3 duration:100 delay:1 fill:both':1784 'anim.effect.getComputedTiming is not a function',1785 'Test fractional iterations: iterations:3.5 iterationStart:3 duration:Infinity delay:1 fill:both':1786 'anim.effect.getComputedTiming is not a function',1787 'Test infinity iterations: iterations:Infinity iterationStart:0 duration:0 delay:1 fill:both':1788 'anim.effect.getComputedTiming is not a function',1789 'Test infinity iterations: iterations:Infinity iterationStart:0 duration:100 delay:1 fill:both':1790 'anim.effect.getComputedTiming is not a function',1791 'Test infinity iterations: iterations:Infinity iterationStart:0 duration:Infinity delay:1 fill:both':1792 'anim.effect.getComputedTiming is not a function',1793 'Test infinity iterations: iterations:Infinity iterationStart:2.5 duration:0 delay:1 fill:both':1794 'anim.effect.getComputedTiming is not a function',1795 'Test infinity iterations: iterations:Infinity iterationStart:2.5 duration:100 delay:1 fill:both':1796 'anim.effect.getComputedTiming is not a function',1797 'Test infinity iterations: iterations:Infinity iterationStart:2.5 duration:Infinity delay:1 fill:both':1798 'anim.effect.getComputedTiming is not a function',1799 'Test infinity iterations: iterations:Infinity iterationStart:3 duration:0 delay:1 fill:both':1800 'anim.effect.getComputedTiming is not a function',1801 'Test infinity iterations: iterations:Infinity iterationStart:3 duration:100 delay:1 fill:both':1802 'anim.effect.getComputedTiming is not a function',1803 'Test infinity iterations: iterations:Infinity iterationStart:3 duration:Infinity delay:1 fill:both':1804 'anim.effect.getComputedTiming is not a function',1805 'Test integer iterations: iterations:3 iterationStart:0 duration:0 delay:1 fill:both':1806 'anim.effect.getComputedTiming is not a function',1807 'Test integer iterations: iterations:3 iterationStart:0 duration:100 delay:1 fill:both':1808 'anim.effect.getComputedTiming is not a function',1809 'Test integer iterations: iterations:3 iterationStart:0 duration:Infinity delay:1 fill:both':1810 'anim.effect.getComputedTiming is not a function',1811 'Test integer iterations: iterations:3 iterationStart:2.5 duration:0 delay:1 fill:both':1812 'anim.effect.getComputedTiming is not a function',1813 'Test integer iterations: iterations:3 iterationStart:2.5 duration:100 delay:1 fill:both':1814 'anim.effect.getComputedTiming is not a function',1815 'Test integer iterations: iterations:3 iterationStart:2.5 duration:Infinity delay:1 fill:both':1816 'anim.effect.getComputedTiming is not a function',1817 'Test integer iterations: iterations:3 iterationStart:3 duration:0 delay:1 fill:both':1818 'anim.effect.getComputedTiming is not a function',1819 'Test integer iterations: iterations:3 iterationStart:3 duration:100 delay:1 fill:both':1820 'anim.effect.getComputedTiming is not a function',1821 'Test integer iterations: iterations:3 iterationStart:3 duration:Infinity delay:1 fill:both':1822 'anim.effect.getComputedTiming is not a function',1823 'Test zero iterations: iterations:0 iterationStart:0 duration:0 delay:1 fill:both':1824 'anim.effect.getComputedTiming is not a function',1825 'Test zero iterations: iterations:0 iterationStart:0 duration:100 delay:1 fill:both':1826 'anim.effect.getComputedTiming is not a function',1827 'Test zero iterations: iterations:0 iterationStart:0 duration:Infinity delay:1 fill:both':1828 'anim.effect.getComputedTiming is not a function',1829 'Test zero iterations: iterations:0 iterationStart:2.5 duration:0 delay:1 fill:both':1830 'anim.effect.getComputedTiming is not a function',1831 'Test zero iterations: iterations:0 iterationStart:2.5 duration:100 delay:1 fill:both':1832 'anim.effect.getComputedTiming is not a function',1833 'Test zero iterations: iterations:0 iterationStart:2.5 duration:Infinity delay:1 fill:both':1834 'anim.effect.getComputedTiming is not a function',1835 'Test zero iterations: iterations:0 iterationStart:3 duration:0 delay:1 fill:both':1836 'anim.effect.getComputedTiming is not a function',1837 'Test zero iterations: iterations:0 iterationStart:3 duration:100 delay:1 fill:both':1838 'anim.effect.getComputedTiming is not a function',1839 'Test zero iterations: iterations:0 iterationStart:3 duration:Infinity delay:1 fill:both':1840 'anim.effect.getComputedTiming is not a function',1841 },1842 'test/web-platform-tests/web-animations/timing-model/animations/set-the-animation-start-time.html': {1843 'Setting an unresolved start time an animation without an active timeline does not clear the current time':1844 'Animation with null timeline is not supported',1845 'Setting an unresolved start time sets the hold time':1846 'assert_equals: expected "running" but got "idle"',1847 'Setting the start time clears the hold time':1848 'assert_approx_equals: The current time is calculated from the start time, not the hold time expected 2000 +/- 0.0005 but got 1000',1849 'Setting the start time of an animation without an active timeline':1850 'Animation with null timeline is not supported',1851 'Setting the start time resolves a pending pause task':1852 'assert_equals: Animation is in pause-pending state expected "pending" but got "paused"',1853 'Setting the start time updates the finished state':1854 'assert_equals: Seeked to finished state using the startTime expected "finished" but got "idle"',1855 },1856 },1857 },1858 ],...
keyframe-effect-constructor.js
Source:keyframe-effect-constructor.js
1suite('keyframe-effect-constructor', function() {2 setup(function() {3 document.timeline.getAnimations().forEach(function(animation) {4 animation.cancel();5 });6 tick(100000);7 });8 test('Playing a KeyframeEffect makes an Animation', function() {9 var keyframeEffect = new KeyframeEffect(document.body, [], 1000);10 assert.equal(document.body.getAnimations().length, 0);11 var animation = document.timeline.play(keyframeEffect);12 tick(200);13 assert.equal(document.body.getAnimations().length, 1);14 tick(1600);15 assert.equal(document.body.getAnimations().length, 0);16 });17 test('Setting the timing function on a KeyframeEffect works', function() {18 function leftAsNumber(target) {19 left = getComputedStyle(target).left;20 return Number(left.substring(0, left.length - 2));21 }22 var target1 = document.createElement('div');23 var target2 = document.createElement('div');24 target1.style.position = 'absolute';25 target2.style.position = 'absolute';26 document.body.appendChild(target1);27 document.body.appendChild(target2);28 var keyframeEffect1 = new KeyframeEffect(target1, [{left: '0px'}, {left: '50px'}], 1000);29 var keyframeEffect2 = new KeyframeEffect(target2, [{left: '0px'}, {left: '50px'}], {duration: 1000, easing: 'ease-in'});30 var animation1 = document.timeline.play(keyframeEffect1);31 var animation2 = document.timeline.play(keyframeEffect2);32 tick(0);33 assert.equal(leftAsNumber(target1), 0);34 assert.equal(leftAsNumber(target2), 0);35 tick(250);36 assert.closeTo(leftAsNumber(target1), 12.5, 1);37 assert.closeTo(leftAsNumber(target2), 4.65, 1);38 tick(500);39 assert.closeTo(leftAsNumber(target1), 25, 1);40 assert.closeTo(leftAsNumber(target2), 15.25, 1);41 });42 test('Cloning a KeyframeEffect works', function() {43 var target1 = document.createElement('div');44 document.body.appendChild(target1);45 var keyframeEffect1 = new KeyframeEffect(target1, [{opacity: 1}, {opacity: 0}], {duration: 100, fill: 'none'});46 var keyframeEffect2 = keyframeEffect1.clone();47 assert.equal(keyframeEffect1.target, keyframeEffect2.target);48 assert.equal(keyframeEffect1._keyframes, keyframeEffect2._keyframes);49 assert.equal(keyframeEffect1.getFrames(), keyframeEffect2.getFrames());50 assert.notEqual(keyframeEffect1._timingInput, keyframeEffect2._timingInput);51 assert.equal(Object.getOwnPropertyNames(keyframeEffect1._timingInput).length, 2);52 assert.equal(Object.getOwnPropertyNames(keyframeEffect2._timingInput).length, 2);53 for (var i = 0; i < Object.getOwnPropertyNames(keyframeEffect1._timingInput).length; i++) {54 var timingProperty1 = Object.getOwnPropertyNames(keyframeEffect1._timingInput)[i];55 var timingProperty2 = Object.getOwnPropertyNames(keyframeEffect2._timingInput)[i];56 assert.equal(timingProperty1, timingProperty2);57 assert.equal(keyframeEffect1._timingInput[timingProperty1], keyframeEffect2._timingInput[timingProperty2]);58 }59 var animation = document.timeline.play(keyframeEffect1);60 tick(0);61 assert.equal(getComputedStyle(target1).opacity, 1);62 tick(25);63 assert.equal(getComputedStyle(target1).opacity, 0.75);64 tick(50);65 assert.equal(getComputedStyle(target1).opacity, 0.5);66 tick(75);67 assert.equal(getComputedStyle(target1).opacity, 0.25);68 tick(100);69 assert.equal(getComputedStyle(target1).opacity, 1);70 animation.cancel();71 animation = document.timeline.play(keyframeEffect2);72 tick(101);73 assert.equal(getComputedStyle(target1).opacity, 1);74 tick(126);75 assert.equal(getComputedStyle(target1).opacity, 0.75);76 tick(151);77 assert.equal(getComputedStyle(target1).opacity, 0.5);78 tick(176);79 assert.equal(getComputedStyle(target1).opacity, 0.25);80 tick(201);81 assert.equal(getComputedStyle(target1).opacity, 1);82 animation.cancel();83 });84 test('Timing is always converted to an AnimationEffectTiming', function() {85 var target = document.createElement('div');86 document.body.appendChild(target);87 var keyframes = [{background: 'blue'}, {background: 'red'}];88 var keyframeEffect = new KeyframeEffect(target, keyframes, 200);89 assert.equal(keyframeEffect.timing.duration, 200);90 keyframeEffect = new KeyframeEffect(target, keyframes);91 assert.isDefined(keyframeEffect.timing);92 keyframeEffect = new KeyframeEffect(target, keyframes, {duration: 200});93 var group = new GroupEffect([keyframeEffect]);94 assert.equal(group.timing.duration, 'auto');95 });96 test('Handle null target for KeyframeEffect', function() {97 var keyframeEffect = new KeyframeEffect(null, [], 200);98 var animation = document.timeline.play(keyframeEffect);99 assert.isNotNull(animation);100 tick(50);101 tick(150);102 assert.equal(animation.currentTime, 100);103 });104 test('Remove custom effect from directly associated animation', function() {105 var target = document.createElement('div');106 document.body.appendChild(target);107 var custom = new KeyframeEffect(null, [], 10);108 custom.onsample = function(x) { target.style.opacity = x; };109 var animation = document.timeline.play(custom);110 tick(0);111 assert.equal(getComputedStyle(target).opacity, 0);112 assert.equal(custom._animation, animation);113 assert.equal(animation.effect, custom);114 custom.remove();115 tick(1);116 assert.equal(getComputedStyle(target).opacity, 1);117 assert.equal(custom._animation, undefined);118 assert.notEqual(animation.effect, custom);119 animation.play();120 tick(2);121 assert.equal(getComputedStyle(target).opacity, 1);122 assert.equal(custom._animation, undefined);123 animation.cancel();124 tick(3);125 });126 test('Remove KeyframeEffect from directly associated animation', function() {127 var target = document.createElement('div');128 document.body.appendChild(target);129 var effect = new KeyframeEffect(130 target,131 [132 {opacity: 0},133 {opacity: 1}134 ],135 10);136 var animation = document.timeline.play(effect);137 tick(0);138 assert.equal(getComputedStyle(target).opacity, 0);139 assert.equal(effect._animation, animation);140 assert.equal(animation.effect, effect);141 effect.remove();142 tick(1);143 assert.equal(getComputedStyle(target).opacity, 1);144 assert.equal(effect._animation, undefined);145 assert.notEqual(animation.effect, effect);146 animation.play();147 tick(2);148 assert.equal(getComputedStyle(target).opacity, 1);149 assert.equal(effect._animation, undefined);150 animation.cancel();151 tick(3);152 });153 test('Setting iterations on KeyframeEffect timing before playing', function() {154 var target = document.createElement('div');155 document.body.appendChild(target);156 var effect = new KeyframeEffect(157 target,158 [159 {opacity: 1},160 {opacity: 0}161 ],162 {duration: 100});163 effect.timing.iterations = 2;164 var animation = document.timeline.play(effect);165 tick(0);166 tick(125);167 assert.closeTo(Number(getComputedStyle(target).opacity), 0.75, 0.01, 't=125');168 });169 test('Setting duration on KeyframeEffect timing with number timing input', function() {170 var target = document.createElement('div');171 document.body.appendChild(target);172 var effect = new KeyframeEffect(173 target,174 [175 {opacity: 0},176 {opacity: 1}177 ],178 100);179 var animation = document.timeline.play(effect);180 tick(0);181 tick(50);182 assert.closeTo(Number(getComputedStyle(target).opacity), 0.5, 0.001, 't=50 before setting duration');183 effect.timing.duration = 200;184 assert.closeTo(Number(getComputedStyle(target).opacity), 0.25, 0.001, 't=50 after setting duration');185 });186 test('Setting duration on KeyframeEffect timing with NaN timing input', function() {187 var target = document.createElement('div');188 document.body.appendChild(target);189 var effect = new KeyframeEffect(190 target,191 [192 {opacity: 0},193 {opacity: 1}194 ],195 NaN);196 var animation = document.timeline.play(effect);197 tick(0);198 tick(50);199 assert.closeTo(Number(getComputedStyle(target).opacity), 1, 0.001, 't=50 before setting duration');200 effect.timing.duration = 100;201 assert.closeTo(Number(getComputedStyle(target).opacity), 0.5, 0.001, 't=50 after setting duration');202 });203 test('Setting delay on KeyframeEffect timing', function() {204 var target = document.createElement('div');205 document.body.appendChild(target);206 var effect = new KeyframeEffect(207 target,208 [209 {opacity: 0},210 {opacity: 1}211 ],212 {duration: 100});213 var animation = document.timeline.play(effect);214 tick(0);215 tick(50);216 assert.closeTo(Number(getComputedStyle(target).opacity), 0.5, 0.001, 't=50 before setting delay');217 effect.timing.delay = 20;218 assert.closeTo(Number(getComputedStyle(target).opacity), 0.3, 0.001, 't=50 after setting delay');219 });220 test('Setting fill on KeyframeEffect timing', function() {221 var target = document.createElement('div');222 document.body.appendChild(target);223 var effect = new KeyframeEffect(224 target,225 [226 {opacity: 1},227 {opacity: 0}228 ],229 {duration: 100, fill: 'none'});230 var animation = document.timeline.play(effect);231 tick(0);232 tick(100);233 assert.equal(Number(getComputedStyle(target).opacity), 1, 't=100 before setting fill');234 effect.timing.fill = 'both';235 assert.equal(Number(getComputedStyle(target).opacity), 0, 't=100 after setting fill');236 });237 test('Setting iterationStart on KeyframeEffect timing', function() {238 var target = document.createElement('div');239 document.body.appendChild(target);240 var effect = new KeyframeEffect(241 target,242 [243 {opacity: 0},244 {opacity: 1}245 ],246 {duration: 100});247 var animation = document.timeline.play(effect);248 tick(0);249 tick(50);250 assert.closeTo(Number(getComputedStyle(target).opacity), 0.5, 0.001, 't=50 before setting iterationStart');251 effect.timing.iterationStart = 0.25;252 assert.closeTo(Number(getComputedStyle(target).opacity), 0.75, 0.001, 't=50 after setting iterationStart');253 });254 test('Setting duration on KeyframeEffect timing', function() {255 var target = document.createElement('div');256 document.body.appendChild(target);257 var effect = new KeyframeEffect(258 target,259 [260 {opacity: 0},261 {opacity: 1}262 ],263 {duration: 100});264 var animation = document.timeline.play(effect);265 tick(0);266 tick(25);267 assert.closeTo(Number(getComputedStyle(target).opacity), 0.25, 0.001, 't=25 before setting duration');268 effect.timing.duration = 50;269 assert.closeTo(Number(getComputedStyle(target).opacity), 0.5, 0.001, 't=25 after setting duration');270 });271 test('Setting direction on KeyframeEffect timing', function() {272 var target = document.createElement('div');273 document.body.appendChild(target);274 var effect = new KeyframeEffect(275 target,276 [277 {opacity: 0},278 {opacity: 1}279 ],280 {duration: 100, iterations: 2});281 var animation = document.timeline.play(effect);282 tick(0);283 tick(75);284 assert.closeTo(Number(getComputedStyle(target).opacity), 0.75, 0.001, 't=75');285 effect.timing.direction = 'alternate';286 tick(125);287 assert.closeTo(Number(getComputedStyle(target).opacity), 0.75, 0.001, 't=125');288 });289 test('Setting easing on KeyframeEffect timing', function() {290 var target = document.createElement('div');291 document.body.appendChild(target);292 var effect = new KeyframeEffect(293 target,294 [295 {opacity: 0},296 {opacity: 1}297 ],298 {duration: 100});299 var animation = document.timeline.play(effect);300 tick(0);301 tick(85);302 assert.closeTo(Number(getComputedStyle(target).opacity), 0.85, 0.001, 't=85 before setting easing');303 effect.timing.easing = 'ease-out';304 assert.closeTo(Number(getComputedStyle(target).opacity), 0.96, 0.01, 't=85 after setting easing');305 });306 test('Setting iterations on KeyframeEffect timing', function() {307 var target = document.createElement('div');308 document.body.appendChild(target);309 var effect = new KeyframeEffect(310 target,311 [312 {opacity: 1},313 {opacity: 0}314 ],315 {duration: 100});316 var animation = document.timeline.play(effect);317 tick(0);318 tick(125);319 assert.closeTo(Number(getComputedStyle(target).opacity), 1, 0.001, 't=125 before setting iterations');320 effect.timing.iterations = 2;321 assert.closeTo(Number(getComputedStyle(target).opacity), 0.75, 0.01, 't=125 after setting iterations');322 });323 test('Not Animatable properties are not animated', function() {324 var target = document.createElement('div');325 target.style.opacity = 0;326 target.style.display = 'block';327 target.style['animation-timing-function'] = 'ease-in';328 target.style['transition-duration'] = '0s';329 document.body.appendChild(target);330 var keyframeEffect = new KeyframeEffect(target, [331 {opacity: '0.75', display: 'none', animationTimingFunction: 'linear', transitionDuration: '5s'},332 {opacity: '0.25', display: 'none', animationTimingFunction: 'linear', transitionDuration: '5s'}333 ], 2000);334 var animation = document.timeline.play(keyframeEffect);335 tick(0);336 assert.equal(getComputedStyle(target).opacity, 0.75);337 tick(1000);338 assert.equal(getComputedStyle(target).opacity, 0.5);339 assert.equal(getComputedStyle(target).display, 'block');340 assert.equal(getComputedStyle(target).animationTimingFunction, 'ease-in');341 assert.equal(getComputedStyle(target).transitionDuration, '0s');342 });...
actor.js
Source:actor.js
...71 var lastKeyframeAttrs =72 this.getAttrsForKeyframe(lastKeyframeIndex);73 var newKeyframeMillisecond =74 lastKeyframeMillisecond + constant.NEW_KEYFRAME_MILLISECOND_OFFSET;75 this.keyframe(newKeyframeMillisecond, {76 x: this.getNewKeyframeX(lastKeyframeAttrs.x)77 ,y: lastKeyframeAttrs.y78 ,scale: 179 ,rX: 080 ,rY: 081 ,rZ: 082 }, 'linear');83 }84 ,getNewKeyframeX: function (lastKeyframeX) {85 var newKeyframeX = lastKeyframeX + constant.NEW_KEYFRAME_X_OFFSET;86 var $crosshairEl = this.crosshairsView.$el.find('.crosshair');87 var maxX = $crosshairEl.parent().width() - ($crosshairEl.width() / 2);88 return Math.min(newKeyframeX, maxX);89 }90 ,removeAllKeyframes: function () {91 var copiedList = this.keyframeCollection.models.slice(0);92 _.each(copiedList, function (keyframeModel) {93 keyframeModel.destroy();94 });95 }96 // Rekapi encapsulation methods97 /**98 * @param {number} millisecond99 * @param {Object} properties100 * @param {string|Object} opt_easing101 */102 ,keyframe: function (millisecond, properties, opt_easing) {103 var transformRule = KeyframeModel.createCSSRuleObject(104 properties.x105 ,properties.y106 ,properties.scale107 ,properties.rX108 ,properties.rY109 ,properties.rZ110 ,this.attributes.isCenteredToPath);111 this.attributes.actor.keyframe(millisecond, transformRule, opt_easing);112 var modelProperties = _.extend({113 millisecond: millisecond114 ,easing: opt_easing115 }, properties);116 this.keyframeCollection.add(modelProperties, { actorModel: this });117 var keyframeModel =118 this.keyframeCollection.findWhere({ millisecond: millisecond });119 this.listenTo(keyframeModel, 'change', _.bind(function () {120 this.trigger('change');121 }, this));122 this.listenTo(keyframeModel, 'destroy', _.bind(function () {123 this.removeKeyframe(124 keyframeModel.attributes.millisecond, keyframeModel);125 }, this));126 this.stylie.trigger(constant.UPDATE_CSS_OUTPUT);127 }128 /**129 * @param {number} millisecond130 */131 ,hasKeyframeAt: function (millisecond) {132 var actor = this.get('actor');133 return actor.hasKeyframeAt.apply(actor, arguments);134 }135 /**136 * @param {number} from137 * @param {number} to138 */139 ,moveKeyframe: function (from, to) {140 if (this.hasKeyframeAt(to)) {141 if (from !== to) {142 this.stylie.trigger(constant.ALERT_ERROR,143 'There is already a keyframe at millisecond ' + to + '.');144 }145 return;146 }147 var actor = this.attributes.actor;148 actor.moveKeyframe.apply(actor, arguments);149 var keyframeModel =150 this.keyframeCollection.findWhere({ millisecond: from });151 keyframeModel.set('millisecond', to);152 this.keyframeCollection.sort();153 }154 /**155 * @param {number} millisecond156 * @param {KeyframeModel} keyframeModel157 */158 ,removeKeyframe: function (millisecond, keyframeModel) {159 this.stopListening(keyframeModel);160 this.keyframeCollection.removeKeyframe(millisecond);161 this.get('actor').removeKeyframe(millisecond);162 this.stylie.trigger(constant.PATH_CHANGED);163 }164 ,importTimeline: function (actorData) {165 _.each(actorData.propertyTracks, function (propertyTrack) {166 _.each(propertyTrack, function (property) {167 var transformObject = this.parseTranformString(property.value);168 this.keyframe(169 property.millisecond, transformObject, property.easing);170 }, this);171 }, this);172 this.stylie.rekapi.update();173 this.stylie.trigger(constant.PATH_CHANGED);174 }175 ,parseTranformString: function (transformString) {176 var chunks = transformString.match(/(-|\d|\.)+/g);177 return {178 x: +chunks[0]179 ,y: +chunks[1]180 ,scale: +chunks[2]181 ,rX: +chunks[3]182 ,rY: +chunks[4]...
Using AI Code Generation
1var page = require('webpage').create();2var system = require('system');3var address = system.args[1];4page.viewportSize = { width: 1920, height: 1080 };5page.open(address, function (status) {6 if (status !== 'success') {7 console.log('Unable to load the address!');8 phantom.exit();9 } else {10 page.keyframe(function() {11 var metrics = page.evaluate(function() {12 return JSON.stringify(window.performance.timing);13 });14 console.log(metrics);15 phantom.exit();16 }, 1000);17 }18});19set PATH=%PATH%;C:\phantomjs-2.1.1-windows\bin
Using AI Code Generation
1var wptools = require('wptools');2var page = wptools.page('Eiffel Tower');3page.get(function(err, resp) {4 console.log(resp);5});6var wptools = require('wptools');7var page = wptools.page('Eiffel Tower');8page.keyframe(function(err, resp) {9 console.log(resp);10});11var wptools = require('wptools');12var page = wptools.page('Eiffel Tower');13page.get(function(err, resp) {14 console.log(resp);15});16var wptools = require('wptools');17var page = wptools.page('Eiffel Tower');18page.get(function(err, resp) {19 console.log(resp);20});21var wptools = require('wptools');22var page = wptools.page('Eiffel Tower');23page.get(function(err, resp) {24 console.log(resp);25});26var wptools = require('wptools');27var page = wptools.page('Eiffel Tower');28page.get(function(err, resp) {29 console.log(resp);30});31var wptools = require('wptools');32var page = wptools.page('Eiffel Tower');33page.get(function(err, resp) {34 console.log(resp);35});36var wptools = require('wptools');37var page = wptools.page('Eiffel Tower');38page.get(function(err, resp) {39 console.log(resp);40});41var wptools = require('wptools');42var page = wptools.page('Eiffel Tower');43page.get(function(err, resp) {44 console.log(resp);45});
Using AI Code Generation
1var wptools = require('wptools');2var wp = new wptools();3wp.page('wikipedia').then(function(page){4 page.keyframe().then(function(keyframe){5 console.log(keyframe);6 });7});8var wptools = require('wptools');9var wp = new wptools();10wp.page('wikipedia').then(function(page){11 page.keyframe().then(function(keyframe){12 console.log(keyframe);13 });14});15var wptools = require('wptools');16var wp = new wptools();17wp.page('wikipedia').then(function(page){18 page.keyframe().then(function(keyframe){19 console.log(keyframe);20 });21});22var wptools = require('wptools');23var wp = new wptools();24wp.page('wikipedia').then(function(page){25 page.keyframe().then(function(keyframe){26 console.log(keyframe);27 });28});29var wptools = require('wptools');30var wp = new wptools();31wp.page('wikipedia').then(function(page){32 page.keyframe().then(function(keyframe){33 console.log(keyframe);34 });35});36var wptools = require('wptools');37var wp = new wptools();38wp.page('wikipedia').then(function(page){39 page.keyframe().then(function(keyframe){40 console.log(keyframe);41 });42});43var wptools = require('wptools');44var wp = new wptools();45wp.page('wikipedia').then(function(page){46 page.keyframe().then(function(keyframe){47 console.log(keyframe);48 });49});50var wptools = require('wptools');51var wp = new wptools();52wp.page('wikipedia').then(function(page){53 page.keyframe().then
Using AI Code Generation
1var wptools = require('wptools');2var wiki = new wptools.page('Mickey_Mouse');3wiki.keyframe(function(data) {4 console.log(data);5});6var wptools = require('wptools');7var wiki = new wptools.page('Mickey_Mouse');8wiki.keyframe(function(data) {9 console.log(data);10});11var wptools = require('wptools');12var wiki = new wptools.page('Mickey_Mouse');13wiki.keyframe(function(data) {14 console.log(data);15});16var wptools = require('wptools');17var wiki = new wptools.page('Mickey_Mouse');18wiki.keyframe(function(data) {19 console.log(data);20});21var wptools = require('wptools');22var wiki = new wptools.page('Mickey_Mouse');23wiki.keyframe(function(data) {24 console.log(data);25});26var wptools = require('wptools');27var wiki = new wptools.page('Mickey_Mouse');28wiki.keyframe(function(data) {29 console.log(data);30});31var wptools = require('wptools');32var wiki = new wptools.page('Mickey_Mouse');33wiki.keyframe(function(data) {34 console.log(data);35});36var wptools = require('wptools');37var wiki = new wptools.page('Mickey_Mouse');38wiki.keyframe(function(data) {39 console.log(data);40});41var wptools = require('wptools');42var wiki = new wptools.page('Mickey_Mouse');43wiki.keyframe(function(data) {44 console.log(data);45});
Using AI Code Generation
1const wptools = require('wptools');2.then((res) => {3 console.log(res);4}).catch((err) => {5 console.log(err);6});7const wptools = require('wptools');8.then((res) => {9 console.log(res);10}).catch((err) => {11 console.log(err);12});13const wptools = require('wptools');14.then((res) => {15 console.log(res);16}).catch((err) => {17 console.log(err);18});19const wptools = require('wptools');20.then((res) => {21 console.log(res);22}).catch((err) => {23 console.log(err);24});25const wptools = require('wptools');26.then((res) => {27 console.log(res);28}).catch((err) => {29 console.log(err);30});31const wptools = require('wptools');32.then((res) => {33 console.log(res);34}).catch((err) => {35 console.log(err);36});37const wptools = require('wptools');38.then((res) => {
Using AI Code Generation
1var wptools = require('wptools');2var page = wptools.page('Wikipedia');3var options = {4};5page.get(options, function(err, resp) {6 if (err) {7 console.log(err);8 } else {9 console.log(resp);10 }11});12var wptools = require('wptools');13var page = wptools.page('Wikipedia');14var options = {15};16page.get(options, function(err, resp) {17 if (err) {18 console.log(err);19 } else {20 console.log(resp);21 }22});
Using AI Code Generation
1var fs = require('fs');2var wptools = require('wp-tools');3var path = require('path');4wptools.keyframe('test.mp4', function(err, keyframe) {5 if (err) {6 console.log(err);7 } else {8 console.log(keyframe);9 }10});
Using AI Code Generation
1function wptouchKeyframe() {2 if (wptouchKeyframeEnabled) {3 if (wptouchIsPhone) {4 if (wptouchIsIPhone) {5 if (wptouchIsIPad) {6 if (wptouchIsIPod) {7 if (wptouchIsAndroid) {8 if (wptouchIsAndroidPhone) {9 if (wptouchIsAndroidTablet) {10 if (wptouchIsAndroidTablet) {11 if (wptouchIsAndroidTablet) {12 if (wptouchIsAndroidTablet) {13 if (wptouchIsAndroidTablet) {14 if (wptouchIsAndroidTablet) {15 if (wptouchIsAndroidTablet) {16 if (wptouchIsAndroidTablet) {17 if (wptouchIsAndroidTablet) {18 if (wptouchIsAndroidTablet) {19 if (wptouchIsAndroidTablet) {20 if (wptouchIsAndroidTablet) {21 if (wptouchIsAndroidTablet) {
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!