OLD | NEW |
(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 <script src="/media/resources/media-source/webm/segment-info.js"></scrip
t> |
| 8 |
| 9 <link rel='stylesheet' href='/w3c/resources/testharness.css'> |
| 10 </head> |
| 11 <body> |
| 12 <div id="log"></div> |
| 13 <script> |
| 14 mediasource_testafterdataloaded(function(test, mediaElement, mediaSour
ce, segmentInfo, sourceBuffer, mediaData) |
| 15 { |
| 16 assert_true(sourceBuffer.mode == 'segments'); |
| 17 test.done(); |
| 18 }, 'Test initial value of SourceBuffer.mode is "segments"'); |
| 19 |
| 20 mediasource_testafterdataloaded(function(test, mediaElement, mediaSour
ce, segmentInfo, sourceBuffer, mediaData) |
| 21 { |
| 22 sourceBuffer.mode = 'sequence'; |
| 23 assert_true(sourceBuffer.mode == 'sequence'); |
| 24 sourceBuffer.mode = 'segments'; |
| 25 assert_true(sourceBuffer.mode == 'segments'); |
| 26 assert_throws('InvalidAccessError', |
| 27 function() { sourceBuffer.mode = 'invalidmode'; }, |
| 28 'Setting invalid sourceBuffer.mode threw InvalidAccessError.')
; |
| 29 test.done(); |
| 30 }, 'Test setting SourceBuffer.mode'); |
| 31 |
| 32 mediasource_testafterdataloaded(function(test, mediaElement, mediaSour
ce, segmentInfo, sourceBuffer, mediaData) |
| 33 { |
| 34 mediaSource.removeSourceBuffer(sourceBuffer); |
| 35 assert_throws('InvalidStateError', |
| 36 function() { sourceBuffer.mode = 'segments'; }, |
| 37 'Setting valid sourceBuffer.mode on removed SourceBuffer threw
InvalidStateError.'); |
| 38 test.done(); |
| 39 }, 'Test setting a removed SourceBuffer\'s mode'); |
| 40 |
| 41 mediasource_testafterdataloaded(function(test, mediaElement, mediaSour
ce, segmentInfo, sourceBuffer, mediaData) |
| 42 { |
| 43 sourceBuffer.appendBuffer(mediaData); |
| 44 assert_true(sourceBuffer.updating, 'updating attribute is true'); |
| 45 assert_throws('InvalidStateError', |
| 46 function() { sourceBuffer.mode = 'segments'; }, |
| 47 'Setting valid sourceBuffer.mode on updating SourceBuffer thre
w InvalidStateError.'); |
| 48 test.done(); |
| 49 }, 'Test setting SourceBuffer.mode while still updating'); |
| 50 |
| 51 mediasource_testafterdataloaded(function(test, mediaElement, mediaSour
ce, segmentInfo, sourceBuffer, mediaData) |
| 52 { |
| 53 test.expectEvent(sourceBuffer, 'updateend', 'Append ended.'); |
| 54 sourceBuffer.appendBuffer(mediaData); |
| 55 |
| 56 test.waitForExpectedEvents(function() |
| 57 { |
| 58 assert_false(sourceBuffer.updating, 'updating attribute is fal
se'); |
| 59 |
| 60 test.expectEvent(mediaSource, 'sourceended', 'MediaSource sour
ceended event'); |
| 61 mediaSource.endOfStream(); |
| 62 assert_equals(mediaSource.readyState, 'ended', 'MediaSource re
adyState is \'ended\''); |
| 63 }); |
| 64 |
| 65 test.waitForExpectedEvents(function() |
| 66 { |
| 67 assert_equals(mediaSource.readyState, 'ended', 'MediaSource re
adyState is \'ended\''); |
| 68 |
| 69 test.expectEvent(mediaSource, 'sourceopen', 'MediaSource sourc
eopen event'); |
| 70 sourceBuffer.mode = 'segments'; |
| 71 |
| 72 assert_equals(mediaSource.readyState, 'open', 'MediaSource rea
dyState is \'open\''); |
| 73 }); |
| 74 |
| 75 test.waitForExpectedEvents(function() |
| 76 { |
| 77 assert_equals(mediaSource.readyState, 'open', 'MediaSource rea
dyState is \'open\''); |
| 78 test.done(); |
| 79 }); |
| 80 }, 'Test setting SourceBuffer.mode triggers parent MediaSource \'ended
\' to \'open\' transition.'); |
| 81 </script> |
| 82 </body> |
| 83 </html> |
OLD | NEW |