tor-browser

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

MediaStream-add-audio-track.https.html (2097B)


      1 <!doctype html>
      2 <html>
      3 <head>
      4 <title>Adding a track to a MediaStream</title>
      5 <link rel="author" title="Dominique Hazael-Massieux" href="mailto:dom@w3.org"/>
      6 <link rel="help" href="http://dev.w3.org/2011/webrtc/editor/getusermedia.html#widl-MediaStreamTrackList-add-void-MediaStreamTrack-track">
      7 <link rel="help" href="http://dev.w3.org/2011/webrtc/editor/getusermedia.html#event-mediastream-addtrack">
      8 </head>
      9 <body>
     10 <p class="instructions">When prompted, accept to share your audio stream, then your video stream.</p>
     11 <h1 class="instructions">Description</h1>
     12 <p class="instructions">This test checks that adding a track to a MediaStream works as expected.</p>
     13 
     14 <div id='log'></div>
     15 <script src=/resources/testharness.js></script>
     16 <script src=/resources/testharnessreport.js></script>
     17 <script src=/resources/testdriver.js></script>
     18 <script src=/resources/testdriver-vendor.js></script>
     19 <script src=permission-helper.js></script>
     20 <script>
     21 promise_test(async t => {
     22  await setMediaPermission();
     23  const audio = await navigator.mediaDevices.getUserMedia({audio: true});
     24  const video = await navigator.mediaDevices.getUserMedia({video: true});
     25  assert_equals(video.getAudioTracks().length, 0, "video mediastream starts with no audio track");
     26  video.addTrack(audio.getAudioTracks()[0]);
     27  assert_equals(video.getAudioTracks().length, 1, "video mediastream has now one audio track");
     28  video.addTrack(audio.getAudioTracks()[0]);
     29  // If track is already in stream's track set, then abort these steps.
     30  assert_equals(video.getAudioTracks().length, 1, "video mediastream still has one audio track");
     31 
     32  audio.onaddtrack = t.step_func(function () {
     33    assert_unreached("onaddtrack is not fired when the script directly modified the track of a mediastream");
     34  });
     35 
     36  assert_equals(audio.getVideoTracks().length, 0, "audio mediastream starts with no video track");
     37  audio.addTrack(video.getVideoTracks()[0]);
     38  assert_equals(audio.getVideoTracks().length, 1, "audio mediastream now has one video track");
     39 }, "Tests that adding a track to a MediaStream works as expected");
     40 </script>
     41 </body>
     42 </html>