Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2645)

Unified Diff: ash/wm/maximize_mode/maximize_mode_controller_unittest.cc

Issue 289583002: Lock rotation when screen is manually rotated. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Define sources for rotation Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ash/wm/maximize_mode/maximize_mode_controller_unittest.cc
diff --git a/ash/wm/maximize_mode/maximize_mode_controller_unittest.cc b/ash/wm/maximize_mode/maximize_mode_controller_unittest.cc
index 3dcd076fc8dfb3c23e3921196d896558f99c65b2..a1a9895511a0972d0ea6bc2a7d5e514941869797 100644
--- a/ash/wm/maximize_mode/maximize_mode_controller_unittest.cc
+++ b/ash/wm/maximize_mode/maximize_mode_controller_unittest.cc
@@ -152,7 +152,7 @@ TEST_F(MaximizeModeControllerTest, EnterExitThresholds) {
// Tests that when the hinge is nearly vertically aligned, the current state
// persists as the computed angle is highly inaccurate in this orientation.
TEST_F(MaximizeModeControllerTest, HingeAligned) {
- // Laptop in normal orientation lid open 90 degrees.
+ // Laptop in normal orientation lid open 90 degrees.
TriggerAccelerometerUpdate(gfx::Vector3dF(0.0f, 0.0f, 1.0f),
gfx::Vector3dF(-1.0f, 0.0f, 0.0f));
EXPECT_FALSE(IsMaximizeModeStarted());
@@ -313,7 +313,7 @@ TEST_F(MaximizeModeControllerTest, BlocksKeyboard) {
EXPECT_EQ(0u, counter.event_count());
counter.reset();
- // Touch should not be blocked.
+ // Touch should not be blocked.
event_generator.PressTouch();
event_generator.ReleaseTouch();
EXPECT_GT(counter.event_count(), 0u);
@@ -393,7 +393,7 @@ TEST_F(MaximizeModeControllerTest, LaptopTest) {
// Feeds in sample accelerometer data and verifies that there are no
// transitions into touchview / maximize mode while shaking the device around
// with the hinge at less than 180 degrees.
- ASSERT_TRUE(kAccelerometerLaptopModeTestDataLength % 6 == 0);
+ ASSERT_EQ(0u, kAccelerometerLaptopModeTestDataLength % 6);
for (size_t i = 0; i < kAccelerometerLaptopModeTestDataLength / 6; ++i) {
gfx::Vector3dF base(kAccelerometerLaptopModeTestData[i * 6],
kAccelerometerLaptopModeTestData[i * 6 + 1],
@@ -417,7 +417,7 @@ TEST_F(MaximizeModeControllerTest, MaximizeModeTest) {
// Feeds in sample accelerometer data and verifies that there are no
// transitions out of touchview / maximize mode while shaking the device
// around.
- ASSERT_TRUE(kAccelerometerFullyOpenTestDataLength % 6 == 0);
+ ASSERT_EQ(0u, kAccelerometerFullyOpenTestDataLength % 6);
for (size_t i = 0; i < kAccelerometerFullyOpenTestDataLength / 6; ++i) {
gfx::Vector3dF base(kAccelerometerFullyOpenTestData[i * 6],
kAccelerometerFullyOpenTestData[i * 6 + 1],
@@ -456,26 +456,52 @@ TEST_F(MaximizeModeControllerTest, RotationLockPreventsRotation) {
EXPECT_EQ(gfx::Display::ROTATE_90, GetInternalDisplayRotation());
}
-// Tests that when MaximizeModeController turns off MaximizeMode that on the
-// next accelerometer update the rotation lock is cleared.
-TEST_F(MaximizeModeControllerTest, ExitingMaximizeModeClearRotationLock) {
- // The base remains steady.
- gfx::Vector3dF base(0.0f, 0.0f, 1.0f);
+// Tests that if the display was rotated before entering maximize mode that
+// rotation becomes locked.
+TEST_F(MaximizeModeControllerTest,
+ RotatedDisplayLocksRotationUponEnteringMaximizeMode) {
+ DisplayManager* display_manager = Shell::GetInstance()->display_manager();
+ display_manager->SetDisplayRotation(gfx::Display::InternalDisplayId(),
+ gfx::Display::ROTATE_90, ui::USER);
+
+ // Trigger a non-maximize mode accelerometer update. Ensure that the display
+ // does not rotate.
+ TriggerAccelerometerUpdate(gfx::Vector3dF(0.0f, 0.0f, 1.0f),
+ gfx::Vector3dF(-1.0f, 0.0f, 0.0f));
+ EXPECT_FALSE(IsMaximizeModeStarted());
+ EXPECT_EQ(gfx::Display::ROTATE_90, GetInternalDisplayRotation());
// Trigger maximize mode by opening to 270.
TriggerAccelerometerUpdate(gfx::Vector3dF(0.0f, 0.0f, -1.0f),
gfx::Vector3dF(-1.0f, 0.0f, 0.0f));
ASSERT_TRUE(IsMaximizeModeStarted());
+ EXPECT_TRUE(maximize_mode_controller()->rotation_locked());
+ EXPECT_EQ(gfx::Display::ROTATE_90, GetInternalDisplayRotation());
+}
- maximize_mode_controller()->set_rotation_locked(true);
+// Tests that if a user has set a display rotation that it is restored upon
+// exiting maximize mode.
+TEST_F(MaximizeModeControllerTest, ResetUserRotationUponExit) {
+ DisplayManager* display_manager = Shell::GetInstance()->display_manager();
+ display_manager->SetDisplayRotation(gfx::Display::InternalDisplayId (),
flackr 2014/05/16 16:00:22 s/ ()/()
jonross 2014/05/20 15:24:30 Done.
+ gfx::Display::ROTATE_90, ui::USER);
- // Open 90 degrees.
- TriggerAccelerometerUpdate(base, gfx::Vector3dF(-1.0f, 0.0f, 0.0f));
- EXPECT_FALSE(IsMaximizeModeStarted());
+ // Trigger maximize mode
+ TriggerAccelerometerUpdate(gfx::Vector3dF(0.0f, 0.0f, -1.0f),
+ gfx::Vector3dF(-1.0f, 0.0f, 0.0f));
+ ASSERT_TRUE(IsMaximizeModeStarted());
+ ASSERT_TRUE(maximize_mode_controller()->rotation_locked());
- // Send an update that would not relaunch MaximizeMode. 90 degrees.
- TriggerAccelerometerUpdate(base, gfx::Vector3dF(-1.0f, 0.0f, 0.0f));
- EXPECT_FALSE(maximize_mode_controller()->rotation_locked());
-}
+ maximize_mode_controller()->set_rotation_locked(false);
+ TriggerAccelerometerUpdate(gfx::Vector3dF(1.0f, 0.0f, 0.0f),
+ gfx::Vector3dF(1.0f, 0.0f, 0.0f));
+ EXPECT_EQ(gfx::Display::ROTATE_180, GetInternalDisplayRotation());;
flackr 2014/05/16 16:00:22 s/;;/;
jonross 2014/05/20 15:24:30 Done.
+
+ // Exit maximize mode
+ TriggerAccelerometerUpdate(gfx::Vector3dF(0.0f, 0.0f, 1.0f),
+ gfx::Vector3dF(-1.0f, 0.0f, 0.0f));
+ EXPECT_FALSE(IsMaximizeModeStarted());
+ EXPECT_EQ(gfx::Display::ROTATE_90, GetInternalDisplayRotation());
+}
flackr 2014/05/16 16:00:22 nit: blank line before closing namespace.
jonross 2014/05/20 15:24:30 Done.
} // namespace ash

Powered by Google App Engine
This is Rietveld 408576698