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

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

Issue 16625011: Add minimal implementation of unprefixed MediaSource API that has feature parity with prefixed API (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Fix global-constructors-listing-expected.txt Created 7 years, 6 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 | Annotate | Revision Log
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 function verifySourceBufferLists(mediaSource, expected)
14 {
15 assert_equals(mediaSource.sourceBuffers.length, expected.length, " sourceBuffers length");
16 assert_equals(mediaSource.activeSourceBuffers.length, expected.len gth, "activeSourceBuffers length");
17 for (var i = 0; i < expected.length; ++i) {
18 assert_equals(mediaSource.sourceBuffers[i], expected[i], "Verify ing mediaSource.sourceBuffers[" + i + "]");
19 assert_equals(mediaSource.activeSourceBuffers[i], expected[i], " Verifying mediaSource.activeSourceBuffers[" + i + "]");
20 }
21 }
22
23 mediasource_test(function(test, mediaElement, mediaSource)
24 {
25 test.expectEvent(mediaSource.sourceBuffers, "addsourcebuffer", "so urceBuffers");
26 test.expectEvent(mediaSource.activeSourceBuffers, "addsourcebuffer ", "activeSourceBuffers");
27 var sourceBufferA = mediaSource.addSourceBuffer(MediaSourceUtil.VI DEO_ONLY_TYPE);
28 var sourceBufferB = null;
29
30 test.waitForExpectedEvents(function()
31 {
32 test.expectEvent(mediaSource.sourceBuffers, "addsourcebuffer", "sourceBuffers");
33 test.expectEvent(mediaSource.activeSourceBuffers, "addsourcebu ffer", "activeSourceBuffers");
34 sourceBufferB = mediaSource.addSourceBuffer(MediaSourceUtil.AU DIO_ONLY_TYPE);
35
36 verifySourceBufferLists(mediaSource, [sourceBufferA, sourceBuf ferB]);
37 });
38
39 test.waitForExpectedEvents(function()
40 {
41 test.expectEvent(mediaSource.activeSourceBuffers, "removesourc ebuffer", "activeSourceBuffers");
42 test.expectEvent(mediaSource.sourceBuffers, "removesourcebuffe r", "sourceBuffers");
43 mediaSource.removeSourceBuffer(sourceBufferA);
44
45 verifySourceBufferLists(mediaSource, [sourceBufferB]);
46
47 test.expectEvent(mediaSource.sourceBuffers, "addsourcebuffer", "sourceBuffers");
48 test.expectEvent(mediaSource.activeSourceBuffers, "addsourcebu ffer", "activeSourceBuffers");
49 sourceBufferA = mediaSource.addSourceBuffer(MediaSourceUtil.VI DEO_ONLY_TYPE);
50
51 verifySourceBufferLists(mediaSource, [sourceBufferB, sourceBuf ferA]);
52 });
53
54 test.waitForExpectedEvents(function()
55 {
56 test.done();
57 });
58 }, "Test SourceBufferList event dispatching.");
59
60 mediasource_test(function(test, mediaElement, mediaSource)
61 {
62 test.expectEvent(mediaSource.sourceBuffers, "addsourcebuffer", "so urceBuffers");
63 test.expectEvent(mediaSource.activeSourceBuffers, "addsourcebuffer ", "activeSourceBuffers");
64 test.expectEvent(mediaSource.sourceBuffers, "addsourcebuffer", "so urceBuffers");
65 test.expectEvent(mediaSource.activeSourceBuffers, "addsourcebuffer ", "activeSourceBuffers");
66 var sourceBufferA = mediaSource.addSourceBuffer(MediaSourceUtil.VI DEO_ONLY_TYPE);
67 var sourceBufferB = mediaSource.addSourceBuffer(MediaSourceUtil.AU DIO_ONLY_TYPE);
68
69 verifySourceBufferLists(mediaSource, [sourceBufferA, sourceBufferB ]);
70
71 test.waitForExpectedEvents(function()
72 {
73 verifySourceBufferLists(mediaSource, [sourceBufferA, sourceBuf ferB]);
74
75 // Force the media element to close the MediaSource object.
76 test.expectEvent(mediaSource.activeSourceBuffers, "removesourc ebuffer", "activeSourceBuffers");
77 test.expectEvent(mediaSource.sourceBuffers, "removesourcebuffe r", "sourceBuffers");
78 test.expectEvent(mediaSource, "sourceclose", "mediaSource clos ing");
79 mediaElement.src = "";
80 });
81
82 test.waitForExpectedEvents(function()
83 {
84 assert_equals(mediaSource.readyState, "closed", "mediaSource i s closed.");
85
86 verifySourceBufferLists(mediaSource, []);
87 test.done();
88 });
89 }, "Test that only 1 removesourcebuffer event fires on each SourceBuff erList when the MediaSource closes.");
90
91 </script>
92 </body>
93 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698