Bug 1592287 - Update test_streams_element_capture_twice.html per new removetrack behavior. r=jib

Differential Revision: https://phabricator.services.mozilla.com/D52811

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Andreas Pehrson 2019-11-20 15:23:28 +00:00
parent dd5dc62190
commit 5bfad8be74

View File

@ -12,10 +12,10 @@
<script class="testbody" type="text/javascript">
SimpleTest.waitForExplicitFinish();
let v = document.getElementById('v');
const v = document.getElementById('v');
function dumpEvent(event) {
let video = event.target;
const video = event.target;
info(video.name + " GOT EVENT " + event.type +
" currentTime=" + video.currentTime +
" paused=" + video.paused +
@ -23,7 +23,7 @@ function dumpEvent(event) {
" readyState=" + video.readyState);
}
let events = ["timeupdate", "seeking", "seeked", "ended", "playing", "pause"];
const events = ["timeupdate", "seeking", "seeked", "ended", "playing", "pause"];
for (let i = 0; i < events.length; ++i) {
v.addEventListener(events[i], dumpEvent);
}
@ -32,27 +32,31 @@ async function startTest(src) {
v.preload = "metadata";
v.src = src;
await new Promise(r => v.onloadedmetadata = r);
let s1 = v.mozCaptureStream();
is(s1.getTracks().length, 2, "Expected total tracks, s1, capture 1");
const s1 = v.mozCaptureStream();
const tracks = s1.getTracks();
is(tracks.length, 2, "Expected total tracks, s1, capture 1");
is(s1.getAudioTracks().length, 1, "Expected audio tracks, s1, capture 1");
is(s1.getVideoTracks().length, 1, "Expected video tracks, s1, capture 1");
is(s1.getAudioTracks()[0].readyState, "live", "Live audio, s1, capture 1");
is(s1.getVideoTracks()[0].readyState, "live", "Live video, s1, capture 1");
v.src = null;
for (let i = 0; i < tracks.length; ++i) {
await Promise.race(tracks.map(t => new Promise(r => t.onended = r)));
await new Promise(r => s1.onremovetrack = r);
}
is(s1.getTracks().length, 0, "Expected total tracks, s1, metadata 2");
v.src = src;
await new Promise(r => v.onloadedmetadata = r);
is(s1.getTracks().length, 4, "Expected total tracks, s1, metadata 2");
is(s1.getAudioTracks().length, 2, "Expected audio tracks, s1, metadata 2");
is(s1.getVideoTracks().length, 2, "Expected video tracks, s1, metadata 2");
is(s1.getAudioTracks()[0].readyState, "ended", "Ended audio, s1, metadata 2");
is(s1.getAudioTracks()[1].readyState, "live", "Live audio, s1, metadata 2");
is(s1.getVideoTracks()[0].readyState, "ended", "Ended video, s1, metadata 2");
is(s1.getVideoTracks()[1].readyState, "live", "Live video, s1, metadata 2");
is(s1.getTracks().length, 2, "Expected total tracks, s1, metadata 2");
is(s1.getAudioTracks().length, 1, "Expected audio tracks, s1, metadata 2");
is(s1.getVideoTracks().length, 1, "Expected video tracks, s1, metadata 2");
is(s1.getAudioTracks()[0].readyState, "live", "Live audio, s1, metadata 2");
is(s1.getVideoTracks()[0].readyState, "live", "Live video, s1, metadata 2");
let s2 = v.mozCaptureStream();
is(s1.getTracks().length, 4, "Expected total tracks remains, s1, capture 2");
const s2 = v.mozCaptureStream();
is(s1.getTracks().length, 2, "Expected total tracks remains, s1, capture 2");
is(s2.getTracks().length, 2, "Expected total tracks, s2, capture 2");
is(s2.getAudioTracks().length, 1, "Expected audio tracks, s2, capture 2");
is(s2.getVideoTracks().length, 1, "Expected video tracks, s2, capture 2");