Bug 1048874 - Remove unnecessary setting of media.webvtt.enabled pref in tests. r=rillian

This commit is contained in:
Ryan VanderMeulen 2014-08-19 08:42:35 -04:00
parent 36a36a3862
commit ae508c2789
18 changed files with 271 additions and 288 deletions

View File

@ -17,46 +17,45 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=833386
</div>
<pre id="test">
<script class="testbody" type="text/javascript">
SimpleTest.waitForExplicitFinish();
SpecialPowers.pushPrefEnv({"set": [["media.webvtt.enabled", true]]},
function() {
reflectLimitedEnumerated({
element: document.createElement("track"),
attribute: "kind",
validValues: ["subtitles", "captions", "descriptions", "chapters", "metadata"],
invalidValues: ["foo", "bar", "\u0000", "null", "", "subtitle", "caption", "description", "chapter", "meta"],
defaultValue: "subtitles"
});
// Default attribute
reflectBoolean({
element: document.createElement("track"),
attribute: "default"
});
// Label attribute
reflectString({
element: document.createElement("track"),
attribute: "label",
otherValues: [ "foo", "BAR", "_FoO", "\u0000", "null", "white space" ]
});
// Source attribute
reflectURL({
element: document.createElement("track"),
attribute: "src",
otherValues: ["foo", "bar", "\u0000", "null", ""]
});
// Source Language attribute
reflectString({
element: document.createElement("track"),
attribute: "srclang",
otherValues: ["foo", "bar", "\u0000", "null", ""]
});
reflectLimitedEnumerated({
element: document.createElement("track"),
attribute: "kind",
validValues: ["subtitles", "captions", "descriptions", "chapters",
"metadata"],
invalidValues: ["foo", "bar", "\u0000", "null", "", "subtitle", "caption",
"description", "chapter", "meta"],
defaultValue: "subtitles"
});
var track = document.createElement("track");
is(track.readyState, 0, "Default ready state should be 0 (NONE).");
// Default attribute
reflectBoolean({
element: document.createElement("track"),
attribute: "default"
});
SimpleTest.finish();
}
);
// Label attribute
reflectString({
element: document.createElement("track"),
attribute: "label",
otherValues: [ "foo", "BAR", "_FoO", "\u0000", "null", "white space" ]
});
// Source attribute
reflectURL({
element: document.createElement("track"),
attribute: "src",
otherValues: ["foo", "bar", "\u0000", "null", ""]
});
// Source Language attribute
reflectString({
element: document.createElement("track"),
attribute: "srclang",
otherValues: ["foo", "bar", "\u0000", "null", ""]
});
var track = document.createElement("track");
is(track.readyState, 0, "Default ready state should be 0 (NONE).");
</script>
</pre>
</body>

View File

@ -46,11 +46,11 @@ load 880384.html
load 880404.html
load 880724.html
load 881775.html
test-pref(media.webvtt.enabled,true) load 882549.html
load 882549.html
load 882956.html
load 884459.html
load 889042.html
test-pref(media.webvtt.enabled,true) load 894104.html
load 894104.html
load 907986-1.html
load 907986-2.html
load 907986-3.html
@ -71,9 +71,9 @@ load 1015662.html
skip-if(Android||B2G) test-pref(media.navigator.permission.disabled,true) load 1028458.html # bug 1048863
load buffer-source-ended-1.html
HTTP load media-element-source-seek-1.html
load offline-buffer-source-ended-1.html
load oscillator-ended-1.html
load oscillator-ended-2.html
load offline-buffer-source-ended-1.html
include ../../mediasource/test/crashtests/crashtests.list
# This needs to run at the end to avoid leaking busted state into other tests.

View File

@ -17,33 +17,33 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=1018933
<pre id="test">
<script class="testbody" type="text/javascript">
SimpleTest.waitForExplicitFinish();
SpecialPowers.pushPrefEnv({"set": [["media.webvtt.enabled", true]]},
function() {
var video = document.createElement("video");
video.src = "seek.webm";
video.preload = "auto";
var trackElement = document.createElement("track");
trackElement.src = "basic.vtt";
trackElement.kind = "subtitles";
document.getElementById("content").appendChild(video);
video.appendChild(trackElement);
// Accessing the track now would have caused the bug as the track element
// shouldn't have had time to bind to the tree yet.
trackElement.track.mode = 'showing';
var video = document.createElement("video");
video.src = "seek.webm";
video.preload = "auto";
video.addEventListener("loadedmetadata", function run_tests() {
// Re-que run_tests() at the end of the event loop until the track
// element has loaded its data.
if (trackElement.readyState == 1) {
setTimeout(run_tests, 0);
return;
}
is(video.textTracks.length, 1, "Video should have one TextTrack.");
SimpleTest.finish();
});
var trackElement = document.createElement("track");
trackElement.src = "basic.vtt";
trackElement.kind = "subtitles";
document.getElementById("content").appendChild(video);
video.appendChild(trackElement);
// Accessing the track now would have caused the bug as the track element
// shouldn't have had time to bind to the tree yet.
trackElement.track.mode = 'showing';
video.addEventListener("loadedmetadata", function run_tests() {
// Re-que run_tests() at the end of the event loop until the track
// element has loaded its data.
if (trackElement.readyState == 1) {
setTimeout(run_tests, 0);
return;
}
);
is(video.textTracks.length, 1, "Video should have one TextTrack.");
SimpleTest.finish();
});
</script>
</pre>
</body>

View File

@ -17,43 +17,42 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=883173
<pre id="test">
<script class="testbody" type="text/javascript">
SimpleTest.waitForExplicitFinish();
SpecialPowers.pushPrefEnv({"set": [["media.webvtt.enabled", true]]},
function() {
var video = document.createElement("video");
video.src = "seek.webm";
video.preload = "auto";
var trackElement = document.createElement("track");
trackElement.src = "bug883173.vtt";
trackElement.kind = "subtitles";
document.getElementById("content").appendChild(video);
video.appendChild(trackElement);
video.addEventListener("loadedmetadata",
function run_tests() {
// Re-queue run_tests() at the end of the event loop until the track
// element has loaded its data.
if (trackElement.readyState == 1) {
setTimeout(run_tests, 0);
return;
}
is(trackElement.readyState, 2, "Track::ReadyState should be set to LOADED.");
// Set mode to hidden so that the active cue lists are being updated.
trackElement.track.mode = "hidden";
var expected = [[1, 2], [1, 3], [2, 3], [2, 4], [3, 4]];
var cueList = trackElement.track.cues;
var video = document.createElement("video");
video.src = "seek.webm";
video.preload = "auto";
is(cueList.length, expected.length, "Cue list length should be 5.");
for (var i = 0; i < expected.length; i++) {
is(cueList[i].startTime, expected[i][0], "Cue's start time should be " + expected[i][0]);
is(cueList[i].endTime, expected[i][1], "Cue's end time should be " + expected[i][1]);
}
var trackElement = document.createElement("track");
trackElement.src = "bug883173.vtt";
trackElement.kind = "subtitles";
SimpleTest.finish();
}
);
document.getElementById("content").appendChild(video);
video.appendChild(trackElement);
video.addEventListener("loadedmetadata",
function run_tests() {
// Re-queue run_tests() at the end of the event loop until the track
// element has loaded its data.
if (trackElement.readyState == 1) {
setTimeout(run_tests, 0);
return;
}
is(trackElement.readyState, 2, "Track::ReadyState should be set to LOADED.");
// Set mode to hidden so that the active cue lists are being updated.
trackElement.track.mode = "hidden";
var expected = [[1, 2], [1, 3], [2, 3], [2, 4], [3, 4]];
var cueList = trackElement.track.cues;
is(cueList.length, expected.length, "Cue list length should be 5.");
for (var i = 0; i < expected.length; i++) {
is(cueList[i].startTime, expected[i][0], "Cue's start time should be " + expected[i][0]);
is(cueList[i].endTime, expected[i][1], "Cue's end time should be " + expected[i][1]);
}
SimpleTest.finish();
}
);
</script>
</pre>
</body>

View File

@ -17,47 +17,43 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=895091
<pre id="test">
<script class="testbody" type="text/javascript">
SimpleTest.waitForExplicitFinish();
SpecialPowers.pushPrefEnv({"set": [["media.webvtt.enabled", true]]},
function() {
var video = document.createElement("video");
video.src = "seek.webm";
video.preload = "auto";
var trackElement = document.createElement("track");
trackElement.src = "long.vtt";
trackElement.kind = "subtitles";
var video = document.createElement("video");
video.src = "seek.webm";
video.preload = "auto";
var trackElementTwo = document.createElement("track");
trackElementTwo.src = "long.vtt";
trackElementTwo.kind = "subtitles";
var trackElement = document.createElement("track");
trackElement.src = "long.vtt";
trackElement.kind = "subtitles";
document.getElementById("content").appendChild(video);
video.appendChild(trackElement);
video.appendChild(trackElementTwo);
var trackElementTwo = document.createElement("track");
trackElementTwo.src = "long.vtt";
trackElementTwo.kind = "subtitles";
video.addEventListener("loadedmetadata", function run_tests() {
// Re-que run_tests() at the end of the event loop until the track
// element has loaded its data.
if (trackElement.readyState == 1 || trackElementTwo.readyState == 1) {
setTimeout(run_tests, 0);
return;
}
document.getElementById("content").appendChild(video);
video.appendChild(trackElement);
video.appendChild(trackElementTwo);
// Set mode to hidden so that the active cue lists are being updated.
trackElement.track.mode = "hidden";
trackElementTwo.track.mode = "hidden";
is(trackElement.readyState, 2, "Track::ReadyState should be set to LOADED.");
is(trackElementTwo.readyState, 2, "Track::ReadyState should be set to LOADED.");
is(trackElement.track.cues.length, 2000, "Cue list length should be 2000.");
is(trackElementTwo.track.cues.length, 2000, "Cue list length should be 2000.");
SimpleTest.finish();
});
video.addEventListener("loadedmetadata", function run_tests() {
// Re-que run_tests() at the end of the event loop until the track
// element has loaded its data.
if (trackElement.readyState == 1 || trackElementTwo.readyState == 1) {
setTimeout(run_tests, 0);
return;
}
);
// Set mode to hidden so that the active cue lists are being updated.
trackElement.track.mode = "hidden";
trackElementTwo.track.mode = "hidden";
is(trackElement.readyState, 2, "Track::ReadyState should be set to LOADED.");
is(trackElementTwo.readyState, 2, "Track::ReadyState should be set to LOADED.");
is(trackElement.track.cues.length, 2000, "Cue list length should be 2000.");
is(trackElementTwo.track.cues.length, 2000, "Cue list length should be 2000.");
SimpleTest.finish();
});
</script>
</pre>
</body>

View File

@ -18,25 +18,23 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=905320
<pre id="test">
<script class="testbody" type="text/javascript">
SimpleTest.waitForExplicitFinish();
SpecialPowers.pushPrefEnv({"set": [["media.webvtt.enabled", true]]},
function() {
var audio = document.createElement("audio");
// Check leaking on TextTrackList objects.
window.ttl = audio.textTracks;
ttl.addEventListener("click", function(){}, false);
// Check leaking on VTTCue objects.
window.ttc = new VTTCue(3, 4, "Test.");
ttc.addEventListener("click", function() {}, false);
var audio = document.createElement("audio");
// Check leaking on TextTrack objects.
audio.addTextTrack("subtitles", "label", "en-CA");
ttl[0].addEventListener("click", function() {}, false);
// Check leaking on TextTrackList objects.
window.ttl = audio.textTracks;
ttl.addEventListener("click", function(){}, false);
ok(true); // Need to have at least one assertion for Mochitest to be happy.
SimpleTest.finish();
}
);
// Check leaking on VTTCue objects.
window.ttc = new VTTCue(3, 4, "Test.");
ttc.addEventListener("click", function() {}, false);
// Check leaking on TextTrack objects.
audio.addTextTrack("subtitles", "label", "en-CA");
ttl[0].addEventListener("click", function() {}, false);
ok(true); // Need to have at least one assertion for Mochitest to be happy.
SimpleTest.finish();
</script>
</pre>
</body>

View File

@ -17,15 +17,13 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=919265
<pre id="test">
<script class="testbody" type="text/javascript">
SimpleTest.waitForExplicitFinish();
SpecialPowers.pushPrefEnv({"set": [["media.webvtt.enabled", true]]},
function() {
// We shouldn't leak upon shutdown.
(new VTTCue(0, 0, "")).getCueAsHTML();
// We need to assert something for Mochitest to be happy.
ok(true);
SimpleTest.finish();
}
);
// We shouldn't leak upon shutdown.
(new VTTCue(0, 0, "")).getCueAsHTML();
// We need to assert something for Mochitest to be happy.
ok(true);
SimpleTest.finish();
</script>
</pre>
</body>

View File

@ -17,15 +17,13 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=957847
<pre id="test">
<script class="testbody" type="text/javascript">
SimpleTest.waitForExplicitFinish();
SpecialPowers.pushPrefEnv({"set": [["media.webvtt.enabled", true]]},
function() {
var trackElement = document.createElement('track');
trackElement.track.addCue(new VTTCue(0, 1, "A"));
// We need to assert something for Mochitest to be happy.
ok(true);
SimpleTest.finish();
}
);
var trackElement = document.createElement('track');
trackElement.track.addCue(new VTTCue(0, 1, "A"));
// We need to assert something for Mochitest to be happy.
ok(true);
SimpleTest.finish();
</script>
</pre>
</body>

View File

@ -17,8 +17,7 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=833386
<pre id="test">
<script class="testbody" type="text/javascript">
SimpleTest.waitForExplicitFinish();
SpecialPowers.pushPrefEnv({"set": [["media.webvtt.enabled", true],
["media.webvtt.regions.enabled", true]]},
SpecialPowers.pushPrefEnv({"set": [["media.webvtt.regions.enabled", true]]},
function() {
var video = document.createElement("video");

View File

@ -16,8 +16,7 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=881976
<pre id="test">
<script class="testbody" type="text/javascript">
SimpleTest.waitForExplicitFinish();
SpecialPowers.pushPrefEnv({"set": [["media.webvtt.enabled", true],
["media.webvtt.regions.enabled", true]]},
SpecialPowers.pushPrefEnv({"set": [["media.webvtt.regions.enabled", true]]},
function() {
var video = document.createElement("video");

View File

@ -17,15 +17,16 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=833386
<pre id="test">
<script class="testbody" type="text/javascript">
SimpleTest.waitForExplicitFinish();
SpecialPowers.pushPrefEnv({"set": [["media.webvtt.enabled", true],
["media.webvtt.regions.enabled", true]]},
SpecialPowers.pushPrefEnv({"set": [["media.webvtt.regions.enabled", true]]},
function() {
var video = document.createElement("video");
video.src = "seek.webm";
video.preload = "auto";
var trackElement = document.createElement("track");
trackElement.src = "basic.vtt";
trackElement.kind = "subtitles";
document.getElementById("content").appendChild(video);
video.appendChild(trackElement);
video.addEventListener("loadedmetadata", function run_tests() {
@ -35,6 +36,7 @@ SpecialPowers.pushPrefEnv({"set": [["media.webvtt.enabled", true],
setTimeout(run_tests, 0);
return;
}
is(trackElement.readyState, 2, "Track::ReadyState should be set to LOADED.");
// Set mode to hidden so that the active cue lists are being updated.
trackElement.track.mode = "hidden";

View File

@ -16,18 +16,15 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=967157
<pre id="test">
<script class="testbody" type="text/javascript">
SimpleTest.waitForExplicitFinish();
SpecialPowers.pushPrefEnv({"set": [["media.webvtt.enabled", true]]},
function() {
var cue = new VTTCue(0, 1, "Some text.");
is(cue.hasBeenReset, false, "Cue's hasBeenReset flag should be false.");
is(cue.displayState, null, "Cue's displayState should be null.");
cue.startTime = 0.5;
is(cue.hasBeenReset, true, "Cue's hasBeenReset flag should now be true.");
var cue = new VTTCue(0, 1, "Some text.");
is(cue.hasBeenReset, false, "Cue's hasBeenReset flag should be false.");
is(cue.displayState, null, "Cue's displayState should be null.");
cue.displayState = document.createElement("div");
is(cue.hasBeenReset, false, "Cue's hasBeenReset flag should now be false.");
SimpleTest.finish();
}
);
cue.startTime = 0.5;
is(cue.hasBeenReset, true, "Cue's hasBeenReset flag should now be true.");
cue.displayState = document.createElement("div");
is(cue.hasBeenReset, false, "Cue's hasBeenReset flag should now be false.");
SimpleTest.finish();
</script>

View File

@ -8,32 +8,37 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=882703
<title>Media test: TextTrackList change event</title>
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
<script type="application/javascript">
SimpleTest.waitForExplicitFinish();
video = document.createElement("video");
isnot(video.textTracks, null, "Video should have a list of TextTracks.");
video.addTextTrack("subtitles", "", "");
track = video.textTracks[0];
video.textTracks.addEventListener("change", changed);
is(track.mode, "hidden", "New TextTrack's mode should be hidden.");
track.mode = "showing";
function changed(event) {
is(event.target, video.textTracks, "change event's target should be video.textTracks.");
ok(event instanceof window.Event, "change event should be a simple event.");
ok(!event.bubbles, "change event should not bubble.");
ok(event.isTrusted, "change event should be trusted.");
ok(!event.cancelable, "change event should not be cancelable.");
SimpleTest.finish();
}
</script>
</head>
<body>
<p id="display"></p>
<div id="content">
</div>
<pre id="test">
<script class="testbody" type="text/javascript">
SimpleTest.waitForExplicitFinish();
video = document.createElement("video");
isnot(video.textTracks, null, "Video should have a list of TextTracks.");
video.addTextTrack("subtitles", "", "");
track = video.textTracks[0];
video.textTracks.addEventListener("change", changed);
is(track.mode, "hidden", "New TextTrack's mode should be hidden.");
track.mode = "showing";
function changed(event) {
is(event.target, video.textTracks, "change event's target should be video.textTracks.");
ok(event instanceof window.Event, "change event should be a simple event.");
ok(!event.bubbles, "change event should not bubble.");
ok(event.isTrusted, "change event should be trusted.");
ok(!event.cancelable, "change event should not be cancelable.");
SimpleTest.finish();
}
</script>
</pre>
</body>
</html>

View File

@ -16,14 +16,10 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=881976
<pre id="test">
<script class="testbody" type="text/javascript">
SimpleTest.waitForExplicitFinish();
SpecialPowers.pushPrefEnv({"set": [["media.webvtt.enabled", true]]},
function() {
var video = document.createElement("video");
is(video.textTracks.mediaElement, video, "Video's TextTrackList's MediaElement reference should be set to the video.");
SimpleTest.finish();
}
);
var video = document.createElement("video");
is(video.textTracks.mediaElement, video, "Video's TextTrackList's MediaElement reference should be set to the video.");
SimpleTest.finish();
</script>
</pre>
</body>

View File

@ -17,15 +17,16 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=917945
<pre id="test">
<script class="testbody" type="text/javascript">
SimpleTest.waitForExplicitFinish();
SpecialPowers.pushPrefEnv({"set": [["media.webvtt.enabled", true],
["media.webvtt.regions.enabled", true]]},
SpecialPowers.pushPrefEnv({"set": [["media.webvtt.regions.enabled", true]]},
function() {
var video = document.createElement("video");
video.src = "seek.webm";
video.preload = "auto";
var trackElement = document.createElement("track");
trackElement.src = "region.vtt";
trackElement.kind = "subtitles";
document.getElementById("content").appendChild(video);
video.appendChild(trackElement);
video.addEventListener("loadedmetadata", function run_tests() {
@ -36,6 +37,7 @@ SpecialPowers.pushPrefEnv({"set": [["media.webvtt.enabled", true],
return;
}
is(trackElement.readyState, 2, "Track::ReadyState should be set to LOADED.");
// Set mode to hidden so that the active cue lists are being updated.
trackElement.track.mode = "hidden";
@ -56,7 +58,6 @@ SpecialPowers.pushPrefEnv({"set": [["media.webvtt.enabled", true],
});
}
);
</script>
</pre>
</body>

View File

@ -13,8 +13,7 @@
<pre id="test">
<script class="testbody" type="text/javascript">
SimpleTest.waitForExplicitFinish();
SpecialPowers.pushPrefEnv({"set": [["media.webvtt.enabled", true],
["media.webvtt.regions.enabled", true]]},
SpecialPowers.pushPrefEnv({"set": [["media.webvtt.regions.enabled", true]]},
function() {
var video = document.createElement("video");
video.src = "seek.webm";

View File

@ -14,58 +14,55 @@
<pre id="test">
<script class="testbody" type="text/javascript">
SimpleTest.waitForExplicitFinish();
SpecialPowers.pushPrefEnv({"set": [["media.webvtt.enabled", true]]},
function() {
var video = document.createElement("video");
isnot(video.textTracks, undefined, "HTMLMediaElement::TextTrack() property should be available.")
ok(typeof video.addTextTrack == "function", "HTMLMediaElement::AddTextTrack() function should be available.")
var trackList = video.textTracks;
is(trackList.length, 0, "Length should be 0.");
var video = document.createElement("video");
isnot(video.textTracks, undefined, "HTMLMediaElement::TextTrack() property should be available.")
ok(typeof video.addTextTrack == "function", "HTMLMediaElement::AddTextTrack() function should be available.")
var evtTextTrack, numOfCalls = 0, tt;
trackList.onaddtrack = function(event) {
ok(event instanceof TrackEvent, "Fired event from onaddtrack should be a TrackEvent");
is(event.type, "addtrack", "Event type should be addtrack");
ok(event.isTrusted, "Event should be trusted!");
ok(!event.bubbles, "Event shouldn't bubble!");
ok(!event.cancelable, "Event shouldn't be cancelable!");
evtTextTrack = event.track;
tt = textTrack[numOfCalls].track || textTrack[numOfCalls];
var trackList = video.textTracks;
is(trackList.length, 0, "Length should be 0.");
ok(tt === evtTextTrack, "Text tracks should be the same");
is(evtTextTrack.label, label[numOfCalls], "Label should be set to "+ label[numOfCalls]);
is(evtTextTrack.language, language[numOfCalls], "Language should be " + language[numOfCalls]);
is(evtTextTrack.kind, kind[numOfCalls], "Kind should be " + kind[numOfCalls]);
var evtTextTrack, numOfCalls = 0, tt;
trackList.onaddtrack = function(event) {
ok(event instanceof TrackEvent, "Fired event from onaddtrack should be a TrackEvent");
is(event.type, "addtrack", "Event type should be addtrack");
ok(event.isTrusted, "Event should be trusted!");
ok(!event.bubbles, "Event shouldn't bubble!");
ok(!event.cancelable, "Event shouldn't be cancelable!");
if (++numOfCalls == 4) {
SimpleTest.finish();
}
};
evtTextTrack = event.track;
tt = textTrack[numOfCalls].track || textTrack[numOfCalls];
var label = ["Oasis", "Coldplay", "t.A.T.u", ""];
language = ["en-CA", "en-GB", "ru", ""];
kind = ["subtitles", "captions", "chapters", "subtitles"];
ok(tt === evtTextTrack, "Text tracks should be the same");
is(evtTextTrack.label, label[numOfCalls], "Label should be set to "+ label[numOfCalls]);
is(evtTextTrack.language, language[numOfCalls], "Language should be " + language[numOfCalls]);
is(evtTextTrack.kind, kind[numOfCalls], "Kind should be " + kind[numOfCalls]);
var textTrack = new Array(4);
for (var i = 0; i < 3; ++i) {
textTrack[i] = video.addTextTrack(kind[i], label[i], language[i]);
is(trackList.length, i + 1, "Length should be " + (i+1));
}
video.src = "seek.webm";
video.preload = "auto";
var trackElement = document.createElement("track");
trackElement.src = "basic.vtt";
textTrack[3] = trackElement;
document.getElementById("content").appendChild(video);
video.appendChild(trackElement);
//TODO: Tests for removetrack event to be added along with bug 882677
if (++numOfCalls == 4) {
SimpleTest.finish();
}
);
};
var label = ["Oasis", "Coldplay", "t.A.T.u", ""];
language = ["en-CA", "en-GB", "ru", ""];
kind = ["subtitles", "captions", "chapters", "subtitles"];
var textTrack = new Array(4);
for (var i = 0; i < 3; ++i) {
textTrack[i] = video.addTextTrack(kind[i], label[i], language[i]);
is(trackList.length, i + 1, "Length should be " + (i+1));
}
video.src = "seek.webm";
video.preload = "auto";
var trackElement = document.createElement("track");
trackElement.src = "basic.vtt";
textTrack[3] = trackElement;
document.getElementById("content").appendChild(video);
video.appendChild(trackElement);
//TODO: Tests for removetrack event to be added along with bug 882677
</script>
</pre>
</body>

View File

@ -14,30 +14,30 @@
<pre id="test">
<script class="testbody" type="text/javascript">
SimpleTest.waitForExplicitFinish();
SpecialPowers.pushPrefEnv({"set": [["media.webvtt.enabled", true]]},
function() {
var video = document.createElement("video");
video.src = "seek.webm";
video.preload = "auto";
var trackElement = document.createElement("track");
trackElement.src = "parser.vtt";
trackElement.kind = "subtitles";
trackElement.default = true;
document.getElementById("content").appendChild(video);
video.appendChild(trackElement);
video.addEventListener("loadedmetadata", function run_tests() {
// Re-que run_tests() at the end of the event loop until the track
// element has loaded its data.
if (trackElement.readyState == 1) {
setTimeout(run_tests, 0);
return;
}
is(trackElement.readyState, 2, "Track::ReadyState should be set to LOADED.");
is(trackElement.track.cues.length, 2, "Track should have two Cues.");
SimpleTest.finish();
});
});
var video = document.createElement("video");
video.src = "seek.webm";
video.preload = "auto";
var trackElement = document.createElement("track");
trackElement.src = "parser.vtt";
trackElement.kind = "subtitles";
trackElement.default = true;
document.getElementById("content").appendChild(video);
video.appendChild(trackElement);
video.addEventListener("loadedmetadata", function run_tests() {
// Re-que run_tests() at the end of the event loop until the track
// element has loaded its data.
if (trackElement.readyState == 1) {
setTimeout(run_tests, 0);
return;
}
is(trackElement.readyState, 2, "Track::ReadyState should be set to LOADED.");
is(trackElement.track.cues.length, 2, "Track should have two Cues.");
SimpleTest.finish();
});
</script>
</pre>
</body>