Bug 1281418 - Add testcase for changing the src of TrackElement. r=rillian draft
authorbechen <bechen@mozilla.com>
Tue, 19 Jul 2016 17:01:06 +0800
changeset 389838 fe12b9988437e2bf9eb87dbd54e37ef0901e2569
parent 388901 d4303e6407f1175b9f47ecc580c366ed4a227b64
child 389839 99fb17ab555a930beb342813d1fb17d5a1a268ff
child 390523 85f35210d368c874534e1209b51291db54197414
push id23538
push userbechen@mozilla.com
push dateWed, 20 Jul 2016 06:58:05 +0000
reviewersrillian
bugs1281418
milestone50.0a1
Bug 1281418 - Add testcase for changing the src of TrackElement. r=rillian MozReview-Commit-ID: A7QB9ELEfp3
dom/media/test/mochitest.ini
dom/media/test/test_trackelementsrc.html
--- a/dom/media/test/mochitest.ini
+++ b/dom/media/test/mochitest.ini
@@ -850,16 +850,18 @@ tags = webvtt
 tags = webvtt
 [test_texttrackregion.html]
 tags = webvtt
 [test_texttrack_moz.html]
 tags = webvtt
 [test_timeupdate_small_files.html]
 [test_trackelementevent.html]
 tags = webvtt
+[test_trackelementsrc.html]
+tags = webvtt
 [test_trackevent.html]
 tags = webvtt
 [test_unseekable.html]
 skip-if = toolkit == 'gonk' # bug 1128845 on gonk
 [test_video_to_canvas.html]
 [test_video_in_audio_element.html]
 [test_videoDocumentTitle.html]
 [test_VideoPlaybackQuality.html]
new file mode 100644
--- /dev/null
+++ b/dom/media/test/test_trackelementsrc.html
@@ -0,0 +1,55 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+  <meta charset="utf-8">
+  <title>Test for Bug 1281418 - Change the src attribue for TrackElement.</title>
+  <script type="text/javascript" src="/MochiKit/MochiKit.js"></script>
+  <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
+  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
+</head>
+<body>
+<p id="display"></p>
+<div id="content" style="display: none">
+</div>
+<pre id="test">
+<script class="testbody" type="text/javascript">
+SimpleTest.waitForExplicitFinish();
+
+SpecialPowers.pushPrefEnv({"set": [["media.webvtt.enabled", true],
+  ["media.webvtt.regions.enabled", true]]}, function() {
+
+var video = document.createElement("video");
+video.src = "seek.webm";
+video.preload = "metadata";
+var trackElement = document.createElement("track");
+trackElement.src = "basic.vtt";
+trackElement.default = true;
+
+document.getElementById("content").appendChild(video);
+video.appendChild(trackElement);
+
+video.addEventListener("loadedmetadata", function metadata() {
+  if (trackElement.readyState <= 1) {
+    return setTimeout(metadata, 0);
+  }
+  is(video.textTracks.length, 1, "Length should be 1.");
+  is(video.textTracks[0].cues.length, 6, "Cue length should be 6.");
+
+  trackElement.src = "sequential.vtt";
+  trackElement.track.mode = "showing";
+  video.play();
+});
+
+video.addEventListener("ended", function end() {
+  is(trackElement.readyState, 2, "readyState should be 2.")
+  is(video.textTracks.length, 1, "Length should be 1.");
+  is(video.textTracks[0].cues.length, 3, "Cue length should be 3.");
+  SimpleTest.finish();
+});
+
+});
+</script>
+</pre>
+</body>
+</html>
+