| <!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('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('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> |