Commit 737ccd73 authored by Xiaohan Wang's avatar Xiaohan Wang Committed by Commit Bot

media: KeySystemConfigSelectorTest cleanups

- Make test constant names more specific.
- Use auto where applicable.
- using Requirement =
  blink::WebMediaKeySystemConfiguration::Requirement;
- Move ASSERT_TRUE into SelectConfig*() functions.
- clang format

Bug: 848532
Test: Test cleanup only
Change-Id: I8c7613dad4c582adfcfb3d9d97c5456f86177257
Reviewed-on: https://chromium-review.googlesource.com/1089465Reviewed-by: default avatarDan Sanders <sandersd@chromium.org>
Commit-Queue: Xiaohan Wang <xhwang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#565028}
parent b69d8c48
...@@ -7,7 +7,6 @@ ...@@ -7,7 +7,6 @@
#include "base/bind.h" #include "base/bind.h"
#include "base/macros.h" #include "base/macros.h"
#include "base/run_loop.h"
#include "media/base/eme_constants.h" #include "media/base/eme_constants.h"
#include "media/base/key_systems.h" #include "media/base/key_systems.h"
#include "media/base/media_permission.h" #include "media/base/media_permission.h"
...@@ -16,21 +15,33 @@ ...@@ -16,21 +15,33 @@
#include "third_party/blink/public/platform/web_encrypted_media_types.h" #include "third_party/blink/public/platform/web_encrypted_media_types.h"
#include "third_party/blink/public/platform/web_media_key_system_configuration.h" #include "third_party/blink/public/platform/web_media_key_system_configuration.h"
#include "third_party/blink/public/platform/web_string.h" #include "third_party/blink/public/platform/web_string.h"
#include "url/gurl.h"
namespace media { namespace media {
namespace { namespace {
const char kSupported[] = "supported"; using MediaKeysRequirement = blink::WebMediaKeySystemConfiguration::Requirement;
const char kRecommendIdentifier[] = "recommend_identifier";
const char kRequireIdentifier[] = "require_identifier";
const char kUnsupported[] = "unsupported";
// Key system strings. Clear Key support is hardcoded in KeySystemConfigSelector
// so kClearKeyKeySystem is the real key system string. The rest key system
// strings are for testing purpose only.
const char kClearKeyKeySystem[] = "org.w3.clearkey";
const char kSupportedKeySystem[] = "keysystem.test.supported";
const char kUnsupportedKeySystem[] = "keysystem.test.unsupported";
// Robustness strings for kSupportedKeySystem.
const char kSupportedRobustness[] = "supported";
const char kRecommendIdentifierRobustness[] = "recommend_identifier";
const char kRequireIdentifierRobustness[] = "require_identifier";
const char kUnsupportedRobustness[] = "unsupported";
// Test container mime types. The supported ones are real container mime types
// since we check with MimeUtil.
const char kSupportedVideoContainer[] = "video/webm"; const char kSupportedVideoContainer[] = "video/webm";
const char kSupportedAudioContainer[] = "audio/webm"; const char kSupportedAudioContainer[] = "audio/webm";
const char kUnsupportedContainer[] = "video/foo"; const char kUnsupportedContainer[] = "video/foo";
// The supported ones must be real codec(s) since we check with MimeUtil.
// TODO(sandersd): Extended codec variants (requires proprietary codec support). // TODO(sandersd): Extended codec variants (requires proprietary codec support).
// TODO(xhwang): Platform Opus is not available on all Android versions, where // TODO(xhwang): Platform Opus is not available on all Android versions, where
// some encrypted Opus related tests may fail. See PlatformHasOpusSupport() // some encrypted Opus related tests may fail. See PlatformHasOpusSupport()
...@@ -41,8 +52,6 @@ const char kUnsupportedCodec[] = "foo"; ...@@ -41,8 +52,6 @@ const char kUnsupportedCodec[] = "foo";
const char kUnsupportedCodecs[] = "vp8,foo"; const char kUnsupportedCodecs[] = "vp8,foo";
const char kSupportedVideoCodecs[] = "vp8,vp8"; const char kSupportedVideoCodecs[] = "vp8,vp8";
const char kClearKey[] = "org.w3.clearkey";
// The IDL for MediaKeySystemConfiguration specifies some defaults, so // The IDL for MediaKeySystemConfiguration specifies some defaults, so
// create a config object that mimics what would be created if an empty // create a config object that mimics what would be created if an empty
// dictionary was passed in. // dictionary was passed in.
...@@ -70,7 +79,7 @@ blink::WebMediaKeySystemConfiguration UsableConfiguration() { ...@@ -70,7 +79,7 @@ blink::WebMediaKeySystemConfiguration UsableConfiguration() {
audio_capabilities[0].mime_type = kSupportedAudioContainer; audio_capabilities[0].mime_type = kSupportedAudioContainer;
audio_capabilities[0].codecs = kSupportedAudioCodec; audio_capabilities[0].codecs = kSupportedAudioCodec;
blink::WebMediaKeySystemConfiguration config = EmptyConfiguration(); auto config = EmptyConfiguration();
config.audio_capabilities = audio_capabilities; config.audio_capabilities = audio_capabilities;
return config; return config;
} }
...@@ -81,7 +90,7 @@ class FakeKeySystems : public KeySystems { ...@@ -81,7 +90,7 @@ class FakeKeySystems : public KeySystems {
bool IsSupportedKeySystem(const std::string& key_system) const override { bool IsSupportedKeySystem(const std::string& key_system) const override {
// Based on EME spec, Clear Key key system is always supported. // Based on EME spec, Clear Key key system is always supported.
if (key_system == kSupported || key_system == kClearKey) if (key_system == kSupportedKeySystem || key_system == kClearKeyKeySystem)
return true; return true;
return false; return false;
} }
...@@ -111,7 +120,7 @@ class FakeKeySystems : public KeySystems { ...@@ -111,7 +120,7 @@ class FakeKeySystems : public KeySystems {
return false; return false;
} }
// TODO(sandersd): Secure codec simulation. // TODO(xhwang): Simulate secure codec and add test cases.
EmeConfigRule GetContentTypeConfigRule( EmeConfigRule GetContentTypeConfigRule(
const std::string& key_system, const std::string& key_system,
EmeMediaType media_type, EmeMediaType media_type,
...@@ -148,14 +157,15 @@ class FakeKeySystems : public KeySystems { ...@@ -148,14 +157,15 @@ class FakeKeySystems : public KeySystems {
const std::string& requested_robustness) const override { const std::string& requested_robustness) const override {
if (requested_robustness.empty()) if (requested_robustness.empty())
return EmeConfigRule::SUPPORTED; return EmeConfigRule::SUPPORTED;
if (requested_robustness == kUnsupported) if (requested_robustness == kUnsupportedRobustness)
return EmeConfigRule::NOT_SUPPORTED; return EmeConfigRule::NOT_SUPPORTED;
if (requested_robustness == kRequireIdentifier) if (requested_robustness == kRequireIdentifierRobustness)
return EmeConfigRule::IDENTIFIER_REQUIRED; return EmeConfigRule::IDENTIFIER_REQUIRED;
if (requested_robustness == kRecommendIdentifier) if (requested_robustness == kRecommendIdentifierRobustness)
return EmeConfigRule::IDENTIFIER_RECOMMENDED; return EmeConfigRule::IDENTIFIER_RECOMMENDED;
if (requested_robustness == kSupported) if (requested_robustness == kSupportedRobustness)
return EmeConfigRule::SUPPORTED; return EmeConfigRule::SUPPORTED;
NOTREACHED(); NOTREACHED();
return EmeConfigRule::NOT_SUPPORTED; return EmeConfigRule::NOT_SUPPORTED;
} }
...@@ -239,36 +249,36 @@ class KeySystemConfigSelectorTest : public testing::Test { ...@@ -239,36 +249,36 @@ class KeySystemConfigSelectorTest : public testing::Test {
base::Unretained(this))); base::Unretained(this)));
} }
bool SelectConfigReturnsConfig() { void SelectConfigReturnsConfig() {
SelectConfig(); SelectConfig();
EXPECT_EQ(0, media_permission_->requests); EXPECT_EQ(0, media_permission_->requests);
EXPECT_EQ(1, succeeded_count_); EXPECT_EQ(1, succeeded_count_);
EXPECT_EQ(0, not_supported_count_); EXPECT_EQ(0, not_supported_count_);
return (succeeded_count_ != 0); ASSERT_TRUE(succeeded_count_ != 0);
} }
bool SelectConfigReturnsError() { void SelectConfigReturnsError() {
SelectConfig(); SelectConfig();
EXPECT_EQ(0, media_permission_->requests); EXPECT_EQ(0, media_permission_->requests);
EXPECT_EQ(0, succeeded_count_); EXPECT_EQ(0, succeeded_count_);
EXPECT_EQ(1, not_supported_count_); EXPECT_EQ(1, not_supported_count_);
return (not_supported_count_ != 0); ASSERT_TRUE(not_supported_count_ != 0);
} }
bool SelectConfigRequestsPermissionAndReturnsConfig() { void SelectConfigRequestsPermissionAndReturnsConfig() {
SelectConfig(); SelectConfig();
EXPECT_EQ(1, media_permission_->requests); EXPECT_EQ(1, media_permission_->requests);
EXPECT_EQ(1, succeeded_count_); EXPECT_EQ(1, succeeded_count_);
EXPECT_EQ(0, not_supported_count_); EXPECT_EQ(0, not_supported_count_);
return (media_permission_->requests != 0 && succeeded_count_ != 0); ASSERT_TRUE(media_permission_->requests != 0 && succeeded_count_ != 0);
} }
bool SelectConfigRequestsPermissionAndReturnsError() { void SelectConfigRequestsPermissionAndReturnsError() {
SelectConfig(); SelectConfig();
EXPECT_EQ(1, media_permission_->requests); EXPECT_EQ(1, media_permission_->requests);
EXPECT_EQ(0, succeeded_count_); EXPECT_EQ(0, succeeded_count_);
EXPECT_EQ(1, not_supported_count_); EXPECT_EQ(1, not_supported_count_);
return (media_permission_->requests != 0 && not_supported_count_ != 0); ASSERT_TRUE(media_permission_->requests != 0 && not_supported_count_ != 0);
} }
void OnSucceeded(const blink::WebMediaKeySystemConfiguration& result, void OnSucceeded(const blink::WebMediaKeySystemConfiguration& result,
...@@ -283,7 +293,8 @@ class KeySystemConfigSelectorTest : public testing::Test { ...@@ -283,7 +293,8 @@ class KeySystemConfigSelectorTest : public testing::Test {
std::unique_ptr<FakeMediaPermission> media_permission_; std::unique_ptr<FakeMediaPermission> media_permission_;
// Held values for the call to SelectConfig(). // Held values for the call to SelectConfig().
blink::WebString key_system_ = blink::WebString::FromUTF8(kSupported); blink::WebString key_system_ =
blink::WebString::FromUTF8(kSupportedKeySystem);
std::vector<blink::WebMediaKeySystemConfiguration> configs_; std::vector<blink::WebMediaKeySystemConfiguration> configs_;
// Holds the last successful accumulated configuration. // Holds the last successful accumulated configuration.
...@@ -298,11 +309,11 @@ class KeySystemConfigSelectorTest : public testing::Test { ...@@ -298,11 +309,11 @@ class KeySystemConfigSelectorTest : public testing::Test {
// --- Basics --- // --- Basics ---
TEST_F(KeySystemConfigSelectorTest, NoConfigs) { TEST_F(KeySystemConfigSelectorTest, NoConfigs) {
ASSERT_TRUE(SelectConfigReturnsError()); SelectConfigReturnsError();
} }
TEST_F(KeySystemConfigSelectorTest, DefaultConfig) { TEST_F(KeySystemConfigSelectorTest, DefaultConfig) {
blink::WebMediaKeySystemConfiguration config = EmptyConfiguration(); auto config = EmptyConfiguration();
// label = ""; // label = "";
ASSERT_EQ("", config.label); ASSERT_EQ("", config.label);
...@@ -317,12 +328,10 @@ TEST_F(KeySystemConfigSelectorTest, DefaultConfig) { ...@@ -317,12 +328,10 @@ TEST_F(KeySystemConfigSelectorTest, DefaultConfig) {
ASSERT_EQ(0u, config.video_capabilities.size()); ASSERT_EQ(0u, config.video_capabilities.size());
// distinctiveIdentifier = "optional"; // distinctiveIdentifier = "optional";
ASSERT_EQ(blink::WebMediaKeySystemConfiguration::Requirement::kOptional, ASSERT_EQ(MediaKeysRequirement::kOptional, config.distinctive_identifier);
config.distinctive_identifier);
// persistentState = "optional"; // persistentState = "optional";
ASSERT_EQ(blink::WebMediaKeySystemConfiguration::Requirement::kOptional, ASSERT_EQ(MediaKeysRequirement::kOptional, config.persistent_state);
config.persistent_state);
// If this member is not present when the dictionary is passed to // If this member is not present when the dictionary is passed to
// requestMediaKeySystemAccess(), the dictionary will be treated as // requestMediaKeySystemAccess(), the dictionary will be treated as
...@@ -336,7 +345,7 @@ TEST_F(KeySystemConfigSelectorTest, EmptyConfig) { ...@@ -336,7 +345,7 @@ TEST_F(KeySystemConfigSelectorTest, EmptyConfig) {
// EME spec requires that at least one of |video_capabilities| and // EME spec requires that at least one of |video_capabilities| and
// |audio_capabilities| be specified. // |audio_capabilities| be specified.
configs_.push_back(EmptyConfiguration()); configs_.push_back(EmptyConfiguration());
ASSERT_TRUE(SelectConfigReturnsError()); SelectConfigReturnsError();
} }
// Most of the tests below assume that the the usable config is valid. // Most of the tests below assume that the the usable config is valid.
...@@ -346,26 +355,24 @@ TEST_F(KeySystemConfigSelectorTest, EmptyConfig) { ...@@ -346,26 +355,24 @@ TEST_F(KeySystemConfigSelectorTest, EmptyConfig) {
TEST_F(KeySystemConfigSelectorTest, UsableConfig) { TEST_F(KeySystemConfigSelectorTest, UsableConfig) {
configs_.push_back(UsableConfiguration()); configs_.push_back(UsableConfiguration());
ASSERT_TRUE(SelectConfigReturnsConfig()); SelectConfigReturnsConfig();
EXPECT_EQ("", config_.label); EXPECT_EQ("", config_.label);
EXPECT_TRUE(config_.init_data_types.IsEmpty()); EXPECT_TRUE(config_.init_data_types.IsEmpty());
EXPECT_EQ(1u, config_.audio_capabilities.size()); EXPECT_EQ(1u, config_.audio_capabilities.size());
EXPECT_TRUE(config_.video_capabilities.IsEmpty()); EXPECT_TRUE(config_.video_capabilities.IsEmpty());
EXPECT_EQ(blink::WebMediaKeySystemConfiguration::Requirement::kNotAllowed, EXPECT_EQ(MediaKeysRequirement::kNotAllowed, config_.distinctive_identifier);
config_.distinctive_identifier); EXPECT_EQ(MediaKeysRequirement::kNotAllowed, config_.persistent_state);
EXPECT_EQ(blink::WebMediaKeySystemConfiguration::Requirement::kNotAllowed,
config_.persistent_state);
ASSERT_EQ(1u, config_.session_types.size()); ASSERT_EQ(1u, config_.session_types.size());
EXPECT_EQ(blink::WebEncryptedMediaSessionType::kTemporary, EXPECT_EQ(blink::WebEncryptedMediaSessionType::kTemporary,
config_.session_types[0]); config_.session_types[0]);
} }
TEST_F(KeySystemConfigSelectorTest, Label) { TEST_F(KeySystemConfigSelectorTest, Label) {
blink::WebMediaKeySystemConfiguration config = UsableConfiguration(); auto config = UsableConfiguration();
config.label = "foo"; config.label = "foo";
configs_.push_back(config); configs_.push_back(config);
ASSERT_TRUE(SelectConfigReturnsConfig()); SelectConfigReturnsConfig();
EXPECT_EQ("foo", config_.label); EXPECT_EQ("foo", config_.label);
} }
...@@ -375,19 +382,19 @@ TEST_F(KeySystemConfigSelectorTest, Label) { ...@@ -375,19 +382,19 @@ TEST_F(KeySystemConfigSelectorTest, Label) {
TEST_F(KeySystemConfigSelectorTest, KeySystem_NonAscii) { TEST_F(KeySystemConfigSelectorTest, KeySystem_NonAscii) {
key_system_ = "\xde\xad\xbe\xef"; key_system_ = "\xde\xad\xbe\xef";
configs_.push_back(UsableConfiguration()); configs_.push_back(UsableConfiguration());
ASSERT_TRUE(SelectConfigReturnsError()); SelectConfigReturnsError();
} }
TEST_F(KeySystemConfigSelectorTest, KeySystem_Unsupported) { TEST_F(KeySystemConfigSelectorTest, KeySystem_Unsupported) {
key_system_ = kUnsupported; key_system_ = kUnsupportedKeySystem;
configs_.push_back(UsableConfiguration()); configs_.push_back(UsableConfiguration());
ASSERT_TRUE(SelectConfigReturnsError()); SelectConfigReturnsError();
} }
TEST_F(KeySystemConfigSelectorTest, KeySystem_ClearKey) { TEST_F(KeySystemConfigSelectorTest, KeySystem_ClearKey) {
key_system_ = kClearKey; key_system_ = kClearKeyKeySystem;
configs_.push_back(UsableConfiguration()); configs_.push_back(UsableConfiguration());
ASSERT_TRUE(SelectConfigReturnsConfig()); SelectConfigReturnsConfig();
} }
// --- Disable EncryptedMedia --- // --- Disable EncryptedMedia ---
...@@ -396,27 +403,27 @@ TEST_F(KeySystemConfigSelectorTest, EncryptedMediaDisabled_ClearKey) { ...@@ -396,27 +403,27 @@ TEST_F(KeySystemConfigSelectorTest, EncryptedMediaDisabled_ClearKey) {
media_permission_->is_encrypted_media_enabled = false; media_permission_->is_encrypted_media_enabled = false;
// Clear Key key system is always supported. // Clear Key key system is always supported.
key_system_ = kClearKey; key_system_ = kClearKeyKeySystem;
configs_.push_back(UsableConfiguration()); configs_.push_back(UsableConfiguration());
ASSERT_TRUE(SelectConfigReturnsConfig()); SelectConfigReturnsConfig();
} }
TEST_F(KeySystemConfigSelectorTest, EncryptedMediaDisabled_Supported) { TEST_F(KeySystemConfigSelectorTest, EncryptedMediaDisabled_Supported) {
media_permission_->is_encrypted_media_enabled = false; media_permission_->is_encrypted_media_enabled = false;
// Other key systems are not supported. // Other key systems are not supported.
key_system_ = kSupported; key_system_ = kSupportedKeySystem;
configs_.push_back(UsableConfiguration()); configs_.push_back(UsableConfiguration());
ASSERT_TRUE(SelectConfigReturnsError()); SelectConfigReturnsError();
} }
// --- initDataTypes --- // --- initDataTypes ---
TEST_F(KeySystemConfigSelectorTest, InitDataTypes_Empty) { TEST_F(KeySystemConfigSelectorTest, InitDataTypes_Empty) {
blink::WebMediaKeySystemConfiguration config = UsableConfiguration(); auto config = UsableConfiguration();
configs_.push_back(config); configs_.push_back(config);
ASSERT_TRUE(SelectConfigReturnsConfig()); SelectConfigReturnsConfig();
} }
TEST_F(KeySystemConfigSelectorTest, InitDataTypes_NoneSupported) { TEST_F(KeySystemConfigSelectorTest, InitDataTypes_NoneSupported) {
...@@ -426,11 +433,11 @@ TEST_F(KeySystemConfigSelectorTest, InitDataTypes_NoneSupported) { ...@@ -426,11 +433,11 @@ TEST_F(KeySystemConfigSelectorTest, InitDataTypes_NoneSupported) {
init_data_types.push_back(blink::WebEncryptedMediaInitDataType::kUnknown); init_data_types.push_back(blink::WebEncryptedMediaInitDataType::kUnknown);
init_data_types.push_back(blink::WebEncryptedMediaInitDataType::kCenc); init_data_types.push_back(blink::WebEncryptedMediaInitDataType::kCenc);
blink::WebMediaKeySystemConfiguration config = UsableConfiguration(); auto config = UsableConfiguration();
config.init_data_types = init_data_types; config.init_data_types = init_data_types;
configs_.push_back(config); configs_.push_back(config);
ASSERT_TRUE(SelectConfigReturnsError()); SelectConfigReturnsError();
} }
TEST_F(KeySystemConfigSelectorTest, InitDataTypes_SubsetSupported) { TEST_F(KeySystemConfigSelectorTest, InitDataTypes_SubsetSupported) {
...@@ -441,11 +448,11 @@ TEST_F(KeySystemConfigSelectorTest, InitDataTypes_SubsetSupported) { ...@@ -441,11 +448,11 @@ TEST_F(KeySystemConfigSelectorTest, InitDataTypes_SubsetSupported) {
init_data_types.push_back(blink::WebEncryptedMediaInitDataType::kCenc); init_data_types.push_back(blink::WebEncryptedMediaInitDataType::kCenc);
init_data_types.push_back(blink::WebEncryptedMediaInitDataType::kWebm); init_data_types.push_back(blink::WebEncryptedMediaInitDataType::kWebm);
blink::WebMediaKeySystemConfiguration config = UsableConfiguration(); auto config = UsableConfiguration();
config.init_data_types = init_data_types; config.init_data_types = init_data_types;
configs_.push_back(config); configs_.push_back(config);
ASSERT_TRUE(SelectConfigReturnsConfig()); SelectConfigReturnsConfig();
ASSERT_EQ(1u, config_.init_data_types.size()); ASSERT_EQ(1u, config_.init_data_types.size());
EXPECT_EQ(blink::WebEncryptedMediaInitDataType::kWebm, EXPECT_EQ(blink::WebEncryptedMediaInitDataType::kWebm,
config_.init_data_types[0]); config_.init_data_types[0]);
...@@ -456,65 +463,57 @@ TEST_F(KeySystemConfigSelectorTest, InitDataTypes_SubsetSupported) { ...@@ -456,65 +463,57 @@ TEST_F(KeySystemConfigSelectorTest, InitDataTypes_SubsetSupported) {
TEST_F(KeySystemConfigSelectorTest, DistinctiveIdentifier_Default) { TEST_F(KeySystemConfigSelectorTest, DistinctiveIdentifier_Default) {
key_systems_->distinctive_identifier = EmeFeatureSupport::REQUESTABLE; key_systems_->distinctive_identifier = EmeFeatureSupport::REQUESTABLE;
blink::WebMediaKeySystemConfiguration config = UsableConfiguration(); auto config = UsableConfiguration();
config.distinctive_identifier = config.distinctive_identifier = MediaKeysRequirement::kOptional;
blink::WebMediaKeySystemConfiguration::Requirement::kOptional;
configs_.push_back(config); configs_.push_back(config);
ASSERT_TRUE(SelectConfigReturnsConfig()); SelectConfigReturnsConfig();
EXPECT_EQ(blink::WebMediaKeySystemConfiguration::Requirement::kNotAllowed, EXPECT_EQ(MediaKeysRequirement::kNotAllowed, config_.distinctive_identifier);
config_.distinctive_identifier);
} }
TEST_F(KeySystemConfigSelectorTest, DistinctiveIdentifier_Forced) { TEST_F(KeySystemConfigSelectorTest, DistinctiveIdentifier_Forced) {
media_permission_->is_granted = true; media_permission_->is_granted = true;
key_systems_->distinctive_identifier = EmeFeatureSupport::ALWAYS_ENABLED; key_systems_->distinctive_identifier = EmeFeatureSupport::ALWAYS_ENABLED;
blink::WebMediaKeySystemConfiguration config = UsableConfiguration(); auto config = UsableConfiguration();
config.distinctive_identifier = config.distinctive_identifier = MediaKeysRequirement::kOptional;
blink::WebMediaKeySystemConfiguration::Requirement::kOptional;
configs_.push_back(config); configs_.push_back(config);
ASSERT_TRUE(SelectConfigRequestsPermissionAndReturnsConfig()); SelectConfigRequestsPermissionAndReturnsConfig();
EXPECT_EQ(blink::WebMediaKeySystemConfiguration::Requirement::kRequired, EXPECT_EQ(MediaKeysRequirement::kRequired, config_.distinctive_identifier);
config_.distinctive_identifier);
} }
TEST_F(KeySystemConfigSelectorTest, DistinctiveIdentifier_Blocked) { TEST_F(KeySystemConfigSelectorTest, DistinctiveIdentifier_Blocked) {
key_systems_->distinctive_identifier = EmeFeatureSupport::NOT_SUPPORTED; key_systems_->distinctive_identifier = EmeFeatureSupport::NOT_SUPPORTED;
blink::WebMediaKeySystemConfiguration config = UsableConfiguration(); auto config = UsableConfiguration();
config.distinctive_identifier = config.distinctive_identifier = MediaKeysRequirement::kRequired;
blink::WebMediaKeySystemConfiguration::Requirement::kRequired;
configs_.push_back(config); configs_.push_back(config);
ASSERT_TRUE(SelectConfigReturnsError()); SelectConfigReturnsError();
} }
TEST_F(KeySystemConfigSelectorTest, DistinctiveIdentifier_RequestsPermission) { TEST_F(KeySystemConfigSelectorTest, DistinctiveIdentifier_RequestsPermission) {
media_permission_->is_granted = true; media_permission_->is_granted = true;
key_systems_->distinctive_identifier = EmeFeatureSupport::REQUESTABLE; key_systems_->distinctive_identifier = EmeFeatureSupport::REQUESTABLE;
blink::WebMediaKeySystemConfiguration config = UsableConfiguration(); auto config = UsableConfiguration();
config.distinctive_identifier = config.distinctive_identifier = MediaKeysRequirement::kRequired;
blink::WebMediaKeySystemConfiguration::Requirement::kRequired;
configs_.push_back(config); configs_.push_back(config);
ASSERT_TRUE(SelectConfigRequestsPermissionAndReturnsConfig()); SelectConfigRequestsPermissionAndReturnsConfig();
EXPECT_EQ(blink::WebMediaKeySystemConfiguration::Requirement::kRequired, EXPECT_EQ(MediaKeysRequirement::kRequired, config_.distinctive_identifier);
config_.distinctive_identifier);
} }
TEST_F(KeySystemConfigSelectorTest, DistinctiveIdentifier_RespectsPermission) { TEST_F(KeySystemConfigSelectorTest, DistinctiveIdentifier_RespectsPermission) {
media_permission_->is_granted = false; media_permission_->is_granted = false;
key_systems_->distinctive_identifier = EmeFeatureSupport::REQUESTABLE; key_systems_->distinctive_identifier = EmeFeatureSupport::REQUESTABLE;
blink::WebMediaKeySystemConfiguration config = UsableConfiguration(); auto config = UsableConfiguration();
config.distinctive_identifier = config.distinctive_identifier = MediaKeysRequirement::kRequired;
blink::WebMediaKeySystemConfiguration::Requirement::kRequired;
configs_.push_back(config); configs_.push_back(config);
ASSERT_TRUE(SelectConfigRequestsPermissionAndReturnsError()); SelectConfigRequestsPermissionAndReturnsError();
} }
// --- persistentState --- // --- persistentState ---
...@@ -522,44 +521,39 @@ TEST_F(KeySystemConfigSelectorTest, DistinctiveIdentifier_RespectsPermission) { ...@@ -522,44 +521,39 @@ TEST_F(KeySystemConfigSelectorTest, DistinctiveIdentifier_RespectsPermission) {
TEST_F(KeySystemConfigSelectorTest, PersistentState_Default) { TEST_F(KeySystemConfigSelectorTest, PersistentState_Default) {
key_systems_->persistent_state = EmeFeatureSupport::REQUESTABLE; key_systems_->persistent_state = EmeFeatureSupport::REQUESTABLE;
blink::WebMediaKeySystemConfiguration config = UsableConfiguration(); auto config = UsableConfiguration();
config.persistent_state = config.persistent_state = MediaKeysRequirement::kOptional;
blink::WebMediaKeySystemConfiguration::Requirement::kOptional;
configs_.push_back(config); configs_.push_back(config);
ASSERT_TRUE(SelectConfigReturnsConfig()); SelectConfigReturnsConfig();
EXPECT_EQ(blink::WebMediaKeySystemConfiguration::Requirement::kNotAllowed, EXPECT_EQ(MediaKeysRequirement::kNotAllowed, config_.persistent_state);
config_.persistent_state);
} }
TEST_F(KeySystemConfigSelectorTest, PersistentState_Forced) { TEST_F(KeySystemConfigSelectorTest, PersistentState_Forced) {
key_systems_->persistent_state = EmeFeatureSupport::ALWAYS_ENABLED; key_systems_->persistent_state = EmeFeatureSupport::ALWAYS_ENABLED;
blink::WebMediaKeySystemConfiguration config = UsableConfiguration(); auto config = UsableConfiguration();
config.persistent_state = config.persistent_state = MediaKeysRequirement::kOptional;
blink::WebMediaKeySystemConfiguration::Requirement::kOptional;
configs_.push_back(config); configs_.push_back(config);
ASSERT_TRUE(SelectConfigReturnsConfig()); SelectConfigReturnsConfig();
EXPECT_EQ(blink::WebMediaKeySystemConfiguration::Requirement::kRequired, EXPECT_EQ(MediaKeysRequirement::kRequired, config_.persistent_state);
config_.persistent_state);
} }
TEST_F(KeySystemConfigSelectorTest, PersistentState_Blocked) { TEST_F(KeySystemConfigSelectorTest, PersistentState_Blocked) {
key_systems_->persistent_state = EmeFeatureSupport::ALWAYS_ENABLED; key_systems_->persistent_state = EmeFeatureSupport::ALWAYS_ENABLED;
blink::WebMediaKeySystemConfiguration config = UsableConfiguration(); auto config = UsableConfiguration();
config.persistent_state = config.persistent_state = MediaKeysRequirement::kNotAllowed;
blink::WebMediaKeySystemConfiguration::Requirement::kNotAllowed;
configs_.push_back(config); configs_.push_back(config);
ASSERT_TRUE(SelectConfigReturnsError()); SelectConfigReturnsError();
} }
// --- sessionTypes --- // --- sessionTypes ---
TEST_F(KeySystemConfigSelectorTest, SessionTypes_Empty) { TEST_F(KeySystemConfigSelectorTest, SessionTypes_Empty) {
blink::WebMediaKeySystemConfiguration config = UsableConfiguration(); auto config = UsableConfiguration();
// Usable configuration has [ "temporary" ]. // Usable configuration has [ "temporary" ].
std::vector<blink::WebEncryptedMediaSessionType> session_types; std::vector<blink::WebEncryptedMediaSessionType> session_types;
...@@ -567,7 +561,7 @@ TEST_F(KeySystemConfigSelectorTest, SessionTypes_Empty) { ...@@ -567,7 +561,7 @@ TEST_F(KeySystemConfigSelectorTest, SessionTypes_Empty) {
configs_.push_back(config); configs_.push_back(config);
ASSERT_TRUE(SelectConfigReturnsConfig()); SelectConfigReturnsConfig();
EXPECT_TRUE(config_.session_types.IsEmpty()); EXPECT_TRUE(config_.session_types.IsEmpty());
} }
...@@ -581,11 +575,11 @@ TEST_F(KeySystemConfigSelectorTest, SessionTypes_SubsetSupported) { ...@@ -581,11 +575,11 @@ TEST_F(KeySystemConfigSelectorTest, SessionTypes_SubsetSupported) {
session_types.push_back( session_types.push_back(
blink::WebEncryptedMediaSessionType::kPersistentLicense); blink::WebEncryptedMediaSessionType::kPersistentLicense);
blink::WebMediaKeySystemConfiguration config = UsableConfiguration(); auto config = UsableConfiguration();
config.session_types = session_types; config.session_types = session_types;
configs_.push_back(config); configs_.push_back(config);
ASSERT_TRUE(SelectConfigReturnsError()); SelectConfigReturnsError();
} }
TEST_F(KeySystemConfigSelectorTest, SessionTypes_AllSupported) { TEST_F(KeySystemConfigSelectorTest, SessionTypes_AllSupported) {
...@@ -598,15 +592,13 @@ TEST_F(KeySystemConfigSelectorTest, SessionTypes_AllSupported) { ...@@ -598,15 +592,13 @@ TEST_F(KeySystemConfigSelectorTest, SessionTypes_AllSupported) {
session_types.push_back( session_types.push_back(
blink::WebEncryptedMediaSessionType::kPersistentLicense); blink::WebEncryptedMediaSessionType::kPersistentLicense);
blink::WebMediaKeySystemConfiguration config = UsableConfiguration(); auto config = UsableConfiguration();
config.persistent_state = config.persistent_state = MediaKeysRequirement::kOptional;
blink::WebMediaKeySystemConfiguration::Requirement::kOptional;
config.session_types = session_types; config.session_types = session_types;
configs_.push_back(config); configs_.push_back(config);
ASSERT_TRUE(SelectConfigReturnsConfig()); SelectConfigReturnsConfig();
EXPECT_EQ(blink::WebMediaKeySystemConfiguration::Requirement::kRequired, EXPECT_EQ(MediaKeysRequirement::kRequired, config_.persistent_state);
config_.persistent_state);
ASSERT_EQ(2u, config_.session_types.size()); ASSERT_EQ(2u, config_.session_types.size());
EXPECT_EQ(blink::WebEncryptedMediaSessionType::kTemporary, EXPECT_EQ(blink::WebEncryptedMediaSessionType::kTemporary,
config_.session_types[0]); config_.session_types[0]);
...@@ -625,26 +617,23 @@ TEST_F(KeySystemConfigSelectorTest, SessionTypes_PermissionCanBeRequired) { ...@@ -625,26 +617,23 @@ TEST_F(KeySystemConfigSelectorTest, SessionTypes_PermissionCanBeRequired) {
session_types.push_back( session_types.push_back(
blink::WebEncryptedMediaSessionType::kPersistentLicense); blink::WebEncryptedMediaSessionType::kPersistentLicense);
blink::WebMediaKeySystemConfiguration config = UsableConfiguration(); auto config = UsableConfiguration();
config.distinctive_identifier = config.distinctive_identifier = MediaKeysRequirement::kOptional;
blink::WebMediaKeySystemConfiguration::Requirement::kOptional; config.persistent_state = MediaKeysRequirement::kOptional;
config.persistent_state =
blink::WebMediaKeySystemConfiguration::Requirement::kOptional;
config.session_types = session_types; config.session_types = session_types;
configs_.push_back(config); configs_.push_back(config);
ASSERT_TRUE(SelectConfigRequestsPermissionAndReturnsConfig()); SelectConfigRequestsPermissionAndReturnsConfig();
EXPECT_EQ(blink::WebMediaKeySystemConfiguration::Requirement::kRequired, EXPECT_EQ(MediaKeysRequirement::kRequired, config_.distinctive_identifier);
config_.distinctive_identifier);
} }
// --- videoCapabilities --- // --- videoCapabilities ---
TEST_F(KeySystemConfigSelectorTest, VideoCapabilities_Empty) { TEST_F(KeySystemConfigSelectorTest, VideoCapabilities_Empty) {
blink::WebMediaKeySystemConfiguration config = UsableConfiguration(); auto config = UsableConfiguration();
configs_.push_back(config); configs_.push_back(config);
ASSERT_TRUE(SelectConfigReturnsConfig()); SelectConfigReturnsConfig();
} }
TEST_F(KeySystemConfigSelectorTest, VideoCapabilities_NoneSupported) { TEST_F(KeySystemConfigSelectorTest, VideoCapabilities_NoneSupported) {
...@@ -655,11 +644,11 @@ TEST_F(KeySystemConfigSelectorTest, VideoCapabilities_NoneSupported) { ...@@ -655,11 +644,11 @@ TEST_F(KeySystemConfigSelectorTest, VideoCapabilities_NoneSupported) {
video_capabilities[1].mime_type = kSupportedVideoContainer; video_capabilities[1].mime_type = kSupportedVideoContainer;
video_capabilities[1].codecs = kUnsupportedCodec; video_capabilities[1].codecs = kUnsupportedCodec;
blink::WebMediaKeySystemConfiguration config = EmptyConfiguration(); auto config = EmptyConfiguration();
config.video_capabilities = video_capabilities; config.video_capabilities = video_capabilities;
configs_.push_back(config); configs_.push_back(config);
ASSERT_TRUE(SelectConfigReturnsError()); SelectConfigReturnsError();
} }
TEST_F(KeySystemConfigSelectorTest, VideoCapabilities_SubsetSupported) { TEST_F(KeySystemConfigSelectorTest, VideoCapabilities_SubsetSupported) {
...@@ -670,11 +659,11 @@ TEST_F(KeySystemConfigSelectorTest, VideoCapabilities_SubsetSupported) { ...@@ -670,11 +659,11 @@ TEST_F(KeySystemConfigSelectorTest, VideoCapabilities_SubsetSupported) {
video_capabilities[1].mime_type = kSupportedVideoContainer; video_capabilities[1].mime_type = kSupportedVideoContainer;
video_capabilities[1].codecs = kSupportedVideoCodec; video_capabilities[1].codecs = kSupportedVideoCodec;
blink::WebMediaKeySystemConfiguration config = EmptyConfiguration(); auto config = EmptyConfiguration();
config.video_capabilities = video_capabilities; config.video_capabilities = video_capabilities;
configs_.push_back(config); configs_.push_back(config);
ASSERT_TRUE(SelectConfigReturnsConfig()); SelectConfigReturnsConfig();
ASSERT_EQ(1u, config_.video_capabilities.size()); ASSERT_EQ(1u, config_.video_capabilities.size());
EXPECT_EQ("b", config_.video_capabilities[0].content_type); EXPECT_EQ("b", config_.video_capabilities[0].content_type);
EXPECT_EQ(kSupportedVideoContainer, config_.video_capabilities[0].mime_type); EXPECT_EQ(kSupportedVideoContainer, config_.video_capabilities[0].mime_type);
...@@ -689,11 +678,11 @@ TEST_F(KeySystemConfigSelectorTest, VideoCapabilities_AllSupported) { ...@@ -689,11 +678,11 @@ TEST_F(KeySystemConfigSelectorTest, VideoCapabilities_AllSupported) {
video_capabilities[1].mime_type = kSupportedVideoContainer; video_capabilities[1].mime_type = kSupportedVideoContainer;
video_capabilities[1].codecs = kSupportedVideoCodecs; video_capabilities[1].codecs = kSupportedVideoCodecs;
blink::WebMediaKeySystemConfiguration config = EmptyConfiguration(); auto config = EmptyConfiguration();
config.video_capabilities = video_capabilities; config.video_capabilities = video_capabilities;
configs_.push_back(config); configs_.push_back(config);
ASSERT_TRUE(SelectConfigReturnsConfig()); SelectConfigReturnsConfig();
ASSERT_EQ(2u, config_.video_capabilities.size()); ASSERT_EQ(2u, config_.video_capabilities.size());
EXPECT_EQ("a", config_.video_capabilities[0].content_type); EXPECT_EQ("a", config_.video_capabilities[0].content_type);
EXPECT_EQ("b", config_.video_capabilities[1].content_type); EXPECT_EQ("b", config_.video_capabilities[1].content_type);
...@@ -706,11 +695,11 @@ TEST_F(KeySystemConfigSelectorTest, ...@@ -706,11 +695,11 @@ TEST_F(KeySystemConfigSelectorTest,
video_capabilities[0].mime_type = kSupportedVideoContainer; video_capabilities[0].mime_type = kSupportedVideoContainer;
video_capabilities[0].codecs = kUnsupportedCodecs; video_capabilities[0].codecs = kUnsupportedCodecs;
blink::WebMediaKeySystemConfiguration config = EmptyConfiguration(); auto config = EmptyConfiguration();
config.video_capabilities = video_capabilities; config.video_capabilities = video_capabilities;
configs_.push_back(config); configs_.push_back(config);
ASSERT_TRUE(SelectConfigReturnsError()); SelectConfigReturnsError();
} }
TEST_F(KeySystemConfigSelectorTest, VideoCapabilities_Codecs_AllSupported) { TEST_F(KeySystemConfigSelectorTest, VideoCapabilities_Codecs_AllSupported) {
...@@ -719,11 +708,11 @@ TEST_F(KeySystemConfigSelectorTest, VideoCapabilities_Codecs_AllSupported) { ...@@ -719,11 +708,11 @@ TEST_F(KeySystemConfigSelectorTest, VideoCapabilities_Codecs_AllSupported) {
video_capabilities[0].mime_type = kSupportedVideoContainer; video_capabilities[0].mime_type = kSupportedVideoContainer;
video_capabilities[0].codecs = kSupportedVideoCodecs; video_capabilities[0].codecs = kSupportedVideoCodecs;
blink::WebMediaKeySystemConfiguration config = EmptyConfiguration(); auto config = EmptyConfiguration();
config.video_capabilities = video_capabilities; config.video_capabilities = video_capabilities;
configs_.push_back(config); configs_.push_back(config);
ASSERT_TRUE(SelectConfigReturnsConfig()); SelectConfigReturnsConfig();
ASSERT_EQ(1u, config_.video_capabilities.size()); ASSERT_EQ(1u, config_.video_capabilities.size());
EXPECT_EQ(kSupportedVideoCodecs, config_.video_capabilities[0].codecs); EXPECT_EQ(kSupportedVideoCodecs, config_.video_capabilities[0].codecs);
} }
...@@ -733,11 +722,11 @@ TEST_F(KeySystemConfigSelectorTest, VideoCapabilities_Missing_Codecs) { ...@@ -733,11 +722,11 @@ TEST_F(KeySystemConfigSelectorTest, VideoCapabilities_Missing_Codecs) {
video_capabilities[0].content_type = "a"; video_capabilities[0].content_type = "a";
video_capabilities[0].mime_type = kSupportedVideoContainer; video_capabilities[0].mime_type = kSupportedVideoContainer;
blink::WebMediaKeySystemConfiguration config = EmptyConfiguration(); auto config = EmptyConfiguration();
config.video_capabilities = video_capabilities; config.video_capabilities = video_capabilities;
configs_.push_back(config); configs_.push_back(config);
ASSERT_TRUE(SelectConfigReturnsError()); SelectConfigReturnsError();
} }
TEST_F(KeySystemConfigSelectorTest, VideoCapabilities_Robustness_Empty) { TEST_F(KeySystemConfigSelectorTest, VideoCapabilities_Robustness_Empty) {
...@@ -747,11 +736,11 @@ TEST_F(KeySystemConfigSelectorTest, VideoCapabilities_Robustness_Empty) { ...@@ -747,11 +736,11 @@ TEST_F(KeySystemConfigSelectorTest, VideoCapabilities_Robustness_Empty) {
video_capabilities[0].codecs = kSupportedVideoCodec; video_capabilities[0].codecs = kSupportedVideoCodec;
ASSERT_TRUE(video_capabilities[0].robustness.IsEmpty()); ASSERT_TRUE(video_capabilities[0].robustness.IsEmpty());
blink::WebMediaKeySystemConfiguration config = EmptyConfiguration(); auto config = EmptyConfiguration();
config.video_capabilities = video_capabilities; config.video_capabilities = video_capabilities;
configs_.push_back(config); configs_.push_back(config);
ASSERT_TRUE(SelectConfigReturnsConfig()); SelectConfigReturnsConfig();
ASSERT_EQ(1u, config_.video_capabilities.size()); ASSERT_EQ(1u, config_.video_capabilities.size());
EXPECT_TRUE(config_.video_capabilities[0].robustness.IsEmpty()); EXPECT_TRUE(config_.video_capabilities[0].robustness.IsEmpty());
} }
...@@ -761,15 +750,15 @@ TEST_F(KeySystemConfigSelectorTest, VideoCapabilities_Robustness_Supported) { ...@@ -761,15 +750,15 @@ TEST_F(KeySystemConfigSelectorTest, VideoCapabilities_Robustness_Supported) {
video_capabilities[0].content_type = "a"; video_capabilities[0].content_type = "a";
video_capabilities[0].mime_type = kSupportedVideoContainer; video_capabilities[0].mime_type = kSupportedVideoContainer;
video_capabilities[0].codecs = kSupportedVideoCodec; video_capabilities[0].codecs = kSupportedVideoCodec;
video_capabilities[0].robustness = kSupported; video_capabilities[0].robustness = kSupportedRobustness;
blink::WebMediaKeySystemConfiguration config = EmptyConfiguration(); auto config = EmptyConfiguration();
config.video_capabilities = video_capabilities; config.video_capabilities = video_capabilities;
configs_.push_back(config); configs_.push_back(config);
ASSERT_TRUE(SelectConfigReturnsConfig()); SelectConfigReturnsConfig();
ASSERT_EQ(1u, config_.video_capabilities.size()); ASSERT_EQ(1u, config_.video_capabilities.size());
EXPECT_EQ(kSupported, config_.video_capabilities[0].robustness); EXPECT_EQ(kSupportedRobustness, config_.video_capabilities[0].robustness);
} }
TEST_F(KeySystemConfigSelectorTest, VideoCapabilities_Robustness_Unsupported) { TEST_F(KeySystemConfigSelectorTest, VideoCapabilities_Robustness_Unsupported) {
...@@ -777,13 +766,13 @@ TEST_F(KeySystemConfigSelectorTest, VideoCapabilities_Robustness_Unsupported) { ...@@ -777,13 +766,13 @@ TEST_F(KeySystemConfigSelectorTest, VideoCapabilities_Robustness_Unsupported) {
video_capabilities[0].content_type = "a"; video_capabilities[0].content_type = "a";
video_capabilities[0].mime_type = kSupportedVideoContainer; video_capabilities[0].mime_type = kSupportedVideoContainer;
video_capabilities[0].codecs = kSupportedVideoCodec; video_capabilities[0].codecs = kSupportedVideoCodec;
video_capabilities[0].robustness = kUnsupported; video_capabilities[0].robustness = kUnsupportedRobustness;
blink::WebMediaKeySystemConfiguration config = EmptyConfiguration(); auto config = EmptyConfiguration();
config.video_capabilities = video_capabilities; config.video_capabilities = video_capabilities;
configs_.push_back(config); configs_.push_back(config);
ASSERT_TRUE(SelectConfigReturnsError()); SelectConfigReturnsError();
} }
TEST_F(KeySystemConfigSelectorTest, TEST_F(KeySystemConfigSelectorTest,
...@@ -795,15 +784,14 @@ TEST_F(KeySystemConfigSelectorTest, ...@@ -795,15 +784,14 @@ TEST_F(KeySystemConfigSelectorTest,
video_capabilities[0].content_type = "a"; video_capabilities[0].content_type = "a";
video_capabilities[0].mime_type = kSupportedVideoContainer; video_capabilities[0].mime_type = kSupportedVideoContainer;
video_capabilities[0].codecs = kSupportedVideoCodec; video_capabilities[0].codecs = kSupportedVideoCodec;
video_capabilities[0].robustness = kRequireIdentifier; video_capabilities[0].robustness = kRequireIdentifierRobustness;
blink::WebMediaKeySystemConfiguration config = EmptyConfiguration(); auto config = EmptyConfiguration();
config.video_capabilities = video_capabilities; config.video_capabilities = video_capabilities;
configs_.push_back(config); configs_.push_back(config);
ASSERT_TRUE(SelectConfigRequestsPermissionAndReturnsConfig()); SelectConfigRequestsPermissionAndReturnsConfig();
EXPECT_EQ(blink::WebMediaKeySystemConfiguration::Requirement::kRequired, EXPECT_EQ(MediaKeysRequirement::kRequired, config_.distinctive_identifier);
config_.distinctive_identifier);
} }
TEST_F(KeySystemConfigSelectorTest, TEST_F(KeySystemConfigSelectorTest,
...@@ -815,15 +803,14 @@ TEST_F(KeySystemConfigSelectorTest, ...@@ -815,15 +803,14 @@ TEST_F(KeySystemConfigSelectorTest,
video_capabilities[0].content_type = "a"; video_capabilities[0].content_type = "a";
video_capabilities[0].mime_type = kSupportedVideoContainer; video_capabilities[0].mime_type = kSupportedVideoContainer;
video_capabilities[0].codecs = kSupportedVideoCodec; video_capabilities[0].codecs = kSupportedVideoCodec;
video_capabilities[0].robustness = kRecommendIdentifier; video_capabilities[0].robustness = kRecommendIdentifierRobustness;
blink::WebMediaKeySystemConfiguration config = EmptyConfiguration(); auto config = EmptyConfiguration();
config.video_capabilities = video_capabilities; config.video_capabilities = video_capabilities;
configs_.push_back(config); configs_.push_back(config);
ASSERT_TRUE(SelectConfigRequestsPermissionAndReturnsConfig()); SelectConfigRequestsPermissionAndReturnsConfig();
EXPECT_EQ(blink::WebMediaKeySystemConfiguration::Requirement::kNotAllowed, EXPECT_EQ(MediaKeysRequirement::kNotAllowed, config_.distinctive_identifier);
config_.distinctive_identifier);
} }
// --- audioCapabilities --- // --- audioCapabilities ---
...@@ -838,11 +825,11 @@ TEST_F(KeySystemConfigSelectorTest, AudioCapabilities_SubsetSupported) { ...@@ -838,11 +825,11 @@ TEST_F(KeySystemConfigSelectorTest, AudioCapabilities_SubsetSupported) {
audio_capabilities[1].mime_type = kSupportedAudioContainer; audio_capabilities[1].mime_type = kSupportedAudioContainer;
audio_capabilities[1].codecs = kSupportedAudioCodec; audio_capabilities[1].codecs = kSupportedAudioCodec;
blink::WebMediaKeySystemConfiguration config = EmptyConfiguration(); auto config = EmptyConfiguration();
config.audio_capabilities = audio_capabilities; config.audio_capabilities = audio_capabilities;
configs_.push_back(config); configs_.push_back(config);
ASSERT_TRUE(SelectConfigReturnsConfig()); SelectConfigReturnsConfig();
ASSERT_EQ(1u, config_.audio_capabilities.size()); ASSERT_EQ(1u, config_.audio_capabilities.size());
EXPECT_EQ("b", config_.audio_capabilities[0].content_type); EXPECT_EQ("b", config_.audio_capabilities[0].content_type);
EXPECT_EQ(kSupportedAudioContainer, config_.audio_capabilities[0].mime_type); EXPECT_EQ(kSupportedAudioContainer, config_.audio_capabilities[0].mime_type);
...@@ -851,29 +838,29 @@ TEST_F(KeySystemConfigSelectorTest, AudioCapabilities_SubsetSupported) { ...@@ -851,29 +838,29 @@ TEST_F(KeySystemConfigSelectorTest, AudioCapabilities_SubsetSupported) {
// --- Multiple configurations --- // --- Multiple configurations ---
TEST_F(KeySystemConfigSelectorTest, Configurations_AllSupported) { TEST_F(KeySystemConfigSelectorTest, Configurations_AllSupported) {
blink::WebMediaKeySystemConfiguration config = UsableConfiguration(); auto config = UsableConfiguration();
config.label = "a"; config.label = "a";
configs_.push_back(config); configs_.push_back(config);
config.label = "b"; config.label = "b";
configs_.push_back(config); configs_.push_back(config);
ASSERT_TRUE(SelectConfigReturnsConfig()); SelectConfigReturnsConfig();
ASSERT_EQ("a", config_.label); ASSERT_EQ("a", config_.label);
} }
TEST_F(KeySystemConfigSelectorTest, Configurations_SubsetSupported) { TEST_F(KeySystemConfigSelectorTest, Configurations_SubsetSupported) {
blink::WebMediaKeySystemConfiguration config1 = UsableConfiguration(); auto config1 = UsableConfiguration();
config1.label = "a"; config1.label = "a";
std::vector<blink::WebEncryptedMediaInitDataType> init_data_types; std::vector<blink::WebEncryptedMediaInitDataType> init_data_types;
init_data_types.push_back(blink::WebEncryptedMediaInitDataType::kUnknown); init_data_types.push_back(blink::WebEncryptedMediaInitDataType::kUnknown);
config1.init_data_types = init_data_types; config1.init_data_types = init_data_types;
configs_.push_back(config1); configs_.push_back(config1);
blink::WebMediaKeySystemConfiguration config2 = UsableConfiguration(); auto config2 = UsableConfiguration();
config2.label = "b"; config2.label = "b";
configs_.push_back(config2); configs_.push_back(config2);
ASSERT_TRUE(SelectConfigReturnsConfig()); SelectConfigReturnsConfig();
ASSERT_EQ("b", config_.label); ASSERT_EQ("b", config_.label);
} }
...@@ -882,17 +869,16 @@ TEST_F(KeySystemConfigSelectorTest, ...@@ -882,17 +869,16 @@ TEST_F(KeySystemConfigSelectorTest,
media_permission_->is_granted = true; media_permission_->is_granted = true;
key_systems_->distinctive_identifier = EmeFeatureSupport::REQUESTABLE; key_systems_->distinctive_identifier = EmeFeatureSupport::REQUESTABLE;
blink::WebMediaKeySystemConfiguration config1 = UsableConfiguration(); auto config1 = UsableConfiguration();
config1.label = "a"; config1.label = "a";
config1.distinctive_identifier = config1.distinctive_identifier = MediaKeysRequirement::kRequired;
blink::WebMediaKeySystemConfiguration::Requirement::kRequired;
configs_.push_back(config1); configs_.push_back(config1);
blink::WebMediaKeySystemConfiguration config2 = UsableConfiguration(); auto config2 = UsableConfiguration();
config2.label = "b"; config2.label = "b";
configs_.push_back(config2); configs_.push_back(config2);
ASSERT_TRUE(SelectConfigRequestsPermissionAndReturnsConfig()); SelectConfigRequestsPermissionAndReturnsConfig();
ASSERT_EQ("a", config_.label); ASSERT_EQ("a", config_.label);
} }
...@@ -901,17 +887,16 @@ TEST_F(KeySystemConfigSelectorTest, ...@@ -901,17 +887,16 @@ TEST_F(KeySystemConfigSelectorTest,
media_permission_->is_granted = false; media_permission_->is_granted = false;
key_systems_->distinctive_identifier = EmeFeatureSupport::REQUESTABLE; key_systems_->distinctive_identifier = EmeFeatureSupport::REQUESTABLE;
blink::WebMediaKeySystemConfiguration config1 = UsableConfiguration(); auto config1 = UsableConfiguration();
config1.label = "a"; config1.label = "a";
config1.distinctive_identifier = config1.distinctive_identifier = MediaKeysRequirement::kRequired;
blink::WebMediaKeySystemConfiguration::Requirement::kRequired;
configs_.push_back(config1); configs_.push_back(config1);
blink::WebMediaKeySystemConfiguration config2 = UsableConfiguration(); auto config2 = UsableConfiguration();
config2.label = "b"; config2.label = "b";
configs_.push_back(config2); configs_.push_back(config2);
ASSERT_TRUE(SelectConfigRequestsPermissionAndReturnsConfig()); SelectConfigRequestsPermissionAndReturnsConfig();
ASSERT_EQ("b", config_.label); ASSERT_EQ("b", config_.label);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment