diff options
Diffstat (limited to 'testing/web-platform/tests/remote-playback/cancel-watch-availability.html')
-rw-r--r-- | testing/web-platform/tests/remote-playback/cancel-watch-availability.html | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/testing/web-platform/tests/remote-playback/cancel-watch-availability.html b/testing/web-platform/tests/remote-playback/cancel-watch-availability.html new file mode 100644 index 0000000000..d83c8cecb0 --- /dev/null +++ b/testing/web-platform/tests/remote-playback/cancel-watch-availability.html @@ -0,0 +1,44 @@ +<!DOCTYPE html> +<html> +<title>Tests various ways to call cancelWatchAvailability()</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/common/media.js"></script> +<script> +async_test(t => { + var v = document.createElement('video'); + v.src = getVideoURI('/media/movie_5'); + + v.remote.watchAvailability(function() {}) + .then(t.step_func(id => { + v.remote.cancelWatchAvailability(id).then(t.step_func(function() { + v.remote.cancelWatchAvailability(id).then( + t.unreached_func(), t.step_func_done(e => { + assert_equals(e.name, 'NotFoundError'); + }) + ); + }), t.unreached_func()); + }), t.unreached_func()); +}, 'Test that calling cancelWatchAvailability() with an id does remove the callback.'); + +async_test(t => { + var v = document.createElement('video'); + v.src = getVideoURI('/media/movie_5'); + + Promise.all([ + v.remote.watchAvailability(function() {}), + v.remote.watchAvailability(function() {}) + ]).then(t.step_func(ids => { + v.remote.cancelWatchAvailability().then(t.step_func(function() { + v.remote.cancelWatchAvailability(ids[0]).then(t.unreached_func(), t.step_func(function(e) { + assert_equals(e.name, 'NotFoundError'); + v.remote.cancelWatchAvailability(ids[1]) + .then(t.unreached_func(), t.step_func_done(function(e) { + assert_equals(e.name, 'NotFoundError'); + })); + })); + }), t.unreached_func()); + }), t.unreached_func()); +}, 'Test that calling cancelWatchAvailability() without an id removes all the callbacks.'); +</script> +</html> |