| Index: third_party/WebKit/LayoutTests/imported/web-platform-tests/web-animations/animation/ready.html
|
| diff --git a/third_party/WebKit/LayoutTests/imported/web-platform-tests/web-animations/animation/ready.html b/third_party/WebKit/LayoutTests/imported/web-platform-tests/web-animations/animation/ready.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..8e4367329e94cde9dd04d8d96d45c6056b0433e6
|
| --- /dev/null
|
| +++ b/third_party/WebKit/LayoutTests/imported/web-platform-tests/web-animations/animation/ready.html
|
| @@ -0,0 +1,97 @@
|
| +<!DOCTYPE html>
|
| +<meta charset=utf-8>
|
| +<title>Animation.ready</title>
|
| +<link rel="help" href="https://w3c.github.io/web-animations/#dom-animation-ready">
|
| +<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({}, 100 * MS_PER_SEC);
|
| + var originalReadyPromise = animation.ready;
|
| + var pauseReadyPromise;
|
| +
|
| + return animation.ready.then(function() {
|
| + assert_equals(animation.ready, originalReadyPromise,
|
| + 'Ready promise is the same object when playing completes');
|
| + animation.pause();
|
| + assert_not_equals(animation.ready, originalReadyPromise,
|
| + 'A new ready promise is created when pausing');
|
| + pauseReadyPromise = animation.ready;
|
| + // Wait for the promise to fulfill since if we abort the pause the ready
|
| + // promise object is reused.
|
| + return animation.ready;
|
| + }).then(function() {
|
| + animation.play();
|
| + assert_not_equals(animation.ready, pauseReadyPromise,
|
| + 'A new ready promise is created when playing');
|
| + });
|
| +}, 'A new ready promise is created when play()/pause() is called');
|
| +
|
| +promise_test(function(t) {
|
| + var div = createDiv(t);
|
| + var animation = div.animate({}, 100 * MS_PER_SEC);
|
| +
|
| + return animation.ready.then(function() {
|
| + var promiseBeforeCallingPlay = animation.ready;
|
| + animation.play();
|
| + assert_equals(animation.ready, promiseBeforeCallingPlay,
|
| + 'Ready promise has same object identity after redundant call'
|
| + + ' to play()');
|
| + });
|
| +}, 'Redundant calls to play() do not generate new ready promise objects');
|
| +
|
| +promise_test(function(t) {
|
| + var div = createDiv(t);
|
| + var animation = div.animate({}, 100 * MS_PER_SEC);
|
| +
|
| + return animation.ready.then(function(resolvedAnimation) {
|
| + assert_equals(resolvedAnimation, animation,
|
| + 'Object identity of Animation passed to Promise callback'
|
| + + ' matches the Animation object owning the Promise');
|
| + });
|
| +}, 'The ready promise is fulfilled with its Animation');
|
| +
|
| +promise_test(function(t) {
|
| + var div = createDiv(t);
|
| + var animation = div.animate({}, 100 * MS_PER_SEC);
|
| +
|
| + var retPromise = animation.ready.then(function() {
|
| + assert_unreached('ready promise was fulfilled');
|
| + }).catch(function(err) {
|
| + assert_equals(err.name, 'AbortError',
|
| + 'ready promise is rejected with AbortError');
|
| + });
|
| +
|
| + animation.cancel();
|
| +
|
| + return retPromise;
|
| +}, 'ready promise is rejected when a pause-pending animation is cancelled by'
|
| + + ' calling cancel()');
|
| +
|
| +promise_test(function(t) {
|
| + var div = createDiv(t);
|
| + var animation = div.animate({}, 100 * MS_PER_SEC);
|
| + return animation.ready.then(function() {
|
| + animation.pause();
|
| + // Set up listeners on pause-pending ready promise
|
| + var retPromise = animation.ready.then(function() {
|
| + assert_unreached('ready promise was fulfilled');
|
| + }).catch(function(err) {
|
| + assert_equals(err.name, 'AbortError',
|
| + 'ready promise is rejected with AbortError');
|
| + });
|
| + animation.cancel();
|
| + return retPromise;
|
| + });
|
| +}, 'ready promise is rejected when a pause-pending animation is cancelled by'
|
| + + ' calling cancel()');
|
| +
|
| +</script>
|
| +</body>
|
|
|