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

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

Issue 136523004: Add PARSING_MEDIA_SEGMENT layout test for SourceBuffer mode (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 11 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
« no previous file with comments | « no previous file | LayoutTests/http/tests/media/media-source/mediasource-sourcebuffer-mode-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
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <html> 2 <html>
3 <head> 3 <head>
4 <script src="/w3c/resources/testharness.js"></script> 4 <script src="/w3c/resources/testharness.js"></script>
5 <script src="/w3c/resources/testharnessreport.js"></script> 5 <script src="/w3c/resources/testharnessreport.js"></script>
6 <script src="mediasource-util.js"></script> 6 <script src="mediasource-util.js"></script>
7 <script src="/media/resources/media-source/webm/segment-info.js"></scrip t> 7 <script src="/media/resources/media-source/webm/segment-info.js"></scrip t>
8 8
9 <link rel='stylesheet' href='/w3c/resources/testharness.css'> 9 <link rel='stylesheet' href='/w3c/resources/testharness.css'>
10 </head> 10 </head>
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
72 assert_equals(mediaSource.readyState, 'open', 'MediaSource rea dyState is \'open\''); 72 assert_equals(mediaSource.readyState, 'open', 'MediaSource rea dyState is \'open\'');
73 }); 73 });
74 74
75 test.waitForExpectedEvents(function() 75 test.waitForExpectedEvents(function()
76 { 76 {
77 assert_equals(mediaSource.readyState, 'open', 'MediaSource rea dyState is \'open\''); 77 assert_equals(mediaSource.readyState, 'open', 'MediaSource rea dyState is \'open\'');
78 test.done(); 78 test.done();
79 }); 79 });
80 }, 'Test setting SourceBuffer.mode triggers parent MediaSource \'ended \' to \'open\' transition.'); 80 }, 'Test setting SourceBuffer.mode triggers parent MediaSource \'ended \' to \'open\' transition.');
81 81
82 // FIXME: Once enough Chromium implementation lands, add tests for at least confirming exception if append 82 mediasource_testafterdataloaded(function(test, mediaElement, mediaSour ce, segmentInfo, sourceBuffer, mediaData)
83 // state is PARSING_MEDIA_SEGMENT (per 3.1 setting mode steps 6-7). Se e http://crbug.com/249422. 83 {
84 var initSegment = MediaSourceUtil.extractSegmentData(mediaData, se gmentInfo.init);
85 var fullMediaSegment = MediaSourceUtil.extractSegmentData(mediaDat a, segmentInfo.media[0]);
86 var truncateAt = Math.floor(segmentInfo.media[0].size * 0.95); // e.g. first 11238 bytes of 11830
acolwell GONE FROM CHROMIUM 2014/01/14 18:20:27 nit: Change the comment to something like 95% of t
wolenetz 2014/01/14 19:30:44 Done.
87 var partialMediaSegment = fullMediaSegment.subarray(0, truncateAt) ;
88 var mediaSegmentRemainder = fullMediaSegment.subarray(truncateAt);
89
90 // Append init segment.
91 test.expectEvent(sourceBuffer, 'updateend', 'Init segment append e nded.');
92 sourceBuffer.appendBuffer(initSegment);
93
94 test.waitForExpectedEvents(function()
95 {
96 assert_false(sourceBuffer.updating, 'updating attribute is fal se');
97 assert_true(sourceBuffer.mode == 'segments');
acolwell GONE FROM CHROMIUM 2014/01/14 18:20:27 nit: use assert_equals here and in similar checks
wolenetz 2014/01/14 19:30:44 Done.
98 sourceBuffer.mode = 'segments'; // No exception should occur.
99
100 // Append first part of media segment.
101 test.expectEvent(sourceBuffer, 'updateend', 'Partial media seg ment append ended.');
102 sourceBuffer.appendBuffer(partialMediaSegment);
103 });
104
105 test.waitForExpectedEvents(function()
106 {
107 assert_false(sourceBuffer.updating, 'updating attribute is fal se');
108 assert_true(sourceBuffer.mode == 'segments');
109 assert_throws('InvalidStateError',
110 function() { sourceBuffer.mode = 'segments'; },
111 'Setting valid sourceBuffer.mode while still parsing media segment threw InvalidStateError.');
112 test.done();
acolwell GONE FROM CHROMIUM 2014/01/14 18:20:27 nit: remove since it doesn't appear the test is ac
wolenetz 2014/01/14 19:30:44 Oh wow! This was a test debugging item I forgot to
113
114 // Append remainder of media segment.
115 test.expectEvent(sourceBuffer, 'updateend', 'Append ended of r emainder of media segment.');
116 sourceBuffer.appendBuffer(mediaSegmentRemainder);
117 });
118
119 test.waitForExpectedEvents(function()
120 {
121 assert_false(sourceBuffer.updating, 'updating attribute is fal se');
122 assert_true(sourceBuffer.mode == 'segments');
123 sourceBuffer.mode = 'segments'; // No exception should occur.
124 test.done();
125 });
126 }, 'Test setting SourceBuffer.mode while parsing media segment.');
127
128 // FIXME: Once 'sequence' mode implemented, add verification. See http ://crbug.com/249422.
84 </script> 129 </script>
85 </body> 130 </body>
86 </html> 131 </html>
OLDNEW
« no previous file with comments | « no previous file | LayoutTests/http/tests/media/media-source/mediasource-sourcebuffer-mode-expected.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698