| Index: ash/display/display_manager_unittest.cc
|
| diff --git a/ash/display/display_manager_unittest.cc b/ash/display/display_manager_unittest.cc
|
| index 237a89ba790dd985f6bb655d377da41b5cf7078f..1d93d55118c38bf5ac38e93e7600d0f5899f3860 100644
|
| --- a/ash/display/display_manager_unittest.cc
|
| +++ b/ash/display/display_manager_unittest.cc
|
| @@ -748,5 +748,40 @@ TEST_F(DisplayManagerTest, UIScale) {
|
| EXPECT_EQ(0.5f, GetDisplayInfoAt(0).ui_scale());
|
| }
|
|
|
| +TEST_F(DisplayManagerTest, UpdateMouseCursorAfterRotateZoom) {
|
| + // Make sure just rotating will not change native location.
|
| + UpdateDisplay("300x200,200x150");
|
| + Shell::RootWindowList root_windows = Shell::GetAllRootWindows();
|
| + aura::Env* env = aura::Env::GetInstance();
|
| +
|
| + // Test on 1st display.
|
| + root_windows[0]->MoveCursorTo(gfx::Point(150, 50));
|
| + EXPECT_EQ("150,50", env->last_mouse_location().ToString());
|
| + UpdateDisplay("300x200/r,200x150");
|
| + EXPECT_EQ("50,149", env->last_mouse_location().ToString());
|
| +
|
| + // Test on 2nd display.
|
| + root_windows[1]->MoveCursorTo(gfx::Point(50, 100));
|
| + EXPECT_EQ("250,100", env->last_mouse_location().ToString());
|
| + UpdateDisplay("300x200/r,200x150/l");
|
| + EXPECT_EQ("249,50", env->last_mouse_location().ToString());
|
| +
|
| + // Make sure just zooming will not change native location.
|
| + UpdateDisplay("600x400*2,400x300");
|
| +
|
| + // Test on 1st display.
|
| + root_windows[0]->MoveCursorTo(gfx::Point(100, 150));
|
| + EXPECT_EQ("100,150", env->last_mouse_location().ToString());
|
| + UpdateDisplay("600x400*2@1.5,400x300");
|
| + EXPECT_EQ("150,225", env->last_mouse_location().ToString());
|
| +
|
| + // Test on 2nd display.
|
| + UpdateDisplay("600x400,400x300*2");
|
| + root_windows[1]->MoveCursorTo(gfx::Point(100, 50));
|
| + EXPECT_EQ("700,50", env->last_mouse_location().ToString());
|
| + UpdateDisplay("600x400,400x300*2@1.5");
|
| + EXPECT_EQ("750,75", env->last_mouse_location().ToString());
|
| +}
|
| +
|
| } // namespace internal
|
| } // namespace ash
|
|
|