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

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

Issue 754463008: MSE: Implement SourceBuffer.trackDefaults (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@Implement_TrackDefaultList_object
Patch Set: Use simpler TrackDefaultList::create() for initializing |m_trackDefaults| Created 6 years 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 <script src="mediasource-util.js"></script>
7
8 <link rel='stylesheet' href='/w3c/resources/testharness.css'>
9 </head>
10 <body>
11 <div id="log"></div>
12 <script>
13
14 function sourceBufferTrackDefaultsTest(callback, description)
15 {
16 mediasource_test(function(test, mediaElement, mediaSource)
17 {
18 var sourceBuffer = mediaSource.addSourceBuffer(MediaSourceUtil .AUDIO_VIDEO_TYPE);
19 assert_array_equals(sourceBuffer.trackDefaults, [], "Empty ini tial SourceBuffer.trackDefaults");
20 callback(test, mediaElement, mediaSource, sourceBuffer);
21 }, description);
22 };
23
24 sourceBufferTrackDefaultsTest(function(test, mediaElement, mediaSource , sourceBuffer)
25 {
26 var emptyList = new TrackDefaultList([]);
27 assert_not_equals(sourceBuffer.trackDefaults, emptyList, "Initial trackDefaults object differs from new empty list");
28
29 sourceBuffer.trackDefaults = emptyList;
30
31 assert_array_equals(sourceBuffer.trackDefaults, [], "Round-tripped empty trackDefaults");
32 assert_equals(sourceBuffer.trackDefaults, emptyList, "Round-trippe d the empty TrackDefaultList object");
33 test.done();
34 }, "Test round-trip of empty SourceBuffer.trackDefaults");
35
36 sourceBufferTrackDefaultsTest(function(test, mediaElement, mediaSource , sourceBuffer)
37 {
38 var trackDefault = new TrackDefault("audio", "en-US", "audio label ", ["main"], "1");
39 var trackDefaults = new TrackDefaultList([ trackDefault ]);
40
41 sourceBuffer.trackDefaults = trackDefaults;
42
43 assert_array_equals(sourceBuffer.trackDefaults, trackDefaults, "Ro und-tripped non-empty trackDefaults");
44 assert_equals(sourceBuffer.trackDefaults.length, 1, "Confirmed non -empty trackDefaults");
45 assert_equals(sourceBuffer.trackDefaults, trackDefaults, "Round-tr ipped the non-empty TrackDefaultList object");
46 test.done();
47 }, "Test round-trip of non-empty SourceBuffer.trackDefaults");
48
49 sourceBufferTrackDefaultsTest(function(test, mediaElement, mediaSource , sourceBuffer)
50 {
51 mediaSource.removeSourceBuffer(sourceBuffer);
52 assert_throws("InvalidStateError",
53 function() { sourceBuffer.trackDefaults = new TrackD efaultList([]); },
54 "Exception thrown when setting trackDefaults on Sour ceBuffer that is removed from MediaSource");
55 test.done();
56 }, "Test setting trackDefaults on an already-removed SourceBuffer");
57
58 mediasource_testafterdataloaded(function(test, mediaElement, mediaSour ce, segmentInfo, sourceBuffer, mediaData)
59 {
60 assert_array_equals(sourceBuffer.trackDefaults, [], "Empty initial SourceBuffer.trackDefaults");
61 test.expectEvent(sourceBuffer, "updateend", "Append ended");
62 sourceBuffer.appendBuffer(mediaData);
63 assert_true(sourceBuffer.updating, "SourceBuffer is updating");
64
65 assert_throws("InvalidStateError",
66 function() { sourceBuffer.trackDefaults = new TrackD efaultList([]); },
67 "Exception thrown when setting trackDefaults on Sour ceBuffer that is updating");
68
69 test.waitForExpectedEvents(function()
70 {
71 assert_false(sourceBuffer.updating, "SourceBuffer is not updat ing");
72 sourceBuffer.trackDefaults = new TrackDefaultList([]);
73 test.done();
74 });
75 }, "Test setting trackDefaults on a SourceBuffer that is updating");
76
77 sourceBufferTrackDefaultsTest(function(test, mediaElement, mediaSource , sourceBuffer)
78 {
79 assert_throws(new TypeError(),
80 function() { sourceBuffer.trackDefaults = null; },
81 "null should be disallowed by trackDefaults setter");
82 test.done();
83 }, "Test setting null SourceBuffer.trackDefaults");
84 </script>
85 </body>
86 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698