Commit 379738c0 authored by srirama.m's avatar srirama.m Committed by Commit bot

Convert text-track-selection* tests to testharness.js

Cleaning up text-track-selection* tests in media/track
to use testharness.js instead of video-test.js. This will
enable to upstream these tests to web-platform-tests.

BUG=588956

Review-Url: https://codereview.chromium.org/2123003003
Cr-Commit-Position: refs/heads/master@{#403932}
parent c2b444e0
Test that we can add a track dynamically and it is displayed on the track selection menu
EVENT(canplaythrough)
** Caption button should be visible and enabled.
EXPECTED (captionsButtonCoordinates[0] > '0') OK
EXPECTED (captionsButtonCoordinates[1] > '0') OK
EXPECTED (captionsButtonElement.disabled == 'false') OK
EXPECTED (video.textTracks.length == '2') OK
EXPECTED (video.textTracks[0].mode == 'showing') OK
EXPECTED (video.textTracks[1].mode == 'hidden') OK
Verify the default track is being displayed
EXPECTED (textTrackDisplayElement(video, 'display').innerText == 'Lorem') OK
Select the newly added track
*** Click the CC button.
EXPECTED (video.textTracks[1].mode == 'showing') OK
EXPECTED (video.textTracks[0].mode == 'disabled') OK
EXPECTED (textTrackDisplayElement(video, 'display').innerText == 'Bonjour') OK
END OF TEST
<!DOCTYPE html>
<title>Test that we can add a track dynamically and it is displayed on the track selection menu.</title>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<script src="../media-file.js"></script>
<!-- TODO(srivats): Convert test to testharness.js. crbug.com/588956
(Please avoid writing new tests using video-test.js) -->
<script src="../video-test.js"></script>
<script src="../media-controls.js"></script>
<video controls>
<track src="captions-webvtt/captions.vtt" kind="captions" label="English" srclang="en" default>
</video>
<script>
async_test(function(t) {
var trackCueText = "Bonjour";
var video = document.querySelector("video");
function selectTrackAdded()
{
findMediaElement();
testClosedCaptionsButtonVisibility(true);
consoleWrite("");
testExpected("video.textTracks.length", 2);
testExpected("video.textTracks[0].mode", "showing");
testExpected("video.textTracks[1].mode", "hidden");
consoleWrite("");
consoleWrite("Verify the default track is being displayed");
testExpected("textTrackDisplayElement(video, 'display').innerText", "Lorem");
video.oncanplaythrough = t.step_func_done(function() {
var track = video.addTextTrack("captions", "French", "fr");
track.addCue(new VTTCue(0, 1, trackCueText));
assert_true(isClosedCaptionsButtonVisible(video));
assert_equals(video.textTracks.length, 2);
assert_equals(video.textTracks[0].mode, "showing");
assert_equals(video.textTracks[1].mode, "hidden");
consoleWrite("");
consoleWrite("Select the newly added track");
selectTextTrack(video, 1);
testExpected("video.textTracks[1].mode", "showing");
testExpected("video.textTracks[0].mode", "disabled");
testExpected("textTrackDisplayElement(video, 'display').innerText", trackCueText);
endTest();
}
// Verify the default track is being displayed.
assert_equals(textTrackCueDisplayElement(video).innerText, "Lorem");
function addTextTrack()
{
track = video.addTextTrack("captions", "French", "fr");
track.addCue(new VTTCue(0.0, 1.0, trackCueText));
selectTrackAdded();
}
// Click the newly added track.
clickTextTrackAtIndex(video, 1);
assert_equals(video.textTracks[1].mode, "showing");
assert_equals(video.textTracks[0].mode, "disabled");
assert_equals(textTrackCueDisplayElement(video).innerText, trackCueText);
});
window.onload = function()
{
consoleWrite("Test that we can add a track dynamically and it is displayed on the track selection menu");
findMediaElement();
video.src = findMediaFile("video", "../content/test");
waitForEvent("canplaythrough", addTextTrack);
}
</script>
<video controls>
<track src="captions-webvtt/captions.vtt" kind="captions" label="English" srclang="en" default>
</video>
\ No newline at end of file
video.src = findMediaFile("video", "../content/test");
})
</script>
\ No newline at end of file
Test that we can add multiple tracks and select between them from the track selection menu
EVENT(canplaythrough)
** Caption button should be visible and enabled.
EXPECTED (captionsButtonCoordinates[0] > '0') OK
EXPECTED (captionsButtonCoordinates[1] > '0') OK
EXPECTED (captionsButtonElement.disabled == 'false') OK
EXPECTED (video.textTracks.length == '5') OK
Select track at index 0
*** Click the CC button.
EXPECTED (video.textTracks[0].mode == 'showing') OK
EXPECTED (textTrackDisplayElement(video, 'display').innerText == 'English') OK
EXPECTED (video.textTracks[1].mode == 'disabled') OK
EXPECTED (video.textTracks[2].mode == 'disabled') OK
EXPECTED (video.textTracks[3].mode == 'disabled') OK
EXPECTED (video.textTracks[4].mode == 'disabled') OK
Select track at index 1
*** Click the CC button.
EXPECTED (video.textTracks[1].mode == 'showing') OK
EXPECTED (textTrackDisplayElement(video, 'display').innerText == 'Russian') OK
EXPECTED (video.textTracks[0].mode == 'disabled') OK
EXPECTED (video.textTracks[2].mode == 'disabled') OK
EXPECTED (video.textTracks[3].mode == 'disabled') OK
EXPECTED (video.textTracks[4].mode == 'disabled') OK
Select track at index 2
*** Click the CC button.
EXPECTED (video.textTracks[2].mode == 'showing') OK
EXPECTED (textTrackDisplayElement(video, 'display').innerText == 'French') OK
EXPECTED (video.textTracks[0].mode == 'disabled') OK
EXPECTED (video.textTracks[1].mode == 'disabled') OK
EXPECTED (video.textTracks[3].mode == 'disabled') OK
EXPECTED (video.textTracks[4].mode == 'disabled') OK
Select track at index 3
*** Click the CC button.
EXPECTED (video.textTracks[3].mode == 'showing') OK
EXPECTED (textTrackDisplayElement(video, 'display').innerText == 'Japanese') OK
EXPECTED (video.textTracks[0].mode == 'disabled') OK
EXPECTED (video.textTracks[1].mode == 'disabled') OK
EXPECTED (video.textTracks[2].mode == 'disabled') OK
EXPECTED (video.textTracks[4].mode == 'disabled') OK
Select track at index 4
*** Click the CC button.
EXPECTED (video.textTracks[4].mode == 'showing') OK
EXPECTED (textTrackDisplayElement(video, 'display').innerText == 'German') OK
EXPECTED (video.textTracks[0].mode == 'disabled') OK
EXPECTED (video.textTracks[1].mode == 'disabled') OK
EXPECTED (video.textTracks[2].mode == 'disabled') OK
EXPECTED (video.textTracks[3].mode == 'disabled') OK
END OF TEST
<!DOCTYPE html>
<title>Test that we can add multiple tracks and select between them from the track selection menu.</title>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<script src="../media-file.js"></script>
<!-- TODO(srivats): Convert test to testharness.js. crbug.com/588956
(Please avoid writing new tests using video-test.js) -->
<script src="../video-test.js"></script>
<script src="../media-controls.js"></script>
<video controls></video>
<script>
async_test(function(t) {
var video = document.querySelector("video");
var trackLanguages = ["en", "ru", "fr", "jp", "de"];
var trackCueText = ["English", "Russian", "French", "Japanese", "German"];
function startTest()
{
findMediaElement();
testClosedCaptionsButtonVisibility(true);
consoleWrite("");
testExpected("video.textTracks.length", trackLanguages.length);
consoleWrite("");
video.oncanplaythrough = t.step_func_done(function() {
for (var i = 0; i < trackLanguages.length; i++) {
var track = video.addTextTrack("captions", trackCueText[i], trackLanguages[i]);
track.addCue(new VTTCue(0, 1, trackCueText[i]));
track.mode = "disabled";
}
assert_true(isClosedCaptionsButtonVisible(video));
assert_equals(video.textTracks.length, trackLanguages.length);
for (var i = 0; i < trackLanguages.length; i++) {
consoleWrite("Select track at index " + i);
selectTextTrack(video, i);
testExpected("video.textTracks[" + i + "].mode", "showing");
testExpected("textTrackDisplayElement(video, 'display').innerText", trackCueText[i]);
clickTextTrackAtIndex(video, i);
assert_equals(video.textTracks[i].mode, "showing");
assert_equals(textTrackCueDisplayElement(video).innerText, trackCueText[i]);
for (var j = 0; j < trackLanguages.length; j++) {
if (j != i)
testExpected("video.textTracks[" + j + "].mode", "disabled");
assert_equals(video.textTracks[j].mode, "disabled");
}
consoleWrite("");
}
endTest();
}
function addTextTracks()
{
for (var i = 0; i < trackLanguages.length; i++) {
var track = video.addTextTrack("captions", trackCueText[i], trackLanguages[i]);
track.addCue(new VTTCue(0.0, 1.0, trackCueText[i]));
track.mode = "disabled";
}
startTest();
}
window.onload = function()
{
consoleWrite("Test that we can add multiple tracks and select between them from the track selection menu");
findMediaElement();
video.src = findMediaFile("video", "../content/test");
waitForEvent("canplaythrough", addTextTracks);
}
});
</script>
<video controls></video>
\ No newline at end of file
video.src = findMediaFile("video", "../content/test");
});
</script>
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment