| OLD | NEW |
| 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 <link rel='stylesheet' href='/w3c/resources/testharness.css'> | 7 <link rel='stylesheet' href='/w3c/resources/testharness.css'> |
| 8 </head> | 8 </head> |
| 9 <body> | 9 <body> |
| 10 <div id="log"></div> | 10 <div id="log"></div> |
| 11 <script> | 11 <script> |
| 12 mediasource_test(function(test, mediaElement, mediaSource) | 12 mediasource_test(function(test, mediaElement, mediaSource) |
| 13 { | 13 { |
| 14 var sourceBuffer = mediaSource.addSourceBuffer(MediaSourceUtil.AUD
IO_VIDEO_TYPE); | 14 var sourceBuffer = mediaSource.addSourceBuffer(MediaSourceUtil.AUD
IO_VIDEO_TYPE); |
| 15 | 15 |
| 16 assert_throws("InvalidAccessError", function() | 16 assert_throws("InvalidAccessError", function() |
| 17 { | 17 { |
| 18 sourceBuffer.remove(-1, 2); | 18 sourceBuffer.remove(-1, 2); |
| 19 }, "remove"); | 19 }, "remove"); |
| 20 | 20 |
| 21 test.done(); | 21 test.done(); |
| 22 }, "Test remove with an negative start."); | 22 }, "Test remove with an negative start."); |
| 23 | 23 |
| 24 mediasource_test(function(test, mediaElement, mediaSource) |
| 25 { |
| 26 var sourceBuffer = mediaSource.addSourceBuffer(MediaSourceUtil.AUD
IO_VIDEO_TYPE); |
| 27 |
| 28 [ undefined, NaN, Infinity, -Infinity ].forEach(function(item) |
| 29 { |
| 30 assert_throws(new TypeError(), function() |
| 31 { |
| 32 sourceBuffer.remove(item, 2); |
| 33 }, "remove"); |
| 34 }); |
| 35 |
| 36 test.done(); |
| 37 }, "Test remove with non-finite start."); |
| 24 | 38 |
| 25 mediasource_test(function(test, mediaElement, mediaSource) | 39 mediasource_test(function(test, mediaElement, mediaSource) |
| 26 { | 40 { |
| 27 var sourceBuffer = mediaSource.addSourceBuffer(MediaSourceUtil.AUD
IO_VIDEO_TYPE); | 41 var sourceBuffer = mediaSource.addSourceBuffer(MediaSourceUtil.AUD
IO_VIDEO_TYPE); |
| 28 | 42 |
| 29 mediaSource.duration = 10; | 43 mediaSource.duration = 10; |
| 30 | 44 |
| 31 assert_throws("InvalidAccessError", function() | 45 assert_throws("InvalidAccessError", function() |
| 32 { | 46 { |
| 33 sourceBuffer.remove(11, 12); | 47 sourceBuffer.remove(11, 12); |
| (...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 174 | 188 |
| 175 test.waitForExpectedEvents(function() | 189 test.waitForExpectedEvents(function() |
| 176 { | 190 { |
| 177 assertBufferedEquals(sourceBuffer, expected, "Buffered ranges
after remove()."); | 191 assertBufferedEquals(sourceBuffer, expected, "Buffered ranges
after remove()."); |
| 178 test.done(); | 192 test.done(); |
| 179 }); | 193 }); |
| 180 } | 194 } |
| 181 | 195 |
| 182 removeAppendedDataTests(function(test, sourceBuffer, bufferedRangeEnd,
subType) | 196 removeAppendedDataTests(function(test, sourceBuffer, bufferedRangeEnd,
subType) |
| 183 { | 197 { |
| 184 removeAndCheckBufferedRanges(test, sourceBuffer, 0, Number.POSITIV
E_INFINITY, "{ }"); | 198 // Using MAX_VALUE rather than POSITIVE_INFINITY here due to lack |
| 199 // of 'unrestricted' on end parameter. (See comment in SourceBuffe
r.idl) |
| 200 removeAndCheckBufferedRanges(test, sourceBuffer, 0, Number.MAX_VAL
UE, "{ }"); |
| 185 }, "Test removing all appended data."); | 201 }, "Test removing all appended data."); |
| 186 | 202 |
| 187 removeAppendedDataTests(function(test, sourceBuffer, bufferedRangeEnd,
subType) | 203 removeAppendedDataTests(function(test, sourceBuffer, bufferedRangeEnd,
subType) |
| 188 { | 204 { |
| 189 var expectations = { | 205 var expectations = { |
| 190 webm: ("{ [3.187, " + bufferedRangeEnd + ") }"), | 206 webm: ("{ [3.187, " + bufferedRangeEnd + ") }"), |
| 191 mp4: ("{ [3.021, " + bufferedRangeEnd + ") }"), | 207 mp4: ("{ [3.021, " + bufferedRangeEnd + ") }"), |
| 192 }; | 208 }; |
| 193 | 209 |
| 194 // Note: Range doesn't start exactly at the end of the remove rang
e because there isn't | 210 // Note: Range doesn't start exactly at the end of the remove rang
e because there isn't |
| (...skipping 14 matching lines...) Expand all Loading... |
| 209 removeAndCheckBufferedRanges(test, sourceBuffer, 1, 3, expectation
s[subType]); | 225 removeAndCheckBufferedRanges(test, sourceBuffer, 1, 3, expectation
s[subType]); |
| 210 }, "Test removing the middle of appended data."); | 226 }, "Test removing the middle of appended data."); |
| 211 | 227 |
| 212 removeAppendedDataTests(function(test, sourceBuffer, bufferedRangeEnd,
subType) | 228 removeAppendedDataTests(function(test, sourceBuffer, bufferedRangeEnd,
subType) |
| 213 { | 229 { |
| 214 var expectations = { | 230 var expectations = { |
| 215 webm: "{ [0.000, 1.012) }", | 231 webm: "{ [0.000, 1.012) }", |
| 216 mp4: "{ [0.000, 1.022) }", | 232 mp4: "{ [0.000, 1.022) }", |
| 217 }; | 233 }; |
| 218 | 234 |
| 219 removeAndCheckBufferedRanges(test, sourceBuffer, 1, Number.POSITIV
E_INFINITY, expectations[subType]); | 235 // Using MAX_VALUE rather than POSITIVE_INFINITY here due to lack |
| 236 // of 'unrestricted' on end parameter. (See comment in SourceBuffe
r.idl) |
| 237 removeAndCheckBufferedRanges(test, sourceBuffer, 1, Number.MAX_VAL
UE, expectations[subType]); |
| 220 }, "Test removing the end of appended data."); | 238 }, "Test removing the end of appended data."); |
| 221 </script> | 239 </script> |
| 222 </body> | 240 </body> |
| 223 </html> | 241 </html> |
| OLD | NEW |