OLD | NEW |
---|---|
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include <string> | 5 #include <string> |
6 #include <vector> | 6 #include <vector> |
7 | 7 |
8 #include "base/bind.h" | 8 #include "base/bind.h" |
9 #include "base/macros.h" | 9 #include "base/macros.h" |
10 #include "base/message_loop/message_loop.h" | 10 #include "base/message_loop/message_loop.h" |
(...skipping 615 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
626 | 626 |
627 ASSERT_TRUE(SelectConfigReturnsError()); | 627 ASSERT_TRUE(SelectConfigReturnsError()); |
628 } | 628 } |
629 | 629 |
630 TEST_F(KeySystemConfigSelectorTest, VideoCapabilities_SubsetSupported) { | 630 TEST_F(KeySystemConfigSelectorTest, VideoCapabilities_SubsetSupported) { |
631 std::vector<blink::WebMediaKeySystemMediaCapability> video_capabilities(2); | 631 std::vector<blink::WebMediaKeySystemMediaCapability> video_capabilities(2); |
632 video_capabilities[0].contentType = "a"; | 632 video_capabilities[0].contentType = "a"; |
633 video_capabilities[0].mimeType = kUnsupportedContainer; | 633 video_capabilities[0].mimeType = kUnsupportedContainer; |
634 video_capabilities[1].contentType = "b"; | 634 video_capabilities[1].contentType = "b"; |
635 video_capabilities[1].mimeType = kSupportedVideoContainer; | 635 video_capabilities[1].mimeType = kSupportedVideoContainer; |
636 video_capabilities[1].codecs = kSupportedVideoCodec; | |
xhwang
2017/02/09 20:07:55
Can we add a test where everything in the capabili
jrummell
2017/02/09 23:36:08
Done.
| |
636 | 637 |
637 blink::WebMediaKeySystemConfiguration config = EmptyConfiguration(); | 638 blink::WebMediaKeySystemConfiguration config = EmptyConfiguration(); |
638 config.videoCapabilities = video_capabilities; | 639 config.videoCapabilities = video_capabilities; |
639 configs_.push_back(config); | 640 configs_.push_back(config); |
640 | 641 |
641 ASSERT_TRUE(SelectConfigReturnsConfig()); | 642 ASSERT_TRUE(SelectConfigReturnsConfig()); |
642 ASSERT_EQ(1u, config_.videoCapabilities.size()); | 643 ASSERT_EQ(1u, config_.videoCapabilities.size()); |
643 EXPECT_EQ("b", config_.videoCapabilities[0].contentType); | 644 EXPECT_EQ("b", config_.videoCapabilities[0].contentType); |
644 EXPECT_EQ(kSupportedVideoContainer, config_.videoCapabilities[0].mimeType); | 645 EXPECT_EQ(kSupportedVideoContainer, config_.videoCapabilities[0].mimeType); |
645 } | 646 } |
646 | 647 |
647 TEST_F(KeySystemConfigSelectorTest, VideoCapabilities_AllSupported) { | 648 TEST_F(KeySystemConfigSelectorTest, VideoCapabilities_AllSupported) { |
648 std::vector<blink::WebMediaKeySystemMediaCapability> video_capabilities(2); | 649 std::vector<blink::WebMediaKeySystemMediaCapability> video_capabilities(2); |
649 video_capabilities[0].contentType = "a"; | 650 video_capabilities[0].contentType = "a"; |
650 video_capabilities[0].mimeType = kSupportedVideoContainer; | 651 video_capabilities[0].mimeType = kSupportedVideoContainer; |
652 video_capabilities[0].codecs = kSupportedVideoCodecs; | |
651 video_capabilities[1].contentType = "b"; | 653 video_capabilities[1].contentType = "b"; |
652 video_capabilities[1].mimeType = kSupportedVideoContainer; | 654 video_capabilities[1].mimeType = kSupportedVideoContainer; |
653 video_capabilities[1].codecs = kSupportedVideoCodecs; | 655 video_capabilities[1].codecs = kSupportedVideoCodecs; |
654 | 656 |
655 blink::WebMediaKeySystemConfiguration config = EmptyConfiguration(); | 657 blink::WebMediaKeySystemConfiguration config = EmptyConfiguration(); |
656 config.videoCapabilities = video_capabilities; | 658 config.videoCapabilities = video_capabilities; |
657 configs_.push_back(config); | 659 configs_.push_back(config); |
658 | 660 |
659 ASSERT_TRUE(SelectConfigReturnsConfig()); | 661 ASSERT_TRUE(SelectConfigReturnsConfig()); |
660 ASSERT_EQ(2u, config_.videoCapabilities.size()); | 662 ASSERT_EQ(2u, config_.videoCapabilities.size()); |
(...skipping 27 matching lines...) Expand all Loading... | |
688 | 690 |
689 ASSERT_TRUE(SelectConfigReturnsConfig()); | 691 ASSERT_TRUE(SelectConfigReturnsConfig()); |
690 ASSERT_EQ(1u, config_.videoCapabilities.size()); | 692 ASSERT_EQ(1u, config_.videoCapabilities.size()); |
691 EXPECT_EQ(kSupportedVideoCodecs, config_.videoCapabilities[0].codecs); | 693 EXPECT_EQ(kSupportedVideoCodecs, config_.videoCapabilities[0].codecs); |
692 } | 694 } |
693 | 695 |
694 TEST_F(KeySystemConfigSelectorTest, VideoCapabilities_Robustness_Empty) { | 696 TEST_F(KeySystemConfigSelectorTest, VideoCapabilities_Robustness_Empty) { |
695 std::vector<blink::WebMediaKeySystemMediaCapability> video_capabilities(1); | 697 std::vector<blink::WebMediaKeySystemMediaCapability> video_capabilities(1); |
696 video_capabilities[0].contentType = "a"; | 698 video_capabilities[0].contentType = "a"; |
697 video_capabilities[0].mimeType = kSupportedVideoContainer; | 699 video_capabilities[0].mimeType = kSupportedVideoContainer; |
700 video_capabilities[0].codecs = kSupportedVideoCodec; | |
698 ASSERT_TRUE(video_capabilities[0].robustness.isEmpty()); | 701 ASSERT_TRUE(video_capabilities[0].robustness.isEmpty()); |
699 | 702 |
700 blink::WebMediaKeySystemConfiguration config = EmptyConfiguration(); | 703 blink::WebMediaKeySystemConfiguration config = EmptyConfiguration(); |
701 config.videoCapabilities = video_capabilities; | 704 config.videoCapabilities = video_capabilities; |
702 configs_.push_back(config); | 705 configs_.push_back(config); |
703 | 706 |
704 ASSERT_TRUE(SelectConfigReturnsConfig()); | 707 ASSERT_TRUE(SelectConfigReturnsConfig()); |
705 ASSERT_EQ(1u, config_.videoCapabilities.size()); | 708 ASSERT_EQ(1u, config_.videoCapabilities.size()); |
706 EXPECT_TRUE(config_.videoCapabilities[0].robustness.isEmpty()); | 709 EXPECT_TRUE(config_.videoCapabilities[0].robustness.isEmpty()); |
707 } | 710 } |
708 | 711 |
709 TEST_F(KeySystemConfigSelectorTest, VideoCapabilities_Robustness_Supported) { | 712 TEST_F(KeySystemConfigSelectorTest, VideoCapabilities_Robustness_Supported) { |
710 std::vector<blink::WebMediaKeySystemMediaCapability> video_capabilities(1); | 713 std::vector<blink::WebMediaKeySystemMediaCapability> video_capabilities(1); |
711 video_capabilities[0].contentType = "a"; | 714 video_capabilities[0].contentType = "a"; |
712 video_capabilities[0].mimeType = kSupportedVideoContainer; | 715 video_capabilities[0].mimeType = kSupportedVideoContainer; |
716 video_capabilities[0].codecs = kSupportedVideoCodec; | |
713 video_capabilities[0].robustness = kSupported; | 717 video_capabilities[0].robustness = kSupported; |
714 | 718 |
715 blink::WebMediaKeySystemConfiguration config = EmptyConfiguration(); | 719 blink::WebMediaKeySystemConfiguration config = EmptyConfiguration(); |
716 config.videoCapabilities = video_capabilities; | 720 config.videoCapabilities = video_capabilities; |
717 configs_.push_back(config); | 721 configs_.push_back(config); |
718 | 722 |
719 ASSERT_TRUE(SelectConfigReturnsConfig()); | 723 ASSERT_TRUE(SelectConfigReturnsConfig()); |
720 ASSERT_EQ(1u, config_.videoCapabilities.size()); | 724 ASSERT_EQ(1u, config_.videoCapabilities.size()); |
721 EXPECT_EQ(kSupported, config_.videoCapabilities[0].robustness); | 725 EXPECT_EQ(kSupported, config_.videoCapabilities[0].robustness); |
722 } | 726 } |
723 | 727 |
724 TEST_F(KeySystemConfigSelectorTest, VideoCapabilities_Robustness_Unsupported) { | 728 TEST_F(KeySystemConfigSelectorTest, VideoCapabilities_Robustness_Unsupported) { |
725 std::vector<blink::WebMediaKeySystemMediaCapability> video_capabilities(1); | 729 std::vector<blink::WebMediaKeySystemMediaCapability> video_capabilities(1); |
726 video_capabilities[0].contentType = "a"; | 730 video_capabilities[0].contentType = "a"; |
727 video_capabilities[0].mimeType = kSupportedVideoContainer; | 731 video_capabilities[0].mimeType = kSupportedVideoContainer; |
732 video_capabilities[0].codecs = kSupportedVideoCodec; | |
728 video_capabilities[0].robustness = kUnsupported; | 733 video_capabilities[0].robustness = kUnsupported; |
729 | 734 |
730 blink::WebMediaKeySystemConfiguration config = EmptyConfiguration(); | 735 blink::WebMediaKeySystemConfiguration config = EmptyConfiguration(); |
731 config.videoCapabilities = video_capabilities; | 736 config.videoCapabilities = video_capabilities; |
732 configs_.push_back(config); | 737 configs_.push_back(config); |
733 | 738 |
734 ASSERT_TRUE(SelectConfigReturnsError()); | 739 ASSERT_TRUE(SelectConfigReturnsError()); |
735 } | 740 } |
736 | 741 |
737 TEST_F(KeySystemConfigSelectorTest, | 742 TEST_F(KeySystemConfigSelectorTest, |
738 VideoCapabilities_Robustness_PermissionCanBeRequired) { | 743 VideoCapabilities_Robustness_PermissionCanBeRequired) { |
739 media_permission_->is_granted = true; | 744 media_permission_->is_granted = true; |
740 key_systems_->distinctive_identifier = EmeFeatureSupport::REQUESTABLE; | 745 key_systems_->distinctive_identifier = EmeFeatureSupport::REQUESTABLE; |
741 | 746 |
742 std::vector<blink::WebMediaKeySystemMediaCapability> video_capabilities(1); | 747 std::vector<blink::WebMediaKeySystemMediaCapability> video_capabilities(1); |
743 video_capabilities[0].contentType = "a"; | 748 video_capabilities[0].contentType = "a"; |
744 video_capabilities[0].mimeType = kSupportedVideoContainer; | 749 video_capabilities[0].mimeType = kSupportedVideoContainer; |
750 video_capabilities[0].codecs = kSupportedVideoCodec; | |
745 video_capabilities[0].robustness = kRequireIdentifier; | 751 video_capabilities[0].robustness = kRequireIdentifier; |
746 | 752 |
747 blink::WebMediaKeySystemConfiguration config = EmptyConfiguration(); | 753 blink::WebMediaKeySystemConfiguration config = EmptyConfiguration(); |
748 config.videoCapabilities = video_capabilities; | 754 config.videoCapabilities = video_capabilities; |
749 configs_.push_back(config); | 755 configs_.push_back(config); |
750 | 756 |
751 ASSERT_TRUE(SelectConfigRequestsPermissionAndReturnsConfig()); | 757 ASSERT_TRUE(SelectConfigRequestsPermissionAndReturnsConfig()); |
752 EXPECT_EQ(blink::WebMediaKeySystemConfiguration::Requirement::Required, | 758 EXPECT_EQ(blink::WebMediaKeySystemConfiguration::Requirement::Required, |
753 config_.distinctiveIdentifier); | 759 config_.distinctiveIdentifier); |
754 } | 760 } |
755 | 761 |
756 TEST_F(KeySystemConfigSelectorTest, | 762 TEST_F(KeySystemConfigSelectorTest, |
757 VideoCapabilities_Robustness_PermissionCanBeRecommended) { | 763 VideoCapabilities_Robustness_PermissionCanBeRecommended) { |
758 media_permission_->is_granted = false; | 764 media_permission_->is_granted = false; |
759 key_systems_->distinctive_identifier = EmeFeatureSupport::REQUESTABLE; | 765 key_systems_->distinctive_identifier = EmeFeatureSupport::REQUESTABLE; |
760 | 766 |
761 std::vector<blink::WebMediaKeySystemMediaCapability> video_capabilities(1); | 767 std::vector<blink::WebMediaKeySystemMediaCapability> video_capabilities(1); |
762 video_capabilities[0].contentType = "a"; | 768 video_capabilities[0].contentType = "a"; |
763 video_capabilities[0].mimeType = kSupportedVideoContainer; | 769 video_capabilities[0].mimeType = kSupportedVideoContainer; |
770 video_capabilities[0].codecs = kSupportedVideoCodec; | |
764 video_capabilities[0].robustness = kRecommendIdentifier; | 771 video_capabilities[0].robustness = kRecommendIdentifier; |
765 | 772 |
766 blink::WebMediaKeySystemConfiguration config = EmptyConfiguration(); | 773 blink::WebMediaKeySystemConfiguration config = EmptyConfiguration(); |
767 config.videoCapabilities = video_capabilities; | 774 config.videoCapabilities = video_capabilities; |
768 configs_.push_back(config); | 775 configs_.push_back(config); |
769 | 776 |
770 ASSERT_TRUE(SelectConfigRequestsPermissionAndReturnsConfig()); | 777 ASSERT_TRUE(SelectConfigRequestsPermissionAndReturnsConfig()); |
771 EXPECT_EQ(blink::WebMediaKeySystemConfiguration::Requirement::NotAllowed, | 778 EXPECT_EQ(blink::WebMediaKeySystemConfiguration::Requirement::NotAllowed, |
772 config_.distinctiveIdentifier); | 779 config_.distinctiveIdentifier); |
773 } | 780 } |
774 | 781 |
775 // --- audioCapabilities --- | 782 // --- audioCapabilities --- |
776 // These are handled by the same code as |videoCapabilities|, so only minimal | 783 // These are handled by the same code as |videoCapabilities|, so only minimal |
777 // additional testing is done. | 784 // additional testing is done. |
778 | 785 |
779 TEST_F(KeySystemConfigSelectorTest, AudioCapabilities_SubsetSupported) { | 786 TEST_F(KeySystemConfigSelectorTest, AudioCapabilities_SubsetSupported) { |
780 std::vector<blink::WebMediaKeySystemMediaCapability> audio_capabilities(2); | 787 std::vector<blink::WebMediaKeySystemMediaCapability> audio_capabilities(2); |
781 audio_capabilities[0].contentType = "a"; | 788 audio_capabilities[0].contentType = "a"; |
782 audio_capabilities[0].mimeType = kUnsupportedContainer; | 789 audio_capabilities[0].mimeType = kUnsupportedContainer; |
783 audio_capabilities[1].contentType = "b"; | 790 audio_capabilities[1].contentType = "b"; |
784 audio_capabilities[1].mimeType = kSupportedAudioContainer; | 791 audio_capabilities[1].mimeType = kSupportedAudioContainer; |
792 audio_capabilities[1].codecs = kSupportedAudioCodec; | |
785 | 793 |
786 blink::WebMediaKeySystemConfiguration config = EmptyConfiguration(); | 794 blink::WebMediaKeySystemConfiguration config = EmptyConfiguration(); |
787 config.audioCapabilities = audio_capabilities; | 795 config.audioCapabilities = audio_capabilities; |
788 configs_.push_back(config); | 796 configs_.push_back(config); |
789 | 797 |
790 ASSERT_TRUE(SelectConfigReturnsConfig()); | 798 ASSERT_TRUE(SelectConfigReturnsConfig()); |
791 ASSERT_EQ(1u, config_.audioCapabilities.size()); | 799 ASSERT_EQ(1u, config_.audioCapabilities.size()); |
792 EXPECT_EQ("b", config_.audioCapabilities[0].contentType); | 800 EXPECT_EQ("b", config_.audioCapabilities[0].contentType); |
793 EXPECT_EQ(kSupportedAudioContainer, config_.audioCapabilities[0].mimeType); | 801 EXPECT_EQ(kSupportedAudioContainer, config_.audioCapabilities[0].mimeType); |
794 } | 802 } |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
854 | 862 |
855 blink::WebMediaKeySystemConfiguration config2 = UsableConfiguration(); | 863 blink::WebMediaKeySystemConfiguration config2 = UsableConfiguration(); |
856 config2.label = "b"; | 864 config2.label = "b"; |
857 configs_.push_back(config2); | 865 configs_.push_back(config2); |
858 | 866 |
859 ASSERT_TRUE(SelectConfigRequestsPermissionAndReturnsConfig()); | 867 ASSERT_TRUE(SelectConfigRequestsPermissionAndReturnsConfig()); |
860 ASSERT_EQ("b", config_.label); | 868 ASSERT_EQ("b", config_.label); |
861 } | 869 } |
862 | 870 |
863 } // namespace media | 871 } // namespace media |
OLD | NEW |