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

Side by Side Diff: LayoutTests/http/tests/media/media-source/mediasource-trackdefault.html

Issue 691313002: MSE: Implement TrackDefault object (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Rebased and addressed PS9 comments Created 6 years, 1 month 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
« no previous file with comments | « no previous file | LayoutTests/http/tests/media/media-source/mediasource-trackdefault-expected.txt » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <script src="/w3c/resources/testharness.js"></script>
5 <script src="/w3c/resources/testharnessreport.js"></script>
6
7 <link rel='stylesheet' href='/w3c/resources/testharness.css'>
8 </head>
9 <body>
10 <div id="log"></div>
11 <script>
12 function checkConstructionSucceeds(type, language, label, kinds, byt eStreamTrackID)
13 {
14 var trackDefault = new TrackDefault(type, language, label, kinds , byteStreamTrackID);
15 assert_equals(trackDefault.type, type, "type");
16 assert_equals(trackDefault.language, language, "language");
17 assert_equals(trackDefault.label, label, "label");
18 assert_equals(trackDefault.byteStreamTrackID, byteStreamTrackID, "byteStreamTrackID");
19 assert_array_equals(trackDefault.kinds, kinds, "kinds");
20 }
21
22 function checkConstructionFails(type, language, label, kinds, byteSt reamTrackID)
23 {
24 assert_throws(new TypeError(),
25 function() { new TrackDefault(type, language, label, kinds, byteStreamTrackID); },
26 "TrackDefault construction threw an exception");
27 }
28
29 function trackDefaultConstructionTest(type, language, label, kinds, byteStreamTrackID, expectation, description)
30 {
31 test(function()
32 {
33 if (expectation)
34 checkConstructionSucceeds(type, language, label, kinds, byteStreamTrackID);
35 else
36 checkConstructionFails(type, language, label, kinds, byt eStreamTrackID);
37 }, description + ": type '" + type + "', language '" + language + "', label '" + label + "', multiple kinds, byteStreamTrackID '" + byteStreamTr ackID + "'");
38
39 // If all of |kinds| are expected to succeed, also test each kin d individually.
40 if (!expectation || kinds.length <= 1)
41 return;
42 for (var i = 0; i < kinds.length; ++i) {
43 test(function()
44 {
45 checkConstructionSucceeds(type, language, label, new Arr ay(kinds[i]), byteStreamTrackID);
46 }, description + ": type '" + type + "', language '" + langu age + "', label '" + label + "', kind '" + kinds[i] + "', byteStreamTrackID '" + byteStreamTrackID + "'");
47 }
48 }
49
50 var VALID_AUDIO_TRACK_KINDS = [
51 "alternative",
52 "descriptions",
53 "main",
54 "main-desc",
55 "translation",
56 "commentary",
57 "",
58 ];
59
60 var VALID_VIDEO_TRACK_KINDS = [
61 "alternative",
62 "captions",
63 "main",
64 "sign",
65 "subtitles",
66 "commentary",
67 "",
68 ];
69
70 var VALID_TEXT_TRACK_KINDS = [
71 "subtitles",
72 "captions",
73 "descriptions",
74 "chapters",
75 "metadata",
76 ];
77
78 trackDefaultConstructionTest("audio", "en-US", "audio label", VALID_ AUDIO_TRACK_KINDS, "1", true, "Test valid audio kinds");
79
80 trackDefaultConstructionTest("video", "en-US", "video label", VALID_ VIDEO_TRACK_KINDS, "1", true, "Test valid video kinds");
81
82 trackDefaultConstructionTest("text", "en-US", "text label", VALID_TE XT_TRACK_KINDS, "1", true, "Test valid text kinds");
83
84 trackDefaultConstructionTest("audio", "en-US", "audio label", VALID_ VIDEO_TRACK_KINDS, "1", false, "Test mixed valid and invalid audio kinds");
85
86 trackDefaultConstructionTest("video", "en-US", "video label", VALID_ AUDIO_TRACK_KINDS, "1", false, "Test mixed valid and invalid video kinds");
87
88 trackDefaultConstructionTest("text", "en-US", "text label", VALID_VI DEO_TRACK_KINDS, "1", false, "Test mixed valid and invalid text kinds");
89
90 trackDefaultConstructionTest("invalid type", "en-US", "label", VALID _AUDIO_TRACK_KINDS, "1", false, "Test invalid 'type' parameter type passed to Tr ackDefault constructor");
91
92 test(function()
93 {
94 checkConstructionFails("audio", "en-US", "label", "this is not a valid sequence", "1");
95 }, "Test invalid 'kinds' parameter type passed to TrackDefault const ructor");
96
97 test(function()
98 {
99 var trackDefault = new TrackDefault("audio", "en-US", "label", V ALID_AUDIO_TRACK_KINDS, "1");
100 var kinds = trackDefault.kinds;
101 kinds[0] = "invalid kind";
102 assert_equals(kinds[0], "invalid kind", "local kinds is updated" );
103 assert_equals(VALID_AUDIO_TRACK_KINDS[0], "alternative", "local original kinds unchanged");
104 assert_array_equals(trackDefault.kinds, VALID_AUDIO_TRACK_KINDS, "trackDefault kinds unchanged");
105 }, "Test updating the retval of TrackDefault.kinds does not modify T rackDefault.kinds");
106
107 </script>
108 </body>
109 </html>
OLDNEW
« no previous file with comments | « no previous file | LayoutTests/http/tests/media/media-source/mediasource-trackdefault-expected.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698