OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <html> | 2 <html> |
3 <head> | 3 <head> |
4 <title>Test EME syntax</title> | 4 <title>Test EME syntax</title> |
5 <script src="encrypted-media-utils.js"></script> | 5 <script src="encrypted-media-utils.js"></script> |
6 <script src="../../resources/testharness.js"></script> | 6 <script src="../../resources/testharness.js"></script> |
7 <script src="../../resources/testharnessreport.js"></script> | 7 <script src="../../resources/testharnessreport.js"></script> |
8 </head> | 8 </head> |
9 <body> | 9 <body> |
10 <div id="log"></div> | 10 <div id="log"></div> |
(...skipping 571 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
582 | 582 |
583 assert_not_equals(promises.length, 0); | 583 assert_not_equals(promises.length, 0); |
584 return Promise.all(promises); | 584 return Promise.all(promises); |
585 }).then(function(result) { | 585 }).then(function(result) { |
586 test.done(); | 586 test.done(); |
587 }).catch(function(error) { | 587 }).catch(function(error) { |
588 forceTestFailureFromPromise(test, error, 'release() tests fa
iled'); | 588 forceTestFailureFromPromise(test, error, 'release() tests fa
iled'); |
589 }); | 589 }); |
590 }, 'Test MediaKeySession release().'); | 590 }, 'Test MediaKeySession release().'); |
591 | 591 |
| 592 var kSetServerCertificateExceptionsTestCases = [ |
| 593 // Too few parameters. |
| 594 { |
| 595 exception: 'TypeError', |
| 596 func: function(mk) { return mk.setServerCertificate(); } |
| 597 }, |
| 598 // Invalid parameters. |
| 599 { |
| 600 exception: 'TypeError', |
| 601 func: function(mk) { return mk.setServerCertificate(''); } |
| 602 }, |
| 603 { |
| 604 exception: 'TypeError', |
| 605 func: function(mk) { return mk.setServerCertificate(null); } |
| 606 }, |
| 607 { |
| 608 exception: 'TypeError', |
| 609 func: function(mk) { return mk.setServerCertificate(undefine
d); } |
| 610 }, |
| 611 { |
| 612 exception: 'TypeError', |
| 613 func: function(mk) { return mk.setServerCertificate(1); } |
| 614 }, |
| 615 // Empty array. |
| 616 { |
| 617 exception: 'InvalidAccessError', |
| 618 func: function(mk) { return mk.setServerCertificate(new Uint
8Array(0)); } |
| 619 } |
| 620 ]; |
| 621 |
| 622 async_test(function(test) |
| 623 { |
| 624 MediaKeys.create('org.w3.clearkey').then(function(mediaKeys) { |
| 625 var promises = kSetServerCertificateExceptionsTestCases.map(
function(testCase) { |
| 626 return test_exception(testCase, mediaKeys); |
| 627 }); |
| 628 |
| 629 assert_not_equals(promises.length, 0); |
| 630 return Promise.all(promises); |
| 631 }).then(function(result) { |
| 632 test.done(); |
| 633 }).catch(function(error) { |
| 634 forceTestFailureFromPromise(test, error, 'setServerCertifica
te() exception tests failed'); |
| 635 }); |
| 636 }, 'Test MediaKeys setServerCertificate() exceptions.'); |
| 637 |
| 638 async_test(function(test) |
| 639 { |
| 640 var mediaKeys; |
| 641 var certificate1 = new Uint8Array(200); |
| 642 MediaKeys.create('org.w3.clearkey').then(function(result) { |
| 643 mediaKeys = result; |
| 644 // TypedArrays are ArrayBufferViews. |
| 645 assert_true(ArrayBuffer.isView(certificate1)); |
| 646 return mediaKeys.setServerCertificate(certificate1); |
| 647 }).then(function() { |
| 648 // Create a subarray (which is also a ArrayBufferView). |
| 649 var certificate2 = certificate1.subarray(10, 190); |
| 650 assert_true(ArrayBuffer.isView(certificate2)); |
| 651 return mediaKeys.setServerCertificate(certificate2); |
| 652 }).then(function() { |
| 653 // Access the actual ArrayBuffer. |
| 654 var certificate3 = certificate1.buffer; |
| 655 assert_false(ArrayBuffer.isView(certificate3)); |
| 656 return mediaKeys.setServerCertificate(certificate3); |
| 657 }).then(function() { |
| 658 test.done(); |
| 659 }).catch(function(error) { |
| 660 forceTestFailureFromPromise(test, error, 'setServerCertifica
te() tests failed'); |
| 661 }); |
| 662 }, 'Test MediaKeys setServerCertificate().'); |
| 663 |
592 // FIXME: Add syntax checks for MediaKeys.IsTypeSupported(). | 664 // FIXME: Add syntax checks for MediaKeys.IsTypeSupported(). |
593 // FIXME: Add syntax checks for MediaKeyError and MediaKeySession ev
ents. | 665 // FIXME: Add syntax checks for MediaKeyError and MediaKeySession ev
ents. |
594 // FIXME: Add HTMLMediaElement syntax checks, e.g. setMediaKeys, med
iakeys, onneedkey. | 666 // FIXME: Add HTMLMediaElement syntax checks, e.g. setMediaKeys, med
iakeys, onneedkey. |
595 </script> | 667 </script> |
596 </body> | 668 </body> |
597 </html> | 669 </html> |
OLD | NEW |