Index: third_party/WebKit/LayoutTests/imported/web-platform-tests/web-animations/animation/cancel.html |
diff --git a/third_party/WebKit/LayoutTests/imported/web-platform-tests/web-animations/animation/cancel.html b/third_party/WebKit/LayoutTests/imported/web-platform-tests/web-animations/animation/cancel.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..4edba6e4f9a1ec1941353ac4251e7d4df7b8acc6 |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/imported/web-platform-tests/web-animations/animation/cancel.html |
@@ -0,0 +1,61 @@ |
+<!DOCTYPE html> |
+<meta charset=utf-8> |
+<title>Animation.cancel()</title> |
+<link rel="help" href="https://w3c.github.io/web-animations/#dom-animation-cancel"> |
+<script src="../../../../resources/testharness.js"></script> |
+<script src="../../../../resources/testharnessreport.js"></script> |
+<script src="../testcommon.js"></script> |
+<link rel="stylesheet" href="../../../../resources/testharness.css"> |
+<body> |
+<div id="log"></div> |
+<script> |
+'use strict'; |
+ |
+promise_test(function(t) { |
+ var div = createDiv(t); |
+ var animation = div.animate({transform: ['none', 'translate(100px)']}, |
+ 100 * MS_PER_SEC); |
+ return animation.ready.then(function() { |
+ assert_not_equals(getComputedStyle(div).transform, 'none', |
+ 'transform style is animated before cancelling'); |
+ animation.cancel(); |
+ assert_equals(getComputedStyle(div).transform, 'none', |
+ 'transform style is no longer animated after cancelling'); |
+ }); |
+}, 'Animated style is cleared after calling Animation.cancel()'); |
+ |
+test(function(t) { |
+ var div = createDiv(t); |
+ var animation = div.animate({marginLeft: ['0px', '100px']}, |
+ 100 * MS_PER_SEC); |
+ animation.effect.timing.easing = 'linear'; |
+ animation.cancel(); |
+ assert_equals(getComputedStyle(div).marginLeft, '0px', |
+ 'margin-left style is not animated after cancelling'); |
+ |
+ animation.currentTime = 50 * MS_PER_SEC; |
+ assert_equals(getComputedStyle(div).marginLeft, '50px', |
+ 'margin-left style is updated when cancelled animation is' |
+ + ' seeked'); |
+}, 'After cancelling an animation, it can still be seeked'); |
+ |
+promise_test(function(t) { |
+ var div = createDiv(t); |
+ var animation = div.animate({marginLeft:['100px', '200px']}, |
+ 100 * MS_PER_SEC); |
+ return animation.ready.then(function() { |
+ animation.cancel(); |
+ assert_equals(getComputedStyle(div).marginLeft, '0px', |
+ 'margin-left style is not animated after cancelling'); |
+ animation.play(); |
+ assert_equals(getComputedStyle(div).marginLeft, '100px', |
+ 'margin-left style is animated after re-starting animation'); |
+ return animation.ready; |
+ }).then(function() { |
+ assert_equals(animation.playState, 'running', |
+ 'Animation succeeds in running after being re-started'); |
+ }); |
+}, 'After cancelling an animation, it can still be re-used'); |
+ |
+</script> |
+</body> |