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

Side by Side Diff: third_party/WebKit/LayoutTests/external/wpt/webvtt/webvtt-file-format-parsing/webvtt-file-parsing/001.html

Issue 2687803005: Import wpt@05c8a23c600b71f6fd57f758f0716aacffbe1187 (Closed)
Patch Set: Created 3 years, 10 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 unified diff | Download patch
OLDNEW
(Empty)
1 <!doctype html>
2 <title>WebVTT parser tests</title>
3 <script src="/resources/testharness.js"></script>
4 <script src="/resources/testharnessreport.js"></script>
5 <div id=log></div>
6 <script>
7 setup({explicit_done: true});
8 var files = [];
9 var path = 'support/';
10 var cueDefaults = {
11 "id":"",
12 "startTime":0,
13 "endTime":1,
14 "pauseOnExit":false,
15 //"vertical":"", (not supported)
16 "snapToLines":true,
17 "line":"auto",
18 "position":"auto",
19 "size":100,
20 "align":"center"
21 }
22 var cueCounts;
23 (function(){
24 var xhr = new XMLHttpRequest();
25 xhr.open('GET', path+'cue-counts.json', true);
26 xhr.onreadystatechange = function() {
27 if (xhr.readyState == 4) {
28 cueCounts = JSON.parse(xhr.responseText);
29 for (var file in cueCounts) {
30 files.push(file);
31 }
32 startTests();
33 }
34 }
35 xhr.send();
36 })();
37
38 function checkProps(cue, exp, i) {
39 for (var prop in cueDefaults) {
40 if (!(prop in exp))
41 exp[prop] = cueDefaults[prop];
42 assert_equals(cue[prop], exp[prop], prop + ' (cue '+(i+1)+')');
43 }
44 }
45
46 function startTests() {
47 files.forEach(function(file) {
48 var t = async_test(document.title+', '+file);
49 t.step(function(){
50 var video = document.createElement('video');
51 var track = document.createElement('track');
52 assert_true('src' in track, 'track element not supported');
53 track.src = path + file;
54 track['default'] = true;
55 track.kind = 'subtitles';
56 track.onload = this.step_func(trackLoaded);
57 track.onerror = this.step_func(trackError);
58 video.appendChild(track);
59 document.body.appendChild(video);
60 });
61 });
62 done();
63 }
64
65 function trackLoaded(e) {
66 var track = e.target;
67 var video = track.parentNode;
68 setTimeout(removeElm, 0, video);
69 var cues = video.textTracks[0].cues;
70 var file = track.src.substr(track.src.lastIndexOf('/') + 1);
71 assert_equals(cues.length, cueCounts[file], 'number of cues');
72 var expected;
73 var cue;
74 for (var i = 0; i < cues.length; ++i) {
75 cue = cues[i];
76 expected = JSON.parse(cue.text);
77 assert_not_equals(expected, 'FAIL', 'cue '+(i+1)+' should have been drop ped');
78 checkProps(cue, expected, i);
79 }
80 this.done();
81 }
82
83 function trackError(e) {
84 var track = e.target;
85 var video = track.parentNode;
86 setTimeout(removeElm, 0, video);
87 var file = track.src.substr(track.src.lastIndexOf('/') + 1);
88 assert_equals('error', cueCounts[file], 'got unexpected error event');
89 this.done();
90 }
91
92 function removeElm(elm) {
93 document.body.removeChild(elm);
94 }
95
96 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698