summaryrefslogtreecommitdiffstats
path: root/chromeos/display/output_configurator_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromeos/display/output_configurator_unittest.cc')
-rw-r--r--chromeos/display/output_configurator_unittest.cc45
1 files changed, 32 insertions, 13 deletions
diff --git a/chromeos/display/output_configurator_unittest.cc b/chromeos/display/output_configurator_unittest.cc
index 4e23345..28f0553 100644
--- a/chromeos/display/output_configurator_unittest.cc
+++ b/chromeos/display/output_configurator_unittest.cc
@@ -358,6 +358,7 @@ class OutputConfiguratorTest : public testing::Test {
o->is_aspect_preserving_scaling = true;
o->mode_infos[kSmallModeId] = small_mode_info;
o->has_display_id = true;
+ o->display_id = 123;
o->index = 0;
o = &outputs_[1];
@@ -371,6 +372,7 @@ class OutputConfiguratorTest : public testing::Test {
o->mode_infos[kSmallModeId] = small_mode_info;
o->mode_infos[kBigModeId] = big_mode_info;
o->has_display_id = true;
+ o->display_id = 456;
o->index = 1;
UpdateOutputs(2, false);
@@ -1120,7 +1122,9 @@ TEST_F(OutputConfiguratorTest, OutputProtection) {
EXPECT_NE(kNoActions, delegate_->GetActionsAndClear());
uint32_t link_mask = 0;
uint32_t protection_mask = 0;
- EXPECT_TRUE(configurator_.QueryOutputProtectionStatus(id, &link_mask,
+ EXPECT_TRUE(configurator_.QueryOutputProtectionStatus(id,
+ outputs_[0].display_id,
+ &link_mask,
&protection_mask));
EXPECT_EQ(static_cast<uint32_t>(OUTPUT_TYPE_INTERNAL), link_mask);
EXPECT_EQ(static_cast<uint32_t>(OUTPUT_PROTECTION_METHOD_NONE),
@@ -1130,28 +1134,38 @@ TEST_F(OutputConfiguratorTest, OutputProtection) {
// Two outputs.
UpdateOutputs(2, true);
EXPECT_NE(kNoActions, delegate_->GetActionsAndClear());
- EXPECT_TRUE(configurator_.QueryOutputProtectionStatus(id, &link_mask,
+ EXPECT_TRUE(configurator_.QueryOutputProtectionStatus(id,
+ outputs_[1].display_id,
+ &link_mask,
&protection_mask));
- EXPECT_EQ(static_cast<uint32_t>(OUTPUT_TYPE_INTERNAL | OUTPUT_TYPE_HDMI),
+ EXPECT_EQ(static_cast<uint32_t>(OUTPUT_TYPE_HDMI),
link_mask);
EXPECT_EQ(static_cast<uint32_t>(OUTPUT_PROTECTION_METHOD_NONE),
protection_mask);
EXPECT_EQ(kNoActions, delegate_->GetActionsAndClear());
EXPECT_TRUE(
- configurator_.EnableOutputProtection(id, OUTPUT_PROTECTION_METHOD_HDCP));
+ configurator_.EnableOutputProtection(id,
+ outputs_[1].display_id,
+ OUTPUT_PROTECTION_METHOD_HDCP));
EXPECT_EQ(GetSetHDCPStateAction(outputs_[1].output, HDCP_STATE_DESIRED),
delegate_->GetActionsAndClear());
// Enable protection.
delegate_->set_hdcp_state(HDCP_STATE_ENABLED);
- EXPECT_TRUE(configurator_.QueryOutputProtectionStatus(id, &link_mask,
+ EXPECT_TRUE(configurator_.QueryOutputProtectionStatus(id,
+ outputs_[1].display_id,
+ &link_mask,
&protection_mask));
- EXPECT_EQ(static_cast<uint32_t>(OUTPUT_TYPE_INTERNAL | OUTPUT_TYPE_HDMI),
- link_mask);
+ EXPECT_EQ(static_cast<uint32_t>(OUTPUT_TYPE_HDMI), link_mask);
EXPECT_EQ(static_cast<uint32_t>(OUTPUT_PROTECTION_METHOD_HDCP),
protection_mask);
EXPECT_EQ(kNoActions, delegate_->GetActionsAndClear());
+
+ // Protections should be disabled after unregister.
+ configurator_.UnregisterOutputProtectionClient(id);
+ EXPECT_EQ(GetSetHDCPStateAction(outputs_[1].output, HDCP_STATE_UNDESIRED),
+ delegate_->GetActionsAndClear());
}
TEST_F(OutputConfiguratorTest, OutputProtectionTwoClients) {
@@ -1169,6 +1183,7 @@ TEST_F(OutputConfiguratorTest, OutputProtectionTwoClients) {
// Clients never know state enableness for methods that they didn't request.
EXPECT_TRUE(
configurator_.EnableOutputProtection(client1,
+ outputs_[1].display_id,
OUTPUT_PROTECTION_METHOD_HDCP));
EXPECT_EQ(GetSetHDCPStateAction(outputs_[1].output,
HDCP_STATE_DESIRED).c_str(),
@@ -1177,27 +1192,31 @@ TEST_F(OutputConfiguratorTest, OutputProtectionTwoClients) {
uint32_t link_mask = 0;
uint32_t protection_mask = 0;
- EXPECT_TRUE(configurator_.QueryOutputProtectionStatus(client1, &link_mask,
+ EXPECT_TRUE(configurator_.QueryOutputProtectionStatus(client1,
+ outputs_[1].display_id,
+ &link_mask,
&protection_mask));
- EXPECT_EQ(static_cast<uint32_t>(OUTPUT_TYPE_INTERNAL | OUTPUT_TYPE_HDMI),
- link_mask);
+ EXPECT_EQ(static_cast<uint32_t>(OUTPUT_TYPE_HDMI), link_mask);
EXPECT_EQ(OUTPUT_PROTECTION_METHOD_HDCP, protection_mask);
- EXPECT_TRUE(configurator_.QueryOutputProtectionStatus(client2, &link_mask,
+ EXPECT_TRUE(configurator_.QueryOutputProtectionStatus(client2,
+ outputs_[1].display_id,
+ &link_mask,
&protection_mask));
- EXPECT_EQ(static_cast<uint32_t>(OUTPUT_TYPE_INTERNAL | OUTPUT_TYPE_HDMI),
- link_mask);
+ EXPECT_EQ(static_cast<uint32_t>(OUTPUT_TYPE_HDMI), link_mask);
EXPECT_EQ(OUTPUT_PROTECTION_METHOD_NONE, protection_mask);
// Protections will be disabled only if no more clients request them.
EXPECT_TRUE(
configurator_.EnableOutputProtection(client2,
+ outputs_[1].display_id,
OUTPUT_PROTECTION_METHOD_NONE));
EXPECT_EQ(GetSetHDCPStateAction(outputs_[1].output,
HDCP_STATE_DESIRED).c_str(),
delegate_->GetActionsAndClear());
EXPECT_TRUE(
configurator_.EnableOutputProtection(client1,
+ outputs_[1].display_id,
OUTPUT_PROTECTION_METHOD_NONE));
EXPECT_EQ(GetSetHDCPStateAction(outputs_[1].output,
HDCP_STATE_UNDESIRED).c_str(),