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

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

Issue 419673007: Adding more MSE tests. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Fixing debug messages Created 6 years, 5 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
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 <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>
(...skipping 327 matching lines...) Expand 10 before | Expand all | Expand 10 after
338 test.waitForExpectedEvents(function() 338 test.waitForExpectedEvents(function()
339 { 339 {
340 assert_false(sourceBuffer.updating, "updating attribute is fals e"); 340 assert_false(sourceBuffer.updating, "updating attribute is fals e");
341 test.done(); 341 test.done();
342 }); 342 });
343 }, "Test appending a neutered ArrayBuffer."); 343 }, "Test appending a neutered ArrayBuffer.");
344 344
345 mediasource_testafterdataloaded(function(test, mediaElement, mediaSour ce, segmentInfo, sourceBuffer, mediaData) 345 mediasource_testafterdataloaded(function(test, mediaElement, mediaSour ce, segmentInfo, sourceBuffer, mediaData)
346 { 346 {
347 var initSegment = MediaSourceUtil.extractSegmentData(mediaData, se gmentInfo.init); 347 var initSegment = MediaSourceUtil.extractSegmentData(mediaData, se gmentInfo.init);
348 var halfIndex = (initSegment.length + 1) / 2;
349 var partialInitSegment = initSegment.subarray(0, halfIndex);
350 var remainingInitSegment = initSegment.subarray(halfIndex);
351 var mediaSegment = MediaSourceUtil.extractSegmentData(mediaData, s egmentInfo.media[0]);
352
353 test.expectEvent(sourceBuffer, "updateend", "partialInitSegment ap pend ended.");
wolenetz 2014/07/26 00:07:14 eek! :) there's lots of " vs ' inconsistency in th
prabhur1 2014/07/28 21:36:48 Done.
354 sourceBuffer.appendBuffer(partialInitSegment);
355
356 test.waitForExpectedEvents(function()
357 {
358 test.expectEvent(sourceBuffer, "updateend", "remainingInitSegm ent append ended.");
wolenetz 2014/07/26 00:07:14 Also, verify the init segment received algorithm h
prabhur1 2014/07/28 21:36:48 Done.
359 sourceBuffer.appendBuffer(remainingInitSegment);
wolenetz 2014/07/26 00:07:15 Also, expect loadedmetadata event on media element
prabhur1 2014/07/28 21:36:48 Done.
360 });
361
362 test.waitForExpectedEvents(function()
363 {
364 test.expectEvent(sourceBuffer, "updateend", "mediaSegment appe nd ended.");
wolenetz 2014/07/26 00:07:14 Also, verify the init segment received algorithm H
prabhur1 2014/07/28 21:36:48 Done.
365 test.expectEvent(mediaElement, "loadeddata", "loadeddata fired .");
366 sourceBuffer.appendBuffer(mediaSegment);
367 });
368
369 test.waitForExpectedEvents(function()
370 {
371 assert_equals(sourceBuffer.updating, false);
wolenetz 2014/07/26 00:07:15 Also verify HAVE_CURRENT_DATA readyState, though t
prabhur1 2014/07/28 21:36:47 Done.
prabhur1 2014/07/28 21:36:48 It appears to be responding with HAVE_ENOUGH_DATA
wolenetz 2014/07/29 22:33:20 Acknowledged.
372 test.done();
373 });
374 }, "Test appendBuffer with partial init segments.");
375
376 mediasource_testafterdataloaded(function(test, mediaElement, mediaSour ce, segmentInfo, sourceBuffer, mediaData)
377 {
378 var initSegment = MediaSourceUtil.extractSegmentData(mediaData, se gmentInfo.init);
379 var mediaSegment = MediaSourceUtil.extractSegmentData(mediaData, s egmentInfo.media[0]);
380 var halfIndex = (mediaSegment.length + 1) / 2;
381 var partialMediaSegment = mediaSegment.subarray(0, halfIndex);
382 var remainingMediaSegment = mediaSegment.subarray(halfIndex);
383
384 test.expectEvent(sourceBuffer, "updateend", "InitSegment append en ded.");
wolenetz 2014/07/26 00:07:14 nit: also expect loadedmetadata?
prabhur1 2014/07/28 21:36:48 Done.
385 sourceBuffer.appendBuffer(initSegment);
386
387 test.waitForExpectedEvents(function()
388 {
389 test.expectEvent(sourceBuffer, "updateend", "partial media seg ment append ended.");
wolenetz 2014/07/26 00:07:14 verify HAVE_METADATA readyState and non-NaN durati
prabhur1 2014/07/28 21:36:48 Done.
390 sourceBuffer.appendBuffer(partialMediaSegment);
391 });
392
393 test.waitForExpectedEvents(function()
394 {
395 test.expectEvent(sourceBuffer, "updateend", "mediaSegment appe nd ended.");
wolenetz 2014/07/26 00:07:14 // Aside: we cannot assume HAVE_CURRENT_DATA at th
prabhur1 2014/07/28 21:36:48 Done.
396 test.expectEvent(mediaElement, "loadeddata", "loadeddata fired .");
397 sourceBuffer.appendBuffer(remainingMediaSegment);
398 });
399
400 test.waitForExpectedEvents(function()
401 {
402 assert_equals(sourceBuffer.updating, false);
wolenetz 2014/07/26 00:07:14 verify >= HAVE_CURRENT_DATA element readyState (bu
prabhur1 2014/07/28 21:36:48 Done.
403 test.done();
404 });
405 }, "Test appendBuffer with partial media segments.");
406
407 mediasource_testafterdataloaded(function(test, mediaElement, mediaSour ce, segmentInfo, sourceBuffer, mediaData)
408 {
409 var initSegment = MediaSourceUtil.extractSegmentData(mediaData, se gmentInfo.init);
348 var partialInitSegment = initSegment.subarray(0, initSegment.lengt h / 2); 410 var partialInitSegment = initSegment.subarray(0, initSegment.lengt h / 2);
349 var mediaSegment = MediaSourceUtil.extractSegmentData(mediaData, s egmentInfo.media[0]); 411 var mediaSegment = MediaSourceUtil.extractSegmentData(mediaData, s egmentInfo.media[0]);
350 412
351 test.expectEvent(sourceBuffer, "updateend", "partialInitSegment ap pend ended."); 413 test.expectEvent(sourceBuffer, "updateend", "partialInitSegment ap pend ended.");
352 sourceBuffer.appendBuffer(partialInitSegment); 414 sourceBuffer.appendBuffer(partialInitSegment);
353 415
354 test.waitForExpectedEvents(function() 416 test.waitForExpectedEvents(function()
355 { 417 {
356 // Call abort to reset the parser. 418 // Call abort to reset the parser.
357 sourceBuffer.abort(); 419 sourceBuffer.abort();
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
408 { 470 {
409 test.expectEvent(sourceBuffer, "updateend", "Append ended."); 471 test.expectEvent(sourceBuffer, "updateend", "Append ended.");
410 472
411 assert_equals(sourceBuffer.buffered.length, 1, "sourceBuffer.b uffered has 1 range"); 473 assert_equals(sourceBuffer.buffered.length, 1, "sourceBuffer.b uffered has 1 range");
412 assert_equals(sourceBuffer.buffered.length, partialBufferedRan ges.length, "sourceBuffer.buffered and partialBufferedRanges are the same length ."); 474 assert_equals(sourceBuffer.buffered.length, partialBufferedRan ges.length, "sourceBuffer.buffered and partialBufferedRanges are the same length .");
413 assert_equals(sourceBuffer.buffered.start(0), partialBufferedR anges.start(0), "sourceBuffer.buffered and partialBufferedRanges start times mat ch."); 475 assert_equals(sourceBuffer.buffered.start(0), partialBufferedR anges.start(0), "sourceBuffer.buffered and partialBufferedRanges start times mat ch.");
414 assert_greater_than(sourceBuffer.buffered.end(0), partialBuffe redRanges.end(0), "sourceBuffer.buffered has a higher end time than partialBuffe redRanges."); 476 assert_greater_than(sourceBuffer.buffered.end(0), partialBuffe redRanges.end(0), "sourceBuffer.buffered has a higher end time than partialBuffe redRanges.");
415 test.done(); 477 test.done();
416 }); 478 });
417 }, "Test abort in the middle of a media segment."); 479 }, "Test abort in the middle of a media segment.");
480
481 mediasource_testafterdataloaded(function(test, mediaElement, mediaSour ce, segmentInfo, sourceBuffer, mediaData)
482 {
483 test.expectEvent(mediaSource.activeSourceBuffers, "removesourcebuf fer", "SourceBuffer removed.");
wolenetz 2014/07/26 00:07:14 I think this line is actually testing non-complian
prabhur1 2014/07/28 21:36:47 New test added to mediasource-removesourcebuffer.h
prabhur1 2014/07/28 21:36:48 Done.
484 mediaSource.removeSourceBuffer(sourceBuffer);
485 test.waitForExpectedEvents(function()
486 {
487 assert_throws("InvalidStateError",
488 function() { sourceBuffer.abort(); },
489 "sourceBuffer.abort() throws an exception for InvalidState Error.");
490
491 test.done();
492 });
418 493
wolenetz 2014/07/26 00:07:14 nit: remove empty line.
prabhur1 2014/07/28 21:36:47 Done.
494 }, "Test abort after removing sourcebuffer.");
495
496 mediasource_testafterdataloaded(function(test, mediaElement, mediaSour ce, segmentInfo, sourceBuffer, mediaData)
497 {
498 test.expectEvent(mediaSource, 'sourceended', "source ended");
499
500 assert_equals(mediaSource.readyState, 'open', "readyState is open. ");
501 mediaSource.endOfStream();
502
503 test.waitForExpectedEvents(function()
504 {
505 assert_equals(mediaSource.readyState, 'ended', "readyState is ended.");
506 assert_throws("InvalidStateError",
507 function() { sourceBuffer.abort(); },
508 "sourceBuffer.abort() throws an exception for InvalidState Error.");
509
510 test.done();
511 });
512
513 }, "Test abort after readyState is ended.");
514
515 mediasource_testafterdataloaded(function(test, mediaElement, mediaSour ce, segmentInfo, sourceBuffer, mediaData)
516 {
517 test.failOnEvent(mediaElement, "error");
wolenetz 2014/07/26 00:07:13 This is already done in mediasource_testafterdatal
prabhur1 2014/07/28 21:36:48 Done.
518
519 test.expectEvent(sourceBuffer, "updatestart", "Append started.");
520 test.expectEvent(sourceBuffer, "updateend", "Append ended.");
521 sourceBuffer.appendBuffer(mediaData);
522
523 test.waitForExpectedEvents(function()
524 {
525 assert_false(sourceBuffer.updating, "updating attribute is fal se");
526 sourceBuffer.abort();
527 assert_equals(sourceBuffer.appendWindowStart, 0, "appendWindow Start is reset to 0");
wolenetz 2014/07/26 00:07:14 Improve this test by setting non-default appendwin
prabhur1 2014/07/28 21:36:47 Done.
528 assert_equals(sourceBuffer.appendWindowEnd, Number.POSITIVE_IN FINITY,
529 "appendWindowEnd is reset to +INFINITY");
wolenetz 2014/07/26 00:07:15 nit: indentation
prabhur1 2014/07/28 21:36:48 Done.
530 test.done();
531 });
532 }, "Test abort after appendBuffer.");
wolenetz 2014/07/26 00:07:15 nit: s/ffer/ffer update ends/
prabhur1 2014/07/28 21:36:48 Done.
533
419 mediasource_test(function(test, mediaElement, mediaSource) 534 mediasource_test(function(test, mediaElement, mediaSource)
420 { 535 {
421 var sourceBuffer = mediaSource.addSourceBuffer(MediaSourceUtil.VID EO_ONLY_TYPE); 536 var sourceBuffer = mediaSource.addSourceBuffer(MediaSourceUtil.VID EO_ONLY_TYPE);
422 537
423 test.expectEvent(sourceBuffer, "updatestart", "Append started."); 538 test.expectEvent(sourceBuffer, "updatestart", "Append started.");
424 test.expectEvent(sourceBuffer, "update", "Append success."); 539 test.expectEvent(sourceBuffer, "update", "Append success.");
425 test.expectEvent(sourceBuffer, "updateend", "Append ended."); 540 test.expectEvent(sourceBuffer, "updateend", "Append ended.");
426 541
427 assert_throws( { name: "TypeError"} , 542 assert_throws( { name: "TypeError"} ,
428 function() { sourceBuffer.appendBuffer(null); }, 543 function() { sourceBuffer.appendBuffer(null); },
429 "appendBuffer(null) throws an exception."); 544 "appendBuffer(null) throws an exception.");
430 test.done(); 545 test.done();
431 }, "Test appending null."); 546 }, "Test appending null.");
432 547
433 mediasource_testafterdataloaded(function(test, mediaElement, mediaSour ce, segmentInfo, sourceBuffer, mediaData) 548 mediasource_testafterdataloaded(function(test, mediaElement, mediaSour ce, segmentInfo, sourceBuffer, mediaData)
434 { 549 {
435 mediaSource.removeSourceBuffer(sourceBuffer); 550 mediaSource.removeSourceBuffer(sourceBuffer);
436 551
437 assert_throws( { name: "InvalidStateError"} , 552 assert_throws( { name: "InvalidStateError"} ,
438 function() { sourceBuffer.appendBuffer(mediaData); }, 553 function() { sourceBuffer.appendBuffer(mediaData); },
439 "appendBuffer() throws an exception when called after removeSo urceBuffer()."); 554 "appendBuffer() throws an exception when called after removeSo urceBuffer().");
440 test.done(); 555 test.done();
441 }, "Test appending after removeSourceBuffer()."); 556 }, "Test appending after removeSourceBuffer().");
442 </script> 557 </script>
443 </body> 558 </body>
444 </html> 559 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698