tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

positionstate.html (2638B)


      1 <!DOCTYPE html>
      2 <title>MediaSession.setPositionState</title>
      3 <script src=/resources/testharness.js></script>
      4 <script src=/resources/testharnessreport.js></script>
      5 <script>
      6 test(() => {
      7  window.navigator.mediaSession.setPositionState(null);
      8 }, 'Test setPositionState with a null value');
      9 
     10 test(() => {
     11  window.navigator.mediaSession.setPositionState({
     12    duration: 60.9,
     13    position: 10.1,
     14    playbackRate: 1.5
     15  });
     16 }, 'Test setPositionState with a valid value for forward playback');
     17 
     18 test(() => {
     19  window.navigator.mediaSession.setPositionState({
     20    duration: 60.9,
     21    playbackRate: 1.0
     22  });
     23 }, 'Test setPositionState with optional position');
     24 
     25 test(() => {
     26  window.navigator.mediaSession.setPositionState({
     27    duration: 60.9,
     28    position: 10.1
     29  });
     30 }, 'Test setPositionState with optional playback rate');
     31 
     32 test(() => {
     33  window.navigator.mediaSession.setPositionState({
     34    duration: 60.9
     35  });
     36 }, 'Test setPositionState with only duration');
     37 
     38 test(() => {
     39  window.navigator.mediaSession.setPositionState({
     40    duration: 0
     41  });
     42 }, 'Test setPositionState with zero duration');
     43 
     44 test(() => {
     45  window.navigator.mediaSession.setPositionState({
     46    duration: 60.9,
     47    position: 10.1,
     48    playbackRate: -2.0
     49  });
     50 }, 'Test setPositionState with negative playback rate');
     51 
     52 test(() => {
     53  assert_throws_js(
     54      TypeError,
     55      _ => {
     56        window.navigator.mediaSession.setPositionState({
     57          duration: -1
     58        });
     59      });
     60 }, 'Test setPositionState throws a TypeError if duration is negative');
     61 
     62 test(() => {
     63  assert_throws_js(
     64      TypeError,
     65      _ => {
     66        window.navigator.mediaSession.setPositionState({
     67          duration: 10,
     68          position: -1
     69        });
     70      });
     71 }, 'Test setPositionState throws a TypeError if position is negative');
     72 
     73 test(() => {
     74  assert_throws_js(
     75      TypeError,
     76      _ => {
     77        window.navigator.mediaSession.setPositionState({
     78          duration: 10,
     79          position: 20
     80        });
     81      });
     82 }, 'Test setPositionState throws a TypeError if duration is less than position');
     83 
     84 test(() => {
     85  assert_throws_js(
     86      TypeError,
     87      _ => {
     88        window.navigator.mediaSession.setPositionState({
     89          duration: 60.9,
     90          position: 10.1,
     91          playbackRate: 0.0
     92        });
     93      });
     94 }, 'Test setPositionState throws a TypeError if playback rate is zero');
     95 
     96 test(() => {
     97  assert_throws_js(
     98      TypeError,
     99      _ => {
    100        window.navigator.mediaSession.setPositionState({
    101          position: 10.1,
    102          playbackRate: 1.0
    103        });
    104      });
    105 }, 'Test setPositionState throws a TypeError if duration is not specified');
    106 </script>