<!DOCTYPE html>
<html>
<title>Test that calling cancelWatchAvailability() when disableRemotePlayback attribute is set throws an exception</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(id => {
      v.disableRemotePlayback = true;
      v.remote.cancelWatchAvailability(id).then(
        t.unreached_func(),
        t.step_func(e => {
          assert_equals(e.name, 'InvalidStateError');
          v.remote.cancelWatchAvailability().then(
            t.unreached_func(),
            t.step_func_done(e => {
              assert_equals(e.name, 'InvalidStateError');
            })
          );
        }));
    }, t.unreached_func());
}, 'Test that calling cancelWatchAvailability() when disableRemotePlayback attribute is set throws an exception.');
</script>
</html>
