| Index: third_party/WebKit/LayoutTests/media/avtrack/track-switching.html
|
| diff --git a/third_party/WebKit/LayoutTests/media/avtrack/track-switching.html b/third_party/WebKit/LayoutTests/media/avtrack/track-switching.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..88f6f1a8a48c8ba6d915d5be221c4bfe48f158f1
|
| --- /dev/null
|
| +++ b/third_party/WebKit/LayoutTests/media/avtrack/track-switching.html
|
| @@ -0,0 +1,55 @@
|
| +<!doctype html>
|
| +<html>
|
| + <head>
|
| + <title>Media track switching during playback</title>
|
| + <script src="../../resources/testharness.js"></script>
|
| + <script src="../../resources/testharnessreport.js"></script>
|
| + <script src="../media-file.js"></script>
|
| + </head>
|
| + <body>
|
| + <script>
|
| + async_test(function(t)
|
| + {
|
| + var video = document.createElement("video");
|
| + video.src = "../content/multitrack-3video-2audio.webm";
|
| +
|
| + video.onloadedmetadata = t.step_func(function()
|
| + {
|
| + assert_equals(video.videoTracks.length, 3, "videoTracks.length");
|
| + assert_equals(video.audioTracks.length, 2, "audioTracks.length");
|
| +
|
| + assert_true(video.videoTracks[0].selected, "videoTrack[0].selected");
|
| + assert_false(video.videoTracks[1].selected, "videoTrack[1].selected");
|
| + assert_false(video.videoTracks[2].selected, "videoTrack[2].selected");
|
| + assert_true(video.audioTracks[0].enabled, "audioTracks[0].enabled");
|
| + assert_false(video.audioTracks[1].enabled, "audioTracks[1].enabled");
|
| +
|
| + var videoWatcher = new EventWatcher(t, video, ["playing"]);
|
| + var audioTracksWatcher = new EventWatcher(t, video.audioTracks, ["change"]);
|
| + var videoTracksWatcher = new EventWatcher(t, video.videoTracks, ["change"]);
|
| +
|
| + videoWatcher.wait_for("playing").then(t.step_func(function() {
|
| + video.videoTracks[1].selected = true;
|
| + return videoTracksWatcher.wait_for("change");
|
| + })).then(t.step_func(function() {
|
| + assert_false(video.videoTracks[0].selected, "videoTrack[0].selected");
|
| + assert_true(video.videoTracks[1].selected, "videoTrack[1].selected");
|
| + video.audioTracks[0].enabled = false;
|
| + return audioTracksWatcher.wait_for("change");
|
| + })).then(t.step_func(function() {
|
| + assert_false(video.audioTracks[0].enabled, "audioTracks[0].enabled");
|
| + assert_false(video.audioTracks[1].enabled, "audioTracks[1].enabled");
|
| + video.audioTracks[1].enabled = true;
|
| + return audioTracksWatcher.wait_for("change");
|
| + })).then(t.step_func(function() {
|
| + assert_false(video.audioTracks[0].enabled, "audioTracks[0].enabled");
|
| + assert_true(video.audioTracks[1].enabled, "audioTracks[1].enabled");
|
| + setTimeout(t.step_func_done(), 500);
|
| + }));
|
| + video.play();
|
| + });
|
| + }, "VideoTrackList track change");
|
| + </script>
|
| + </body>
|
| +</html>
|
| +
|
|
|