зеркало из https://github.com/mozilla/gecko-dev.git
61 строка
1.9 KiB
HTML
61 строка
1.9 KiB
HTML
<!DOCTYPE HTML>
|
|
<html>
|
|
<head>
|
|
<title>Test for Bug 881976 - TextTrackList</title>
|
|
<script src="/tests/SimpleTest/SimpleTest.js"></script>
|
|
<script type="text/javascript" src="manifest.js"></script>
|
|
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
|
|
</head>
|
|
<body>
|
|
<video id="v" src="seek.webm" preload="metadata">
|
|
<script type="text/javascript">
|
|
/**
|
|
* This test is used to ensure the text track list we got from video is as same
|
|
* as the one in the text track.
|
|
*/
|
|
var video = document.getElementById("v");
|
|
|
|
async function runTest() {
|
|
addTrackViaAddTrackAPI();
|
|
await addTrackViaTrackElement();
|
|
SimpleTest.finish();
|
|
}
|
|
|
|
SimpleTest.waitForExplicitFinish();
|
|
onload = runTest;
|
|
|
|
/**
|
|
* The following are test helper functions.
|
|
*/
|
|
function addTrackViaAddTrackAPI() {
|
|
// Check if adding a text track manually sets the TextTrackList correctly.
|
|
video.addTextTrack("subtitles", "", "");
|
|
// TextTrack.textTrackList is an extension available only to privileged code,
|
|
// so we need to access it through the SpecialPowers object.
|
|
is(SpecialPowers.unwrap(SpecialPowers.wrap(video.textTracks[0]).textTrackList),
|
|
video.textTracks,
|
|
"The Track's TextTrackList should be the Video's TextTrackList.");
|
|
}
|
|
|
|
async function addTrackViaTrackElement() {
|
|
// Check if loading a Track via a TrackElement sets the TextTrackList correctly.
|
|
let trackElement = document.createElement("track");
|
|
trackElement.src = "basic.vtt";
|
|
trackElement.kind = "subtitles";
|
|
trackElement.default = true;
|
|
video.appendChild(trackElement);
|
|
|
|
info(`wait until the track finishes loading`);
|
|
await once(trackElement, "load");
|
|
|
|
is(trackElement.readyState, HTMLTrackElement.LOADED,
|
|
"Track::ReadyState should be set to LOADED.");
|
|
is(SpecialPowers.unwrap(SpecialPowers.wrap(trackElement.track).textTrackList),
|
|
video.textTracks,
|
|
"TrackElement's Track's TextTrackList should be the Video's TextTrackList.");
|
|
}
|
|
|
|
</script>
|
|
</body>
|
|
</html>
|