| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 <math.h> | 5 #include <math.h> |
| 6 | 6 |
| 7 #include "ash/wm/maximize_mode/maximize_mode_controller.h" | 7 #include "ash/wm/maximize_mode/maximize_mode_controller.h" |
| 8 | 8 |
| 9 #include "ash/accelerometer/accelerometer_controller.h" | 9 #include "ash/accelerometer/accelerometer_controller.h" |
| 10 #include "ash/ash_switches.h" | 10 #include "ash/ash_switches.h" |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 46 // Test accelerometer data taken with the lid open 360 degrees while | 46 // Test accelerometer data taken with the lid open 360 degrees while |
| 47 // shaking the device around. The data is to be interpreted in groups of 6 where | 47 // shaking the device around. The data is to be interpreted in groups of 6 where |
| 48 // each 6 values corresponds to the X, Y, and Z readings from the base and lid | 48 // each 6 values corresponds to the X, Y, and Z readings from the base and lid |
| 49 // accelerometers in this order. | 49 // accelerometers in this order. |
| 50 extern const float kAccelerometerFullyOpenTestData[]; | 50 extern const float kAccelerometerFullyOpenTestData[]; |
| 51 extern const size_t kAccelerometerFullyOpenTestDataLength; | 51 extern const size_t kAccelerometerFullyOpenTestDataLength; |
| 52 | 52 |
| 53 class MaximizeModeControllerTest : public test::AshTestBase { | 53 class MaximizeModeControllerTest : public test::AshTestBase { |
| 54 public: | 54 public: |
| 55 MaximizeModeControllerTest() {} | 55 MaximizeModeControllerTest() {} |
| 56 virtual ~MaximizeModeControllerTest() {} | 56 ~MaximizeModeControllerTest() override {} |
| 57 | 57 |
| 58 virtual void SetUp() override { | 58 void SetUp() override { |
| 59 test::AshTestBase::SetUp(); | 59 test::AshTestBase::SetUp(); |
| 60 Shell::GetInstance()->accelerometer_controller()->RemoveObserver( | 60 Shell::GetInstance()->accelerometer_controller()->RemoveObserver( |
| 61 maximize_mode_controller()); | 61 maximize_mode_controller()); |
| 62 | 62 |
| 63 // Set the first display to be the internal display for the accelerometer | 63 // Set the first display to be the internal display for the accelerometer |
| 64 // screen rotation tests. | 64 // screen rotation tests. |
| 65 test::DisplayManagerTestApi(Shell::GetInstance()->display_manager()). | 65 test::DisplayManagerTestApi(Shell::GetInstance()->display_manager()). |
| 66 SetFirstDisplayAsInternalDisplay(); | 66 SetFirstDisplayAsInternalDisplay(); |
| 67 } | 67 } |
| 68 | 68 |
| 69 virtual void TearDown() override { | 69 void TearDown() override { |
| 70 Shell::GetInstance()->accelerometer_controller()->AddObserver( | 70 Shell::GetInstance()->accelerometer_controller()->AddObserver( |
| 71 maximize_mode_controller()); | 71 maximize_mode_controller()); |
| 72 test::AshTestBase::TearDown(); | 72 test::AshTestBase::TearDown(); |
| 73 } | 73 } |
| 74 | 74 |
| 75 MaximizeModeController* maximize_mode_controller() { | 75 MaximizeModeController* maximize_mode_controller() { |
| 76 return Shell::GetInstance()->maximize_mode_controller(); | 76 return Shell::GetInstance()->maximize_mode_controller(); |
| 77 } | 77 } |
| 78 | 78 |
| 79 void TriggerAccelerometerUpdate(const gfx::Vector3dF& base, | 79 void TriggerAccelerometerUpdate(const gfx::Vector3dF& base, |
| (...skipping 532 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 612 SetInternalDisplayRotation(gfx::Display::ROTATE_0); | 612 SetInternalDisplayRotation(gfx::Display::ROTATE_0); |
| 613 // Exit maximize mode | 613 // Exit maximize mode |
| 614 TriggerAccelerometerUpdate(gfx::Vector3dF(0.0f, 0.0f, -kMeanGravity), | 614 TriggerAccelerometerUpdate(gfx::Vector3dF(0.0f, 0.0f, -kMeanGravity), |
| 615 gfx::Vector3dF(0.0f, -kMeanGravity, 0.0f)); | 615 gfx::Vector3dF(0.0f, -kMeanGravity, 0.0f)); |
| 616 EXPECT_EQ(gfx::Display::ROTATE_0, GetInternalDisplayRotation()); | 616 EXPECT_EQ(gfx::Display::ROTATE_0, GetInternalDisplayRotation()); |
| 617 } | 617 } |
| 618 | 618 |
| 619 class MaximizeModeControllerSwitchesTest : public MaximizeModeControllerTest { | 619 class MaximizeModeControllerSwitchesTest : public MaximizeModeControllerTest { |
| 620 public: | 620 public: |
| 621 MaximizeModeControllerSwitchesTest() {} | 621 MaximizeModeControllerSwitchesTest() {} |
| 622 virtual ~MaximizeModeControllerSwitchesTest(){} | 622 ~MaximizeModeControllerSwitchesTest() override {} |
| 623 | 623 |
| 624 virtual void SetUp() override { | 624 void SetUp() override { |
| 625 CommandLine::ForCurrentProcess()->AppendSwitch( | 625 CommandLine::ForCurrentProcess()->AppendSwitch( |
| 626 switches::kAshEnableTouchViewTesting); | 626 switches::kAshEnableTouchViewTesting); |
| 627 MaximizeModeControllerTest::SetUp(); | 627 MaximizeModeControllerTest::SetUp(); |
| 628 } | 628 } |
| 629 private: | 629 private: |
| 630 DISALLOW_COPY_AND_ASSIGN(MaximizeModeControllerSwitchesTest); | 630 DISALLOW_COPY_AND_ASSIGN(MaximizeModeControllerSwitchesTest); |
| 631 }; | 631 }; |
| 632 | 632 |
| 633 // Tests that when the command line switch for testing maximize mode is on, that | 633 // Tests that when the command line switch for testing maximize mode is on, that |
| 634 // accelerometer updates which would normally cause it to exit do not, and that | 634 // accelerometer updates which would normally cause it to exit do not, and that |
| 635 // screen rotations still occur. | 635 // screen rotations still occur. |
| 636 TEST_F(MaximizeModeControllerSwitchesTest, IgnoreHingeAngles) { | 636 TEST_F(MaximizeModeControllerSwitchesTest, IgnoreHingeAngles) { |
| 637 maximize_mode_controller()->EnableMaximizeModeWindowManager(true); | 637 maximize_mode_controller()->EnableMaximizeModeWindowManager(true); |
| 638 | 638 |
| 639 // Would normally trigger an exit from maximize mode. | 639 // Would normally trigger an exit from maximize mode. |
| 640 OpenLidToAngle(90.0f); | 640 OpenLidToAngle(90.0f); |
| 641 EXPECT_TRUE(IsMaximizeModeStarted()); | 641 EXPECT_TRUE(IsMaximizeModeStarted()); |
| 642 | 642 |
| 643 TriggerAccelerometerUpdate(gfx::Vector3dF(-kMeanGravity, 0.0f, 0.0f), | 643 TriggerAccelerometerUpdate(gfx::Vector3dF(-kMeanGravity, 0.0f, 0.0f), |
| 644 gfx::Vector3dF(-kMeanGravity, 0.0f, 0.0f)); | 644 gfx::Vector3dF(-kMeanGravity, 0.0f, 0.0f)); |
| 645 EXPECT_EQ(gfx::Display::ROTATE_90, GetInternalDisplayRotation()); | 645 EXPECT_EQ(gfx::Display::ROTATE_90, GetInternalDisplayRotation()); |
| 646 } | 646 } |
| 647 | 647 |
| 648 } // namespace ash | 648 } // namespace ash |
| OLD | NEW |