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

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: Interim upload not ready for review. BIG TODO needs addressing. 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
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_equals(trackDefault.kinds.length, kinds.length, "kinds(). length");
20 for (var i = 0; i < kinds.length; ++i) {
21 assert_equals(trackDefault.kinds[i], kinds[i], "kinds() cont ents");
22 }
23 }
24
25 function checkConstructionFails(type, language, label, kinds, byteSt reamTrackID)
26 {
27 var trackDefault = null;
28 assert_throws("InvalidAccessError",
29 function() { trackDefault = new TrackDefault(type, language, label, kinds, byteStreamTrackID); },
30 "TrackDefault construction threw an exception");
31 }
32
33 function trackDefaultConstructionTest(type, language, label, kinds, byteStreamTrackID, expectation, description)
34 {
35 // Test each kind, one by one.
36 for (var i = 0; i < kinds.length; ++i) {
37 test(function()
38 {
39 if (expectation) {
40 checkConstructionSucceeds(type, language, label, new Array(kinds[i]), byteStreamTrackID);
41 } else {
42 checkConstructionFails(type, language, label, new Ar ray(kinds[i]), byteStreamTrackID);
43 }
44 }, description + ": type '" + type + "', language '" + langu age + "', label '" + label + "', kind '" + kinds[i] + "', byteStreamTrackID '" + byteStreamTrackID + "'");
45 }
46
47 // Also test all kinds at once, if more than one are supplied.
48 if (kinds.length > 1) {
49 test(function()
50 {
51 if (expectation)
52 checkConstructionSucceeds(type, language, label, kin ds, byteStreamTrackID);
53 else
54 checkConstructionFails(type, language, label, kinds, byteStreamTrackID);
55 }, description + ": type '" + type + "', language '" + langu age + "', label '" + label + "', multiple kinds, byteStreamTrackID '" + byteStre amTrackID + "'");
56 }
57 }
58
59 var VALID_AUDIO_TRACK_KINDS = [
60 "alternative",
61 "descriptions",
62 "main",
63 "main-desc",
64 "translation",
65 "commentary",
66 "",
67 ];
68
69 var VALID_VIDEO_TRACK_KINDS = [
70 "alternative",
71 "captions",
72 "main",
73 "sign",
74 "subtitles",
75 "commentary",
76 "",
77 ];
78
79 var VALID_TEXT_TRACK_KINDS = [
80 "subtitles",
81 "captions",
82 "descriptions",
83 "chapters",
84 "metadata",
85 ];
86
87
88 trackDefaultConstructionTest("audio", "en-US", "audio label", VALID_ AUDIO_TRACK_KINDS, "1", true, "Test valid audio kinds");
89
90 trackDefaultConstructionTest("video", "en-US", "video label", VALID_ VIDEO_TRACK_KINDS, "1", true, "Test valid video kinds");
91
92 trackDefaultConstructionTest("text", "en-US", "text label", VALID_TE XT_TRACK_KINDS, "1", true, "Test valid text kinds");
93
94 trackDefaultConstructionTest("audio", "en-US", "audio label", VALID_ VIDEO_TRACK_KINDS, "1", false, "Test mixed valid and invalid audio kinds");
95
96 trackDefaultConstructionTest("video", "en-US", "video label", VALID_ AUDIO_TRACK_KINDS, "1", false, "Test mixed valid and invalid video kinds");
97
98 trackDefaultConstructionTest("text", "en-US", "text label", VALID_VI DEO_TRACK_KINDS, "1", false, "Test mixed valid and invalid text kinds");
99 </script>
100 </body>
101 </html>
OLDNEW
« no previous file with comments | « no previous file | Source/core/html/track/AudioTrack.h » ('j') | Source/modules/mediasource/TrackDefault.cpp » ('J')

Powered by Google App Engine
This is Rietveld 408576698