| Index: third_party/WebKit/LayoutTests/imported/wpt/web-animations/interfaces/KeyframeEffect/setTarget.html
|
| diff --git a/third_party/WebKit/LayoutTests/imported/wpt/web-animations/interfaces/KeyframeEffect/setTarget.html b/third_party/WebKit/LayoutTests/imported/wpt/web-animations/interfaces/KeyframeEffect/setTarget.html
|
| index 49ef8402d90c282bdbdc7cd6df41e6a1cd752065..2b07d3de6e0f8080d500fca3f746dcd82b0f705d 100644
|
| --- a/third_party/WebKit/LayoutTests/imported/wpt/web-animations/interfaces/KeyframeEffect/setTarget.html
|
| +++ b/third_party/WebKit/LayoutTests/imported/wpt/web-animations/interfaces/KeyframeEffect/setTarget.html
|
| @@ -85,5 +85,76 @@ test(function(t) {
|
| 'changing the animation current time.');
|
| }, 'Test setting target from a valid target to another target');
|
|
|
| +test(function(t) {
|
| + var anim = createDiv(t).animate([ { marginLeft: '0px' },
|
| + { marginLeft: '-20px' },
|
| + { marginLeft: '100px' },
|
| + { marginLeft: '50px' } ],
|
| + { duration: 100 * MS_PER_SEC,
|
| + spacing: 'paced(margin-left)' });
|
| +
|
| + anim.effect.target = null;
|
| +
|
| + var frames = anim.effect.getKeyframes();
|
| + var slots = frames.length - 1;
|
| + assert_equals(frames[0].computedOffset, 0.0, '1st frame offset');
|
| + assert_equals(frames[1].computedOffset, 1.0 / slots, '2nd frame offset');
|
| + assert_equals(frames[2].computedOffset, 2.0 / slots, '3rd frame offset');
|
| + assert_equals(frames[3].computedOffset, 1.0, 'last frame offset');
|
| +}, 'Test falling back to distribute spacing mode after setting null target');
|
| +
|
| +test(function(t) {
|
| + var effect = new KeyframeEffect(null,
|
| + [ { marginLeft: '0px' },
|
| + { marginLeft: '-20px' },
|
| + { marginLeft: '100px' },
|
| + { marginLeft: '50px' } ],
|
| + { duration: 100 * MS_PER_SEC,
|
| + spacing: 'paced(margin-left)' });
|
| + var frames = effect.getKeyframes();
|
| + var slots = frames.length - 1;
|
| + assert_equals(frames[1].computedOffset, 1.0 / slots, '2nd frame offset');
|
| + assert_equals(frames[2].computedOffset, 2.0 / slots, '3rd frame offset');
|
| +}, 'Test falling back to distribute spacing mode if there is no context ' +
|
| + 'element');
|
| +
|
| +test(function(t) {
|
| + var div1 = createDiv(t);
|
| + var div2 = createDiv(t);
|
| + div1.style.marginLeft = '-20px';
|
| + div2.style.marginLeft = '-50px';
|
| + var child1 = document.createElement('div');
|
| + var child2 = document.createElement('div');
|
| + div1.appendChild(child1);
|
| + div2.appendChild(child2);
|
| + // body
|
| + // / \
|
| + // div1 div2
|
| + // (-20px) (-50px)
|
| + // | |
|
| + // child1 child2
|
| + var anim = child1.animate([ { marginLeft: '0px' },
|
| + { marginLeft: 'inherit' },
|
| + { marginLeft: '100px' },
|
| + { marginLeft: '50px' } ],
|
| + { duration: 100 * MS_PER_SEC,
|
| + spacing: 'paced(margin-left)' });
|
| +
|
| + var frames = anim.effect.getKeyframes();
|
| + var cumDist = [0, 20, 140, 190];
|
| + assert_equals(frames[1].computedOffset, cumDist[1] / cumDist[3],
|
| + '2nd frame offset');
|
| + assert_equals(frames[2].computedOffset, cumDist[2] / cumDist[3],
|
| + '3rd frame offset');
|
| +
|
| + anim.effect.target = child2;
|
| + frames = anim.effect.getKeyframes();
|
| + cumDist = [0, 50, 200, 250];
|
| + assert_equals(frames[1].computedOffset, cumDist[1] / cumDist[3],
|
| + '2nd frame offset after setting a new target');
|
| + assert_equals(frames[2].computedOffset, cumDist[2] / cumDist[3],
|
| + '3rd frame offset after setting a new target');
|
| +}, 'Test paced spacing mode after setting a new target');
|
| +
|
| </script>
|
| </body>
|
|
|