Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(47)

Unified Diff: third_party/WebKit/LayoutTests/media/track/track-kind.html

Issue 1937483002: Convert track-kind* tests to testharness.js (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: address comment Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | third_party/WebKit/LayoutTests/media/track/track-kind-expected.txt » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/WebKit/LayoutTests/media/track/track-kind.html
diff --git a/third_party/WebKit/LayoutTests/media/track/track-kind.html b/third_party/WebKit/LayoutTests/media/track/track-kind.html
index 8a223601af5585273b4caf18158c2f5f35f8ed4f..bf436cc8815dacb167e8ba3177295eb81a9ec77f 100644
--- a/third_party/WebKit/LayoutTests/media/track/track-kind.html
+++ b/third_party/WebKit/LayoutTests/media/track/track-kind.html
@@ -1,89 +1,85 @@
<!DOCTYPE html>
-<html>
- <head>
+<title>Tests that the "kind" attribute is set properly and that cues are only visible when "kind" is set to "captions" or "subtitles".</title>
+<video>
+ <track src="captions-webvtt/metadata.vtt" default>
+</video>
+<script src="../media-file.js"></script>
+<script src="../media-controls.js"></script>
+<script src="../../resources/testharness.js"></script>
+<script src="../../resources/testharnessreport.js"></script>
+<script>
+async_test(function(t) {
+ var video = document.querySelector("video");
+ var trackElement = document.querySelector("track");
- <script src=../media-file.js></script>
- <!-- TODO(philipj): 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>
- <script>
+ video.oncanplaythrough = t.step_func(testKind);
+ trackElement.onload = t.step_func(testKind);
+
+ video.src = findMediaFile("video", "../content/counting");
- var trackElement;
- function setKind(value)
- {
- consoleWrite("<b>++ '" + value + "'</b>");
- consoleWrite("<b> set via DOM</b>");
- run("trackElement.removeAttribute('kind')");
- run("trackElement.kind = '" + value + "'");
- testExpected("trackElement.getAttribute('kind')", value);
- testExpected("trackElement.kind", value);
- testExpected("trackElement.track.kind", value);
- consoleWrite("<b> and via attribute</b>");
- run("trackElement.removeAttribute('kind')");
- run("trackElement.setAttribute('kind', '" + value + "')");
- testExpected("trackElement.kind", value);
- testExpected("trackElement.track.kind", value);
- testExpected("trackElement.getAttribute('kind')", value);
- testExpected("textTrackDisplayElement(video, 'display').innerText", "Lorem ipsum dolor sit amet, ");
- consoleWrite("");
+ var eventCount = 0;
+ function testKind() {
+ eventCount++;
+ if (eventCount != 2)
+ return;
- }
+ // Test default attribute value.
+ assert_equals(trackElement.getAttribute("kind"), null);
+ assert_equals(trackElement.kind, "subtitles");
+ assert_equals(video.textTracks[0].kind, "subtitles");
- function testKind()
- {
- consoleWrite("<b>++ Test default attribute value</b>");
- testExpected("trackElement.getAttribute('kind')", null);
- testExpected("trackElement.kind", "subtitles");
- testExpected("video.textTracks[0].kind", "subtitles");
- consoleWrite("");
+ // Set to bogus value, should return default.
+
+ // Set via DOM.
+ var value = "english-metadata"
+ trackElement.removeAttribute("kind");
+ trackElement.kind = value;
+ assert_equals(trackElement.getAttribute("kind"), value);
+ assert_equals(trackElement.kind, "subtitles");
+ assert_equals(trackElement.track.kind, "subtitles");
+
+ // Set via attribute.
+ trackElement.removeAttribute("kind");
+ trackElement.setAttribute("kind", value);
+ assert_equals(trackElement.kind, "subtitles");
+ assert_equals(trackElement.track.kind, "subtitles");
+ assert_equals(trackElement.getAttribute("kind"), value);
- consoleWrite("<b>*** Set to bogus value, should return default</b>");
- consoleWrite("<b> set via DOM</b>");
- var value = "english-metadata"
- run("trackElement.removeAttribute('kind')");
- run("trackElement.kind = '" + value + "'");
- testExpected("trackElement.getAttribute('kind')", value);
- testExpected("trackElement.kind", "subtitles");
- testExpected("trackElement.track.kind", "subtitles");
- consoleWrite("<b> and via attribute</b>");
- run("trackElement.removeAttribute('kind')");
- run("trackElement.setAttribute('kind', '" + value + "')");
- testExpected("trackElement.kind", "subtitles");
- testExpected("trackElement.track.kind", "subtitles");
- testExpected("trackElement.getAttribute('kind')", value);
- consoleWrite("");
+ // Set to known values.
+ setKindAndCheck("subtitles", true);
- consoleWrite("<b>*** Set to known values</b>");
- setKind("subtitles");
+ setKindAndCheck("captions", true);
- setKind("captions");
+ setKindAndCheck("descriptions", false);
- setKind("descriptions");
+ setKindAndCheck("chapters", false);
- setKind("chapters");
+ setKindAndCheck("metadata", false);
- setKind("metadata");
+ t.done();
+ }
- endTest();
- }
+ function setKindAndCheck(value, cueIsVisible) {
+ // set via DOM.
+ trackElement.removeAttribute("kind");
+ trackElement.kind = value;
+ assert_equals(trackElement.getAttribute("kind"), value);
+ assert_equals(trackElement.kind, value);
+ assert_equals(trackElement.track.kind, value);
+ // Set via attribute.
+ trackElement.removeAttribute("kind");
+ trackElement.setAttribute("kind", value);
+ assert_equals(trackElement.kind, value);
+ assert_equals(trackElement.track.kind, value);
+ assert_equals(trackElement.getAttribute("kind"), value);
- function loaded()
- {
- findMediaElement();
- trackElement = document.getElementById('track_1');
-
- waitForEventsAndCall([[video, 'canplaythrough'], [trackElement, 'load']], testKind);
-
- video.src = findMediaFile('video', '../content/counting');
- }
-
- </script>
- </head>
- <body onload="loaded()">
- <p>Tests that the 'kind' attribute is set properly and that cues are only visible when 'kind' is set to 'captions' or 'subtitles'.</p>
- <video>
- <track id=track_1 src="captions-webvtt/metadata.vtt" default>
- </video>
- </body>
-</html>
+ if (cueIsVisible) {
+ assert_equals(textTrackDisplayElement(video, "display").innerText, "Lorem ipsum dolor sit amet, ");
+ } else {
+ assert_throws(null, function() {
+ textTrackDisplayElement(video, "display");
+ });
+ }
+ }
+});
+</script>
« no previous file with comments | « no previous file | third_party/WebKit/LayoutTests/media/track/track-kind-expected.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698