Bug 1281418 - Add testcase for changing the src of TrackElement. r=rillian
authorbechen <bechen@mozilla.com>
Tue, 19 Jul 2016 17:01:06 +0800
changeset 332188 c319aec28a80455c898239e0946b42342cdea13e
parent 332187 5491ed2397650354928ee0ddfff40dbd7b4cad1a
child 332189 b37540cec0f40960c0fb93f8c3730fb14c3b24eb
push id9858
push userjlund@mozilla.com
push dateMon, 01 Aug 2016 14:37:10 +0000
treeherdermozilla-aurora@203106ef6cb6 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
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
@@ -851,16 +851,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>
+