| Index: third_party/WebKit/LayoutTests/imported/wpt/web-animations/animation-model/combining-effects/effect-composition.html
|
| diff --git a/third_party/WebKit/LayoutTests/imported/wpt/web-animations/animation-model/combining-effects/effect-composition.html b/third_party/WebKit/LayoutTests/imported/wpt/web-animations/animation-model/combining-effects/effect-composition.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..7604bd21e9eb7cfa7298b08a35b95d89dbc7aab9
|
| --- /dev/null
|
| +++ b/third_party/WebKit/LayoutTests/imported/wpt/web-animations/animation-model/combining-effects/effect-composition.html
|
| @@ -0,0 +1,85 @@
|
| +<!doctype html>
|
| +<meta charset=utf-8>
|
| +<title>Test for effect composition</title>
|
| +<link rel="help" href="https://w3c.github.io/web-animations/#effect-composition">
|
| +<script src=/resources/testharness.js></script>
|
| +<script src=/resources/testharnessreport.js></script>
|
| +<script src="../../testcommon.js"></script>
|
| +<div id="log"></div>
|
| +<script>
|
| +'use strict';
|
| +
|
| +[ 'accumulate', 'add' ].forEach(function(composite) {
|
| + test(function(t) {
|
| + var div = createDiv(t);
|
| + div.style.marginLeft = '10px';
|
| + var anim =
|
| + div.animate({ marginLeft: ['0px', '10px'], composite }, 100);
|
| +
|
| + anim.currentTime = 50;
|
| + assert_equals(getComputedStyle(div).marginLeft, '15px',
|
| + 'Animated margin-left style at 50%');
|
| + }, composite + ' onto the base value');
|
| +
|
| + test(function(t) {
|
| + var div = createDiv(t);
|
| + var anims = [];
|
| + anims.push(div.animate({ marginLeft: ['10px', '20px'],
|
| + composite: 'replace' },
|
| + 100));
|
| + anims.push(div.animate({ marginLeft: ['0px', '10px'],
|
| + composite },
|
| + 100));
|
| +
|
| + anims.forEach(function(anim) {
|
| + anim.currentTime = 50;
|
| + });
|
| +
|
| + assert_equals(getComputedStyle(div).marginLeft, '20px',
|
| + 'Animated style at 50%');
|
| + }, composite + ' onto an underlying animation value');
|
| +
|
| + test(function(t) {
|
| + var div = createDiv(t);
|
| + div.style.marginLeft = '10px';
|
| + var anim =
|
| + div.animate([{ marginLeft: '10px', composite },
|
| + { marginLeft: '30px', composite: 'replace' }],
|
| + 100);
|
| +
|
| + anim.currentTime = 50;
|
| + assert_equals(getComputedStyle(div).marginLeft, '25px',
|
| + 'Animated style at 50%');
|
| + }, 'Composite when mixing ' + composite + ' and replace');
|
| +
|
| + test(function(t) {
|
| + var div = createDiv(t);
|
| + div.style.marginLeft = '10px';
|
| + var anim =
|
| + div.animate([{ marginLeft: '10px', composite: 'replace' },
|
| + { marginLeft: '20px' }],
|
| + { duration: 100 , composite });
|
| +
|
| + anim.currentTime = 50;
|
| + assert_equals(getComputedStyle(div).marginLeft, '20px',
|
| + 'Animated style at 50%');
|
| + }, composite + ' specified on a keyframe overrides the composite mode of ' +
|
| + 'the effect');
|
| +
|
| + test(function(t) {
|
| + var div = createDiv(t);
|
| + div.style.marginLeft = '10px';
|
| + var anim =
|
| + div.animate([{ marginLeft: '10px', composite: 'replace' },
|
| + { marginLeft: '20px' }],
|
| + 100);
|
| +
|
| + anim.effect.composite = composite;
|
| + anim.currentTime = 50; // (10 + (10 + 20)) * 0.5
|
| + assert_equals(getComputedStyle(div).marginLeft, '20px',
|
| + 'Animated style at 50%');
|
| + }, 'unspecified composite mode on a keyframe is overriden by setting ' +
|
| + composite + ' of the effect');
|
| +});
|
| +
|
| +</script>
|
|
|