| Index: chromeos/display/output_configurator_unittest.cc
|
| diff --git a/chromeos/display/output_configurator_unittest.cc b/chromeos/display/output_configurator_unittest.cc
|
| index c253270ac49f5e942b9615b6b7881ce0eeedd53d..7c74bd32b2422dfa87213eac44aa53e03172336d 100644
|
| --- a/chromeos/display/output_configurator_unittest.cc
|
| +++ b/chromeos/display/output_configurator_unittest.cc
|
| @@ -787,6 +787,47 @@ TEST_F(OutputConfiguratorTest, SetDisplayPower) {
|
| EXPECT_EQ(1, observer_.num_changes());
|
| }
|
|
|
| +TEST_F(OutputConfiguratorTest, Casting) {
|
| + InitWithSingleOutput();
|
| +
|
| + // Notify configurator that casting session is started.
|
| + configurator_.OnCastingSessionStartedOrStopped(true);
|
| + EXPECT_EQ(kProjectingOn, delegate_->GetActionsAndClear());
|
| +
|
| + // Verify that the configurator keeps a count of active casting sessions
|
| + // instead of treating it as a single global state.
|
| + configurator_.OnCastingSessionStartedOrStopped(true);
|
| + EXPECT_EQ(kProjectingOn, delegate_->GetActionsAndClear());
|
| + configurator_.OnCastingSessionStartedOrStopped(false);
|
| + EXPECT_EQ(kProjectingOn, delegate_->GetActionsAndClear());
|
| +
|
| + // Turn all displays off and check that projecting is not turned off.
|
| + configurator_.SetDisplayPower(DISPLAY_POWER_ALL_OFF,
|
| + OutputConfigurator::kSetDisplayPowerNoFlags);
|
| + EXPECT_EQ(JoinActions(kGrab,
|
| + GetFramebufferAction(kSmallModeWidth, kSmallModeHeight,
|
| + outputs_[0].crtc, 0).c_str(),
|
| + GetCrtcAction(outputs_[0].crtc, 0, 0, 0,
|
| + outputs_[0].output).c_str(),
|
| + kUngrab, NULL),
|
| + delegate_->GetActionsAndClear());
|
| +
|
| + // Turn all displays back on.
|
| + configurator_.SetDisplayPower(DISPLAY_POWER_ALL_ON,
|
| + OutputConfigurator::kSetDisplayPowerNoFlags);
|
| + EXPECT_EQ(JoinActions(kGrab,
|
| + GetFramebufferAction(kSmallModeWidth, kSmallModeHeight,
|
| + outputs_[0].crtc, 0).c_str(),
|
| + GetCrtcAction(outputs_[0].crtc, 0, 0, kSmallModeId,
|
| + outputs_[0].output).c_str(),
|
| + kForceDPMS, kUngrab, NULL),
|
| + delegate_->GetActionsAndClear());
|
| +
|
| + // Notify configurator that casting session is ended.
|
| + configurator_.OnCastingSessionStartedOrStopped(false);
|
| + EXPECT_EQ(kProjectingOff, delegate_->GetActionsAndClear());
|
| +}
|
| +
|
| TEST_F(OutputConfiguratorTest, SuspendAndResume) {
|
| InitWithSingleOutput();
|
|
|
|
|