mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-18 15:55:36 +00:00
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:
parent
dd5dc62190
commit
5bfad8be74
@ -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");
|
||||
|
Loading…
Reference in New Issue
Block a user