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

Unified Diff: third_party/WebKit/LayoutTests/media/track/track-cue-rendering-snap-to-lines-not-set.html

Issue 1913423002: Convert track tests from video-test.js to testharness.js based (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: address comment Created 4 years, 8 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
Index: third_party/WebKit/LayoutTests/media/track/track-cue-rendering-snap-to-lines-not-set.html
diff --git a/third_party/WebKit/LayoutTests/media/track/track-cue-rendering-snap-to-lines-not-set.html b/third_party/WebKit/LayoutTests/media/track/track-cue-rendering-snap-to-lines-not-set.html
index 68e96d9a35d077a97f3fc2531e3969b10afbb94c..33725d49d2cb694fe5109d25c2ef792ca3161dfe 100644
--- a/third_party/WebKit/LayoutTests/media/track/track-cue-rendering-snap-to-lines-not-set.html
+++ b/third_party/WebKit/LayoutTests/media/track/track-cue-rendering-snap-to-lines-not-set.html
@@ -1,103 +1,82 @@
<!DOCTYPE html>
-<html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-
- <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>
-
- var testTrack;
- var cueDisplayElement;
- var cueDisplayContainer;
- var controlsPanelElement;
- var seekedCount = 0;
-
- var testCaseDescription = [
- "Default",
- "Center",
- "Top left",
- "Top right",
- "Bottom right",
- "Bottom left",
- "Bottom center",
- "Multiple cues"
- ];
-
- var testCaseSeekTime = [
- 0.10,
- 0.60,
- 1.10,
- 1.60,
- 2.10,
- 2.60,
- 3.10,
- 4.10
- ];
-
- var currentTestCase = 0;
-
- function seeked()
- {
- consoleWrite("Active cues: " + testTrack.track.activeCues.length);
- for (var i = 0; i < testTrack.track.activeCues.length; ++i) {
- cueDisplayElement = textTrackDisplayElement(video, 'display', i);
-
- consoleWrite("");
- consoleWrite("* Cue " + i + " *");
- testExpected("cueDisplayElement.innerText", testTrack.track.activeCues[i].text);
- consoleWrite("Cue alignment (default or as specified): " + testTrack.track.activeCues[i].align);
-
- consoleWrite("Cue left position (percentage): " + Math.round(cueDisplayElement.offsetLeft / cueDisplayContainer.offsetWidth * 100));
- consoleWrite("Cue top position (percentage): " + Math.round(cueDisplayElement.offsetTop / cueDisplayContainer.offsetHeight * 100));
- }
-
- runNextTestCase();
- };
-
- function runNextTestCase()
- {
- if (currentTestCase == testCaseDescription.length) {
- endTest();
- return;
- }
-
- consoleWrite("");
- consoleWrite("** " + testCaseDescription[currentTestCase] + " **");
-
- video.currentTime = testCaseSeekTime[currentTestCase];
- waitForEvent('seeked', seeked, false, true);
-
- currentTestCase++;
+<title>Test that TextTrack's cues are rendered correctly when the snap to lines flag is not set.</title>
+<script src="../media-file.js"></script>
+<script src="../media-controls.js"></script>
+<script src="../../resources/testharness.js"></script>
+<script src="../../resources/testharnessreport.js"></script>
+<video>
+ <track src="captions-webvtt/captions-snap-to-lines-not-set.vtt" kind="captions" default>
+</video>
+<script>
+async_test(function(t) {
+ var video = document.querySelector("video");
+ var testTrack = document.querySelector("track");
+ video.src = findMediaFile("video", "../content/test");
+
+ // In Chromium it is the enclosure element, which provides the controls height, otherwise the panel;
+ // both are the second child in the shadow DOM.
+ var controlsPanelElement = internals.shadowRoot(video).firstChild.firstChild;
+
+ var cueDisplayContainer;
+ video.oncanplaythrough = t.step_func(function() {
+ cueDisplayContainer = textTrackDisplayElement(video);
+ runNextTestCase();
+ });
+
+ var seekTimeIndex = 0;
+ var testCaseSeekTime = [
+ 0.10,
+ 0.60,
+ 1.10,
+ 1.60,
+ 2.10,
+ 2.60,
+ 3.10,
+ 4.10
+ ];
+ var cueRenderingPosition = [
+ // Number of active cues 1.
+ [[0 ,100, "middle"]],
+ [[0, 50, "middle"]],
+ [[0, 0, "start"]],
+ [[0, 0, "end"]],
+ [[0, 100, "right"]],
+ [[0, 100, "left"]],
+ [[0, 50, "middle"]],
+ [ //Number of active cues 7.
+ [0, 50, "middle"],
+ [0, 0, "start"],
+ [0, 0, "end"],
+ [0, 100, "middle"],
+ [0, 25, "end"],
+ [44, 33, "start"],
+ [23, 55, "start"]
+ ]
+ ];
+ function runNextTestCase() {
+ if (seekTimeIndex == testCaseSeekTime.length) {
+ t.done();
+ return;
}
- function loaded()
- {
- consoleWrite("Test that TextTrack's cues are rendered correctly when the snap to lines flag is not set.");
+ video.currentTime = testCaseSeekTime[seekTimeIndex];
+ video.onseeked = t.step_func(seeked);
+ }
- findMediaElement();
- testTrack = document.querySelector('track');
- video.src = findMediaFile('video', '../content/test');
+ function seeked() {
+ var cuePosition = cueRenderingPosition[seekTimeIndex];
+ for (var i = 0; i < testTrack.track.activeCues.length; ++i) {
+ cueDisplayElement = textTrackDisplayElement(video, "display", i);
- // In Chromium it is the enclosure element, which provides the controls height, otherwise the panel;
- // both are the second child in the shadow DOM.
- controlsPanelElement = internals.shadowRoot(video).firstChild.firstChild;
+ assert_equals(cueDisplayElement.innerText, testTrack.track.activeCues[i].text);
+ assert_equals(testTrack.track.activeCues[i].align, cuePosition[i][2]);
- waitForEventOnce('canplaythrough', function() {
- cueDisplayContainer = textTrackDisplayElement(video);
- runNextTestCase();
- });
+ assert_equals(Math.round(cueDisplayElement.offsetLeft / cueDisplayContainer.offsetWidth * 100), cuePosition[i][0]);
+ assert_equals(Math.round(cueDisplayElement.offsetTop / cueDisplayContainer.offsetHeight * 100), cuePosition[i][1]);
}
- </script>
- </head>
- <body onload="loaded()">
- <video controls>
- <track src="captions-webvtt/captions-snap-to-lines-not-set.vtt" kind="captions" default>
- </video>
- </body>
-</html>
+ seekTimeIndex++;
+ runNextTestCase();
+ }
+});
+</script>

Powered by Google App Engine
This is Rietveld 408576698