summaryrefslogtreecommitdiffstats
path: root/ash/wm/ash_native_cursor_manager_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'ash/wm/ash_native_cursor_manager_unittest.cc')
-rw-r--r--ash/wm/ash_native_cursor_manager_unittest.cc73
1 files changed, 23 insertions, 50 deletions
diff --git a/ash/wm/ash_native_cursor_manager_unittest.cc b/ash/wm/ash_native_cursor_manager_unittest.cc
index 5713fe3..812601f 100644
--- a/ash/wm/ash_native_cursor_manager_unittest.cc
+++ b/ash/wm/ash_native_cursor_manager_unittest.cc
@@ -4,8 +4,6 @@
#include "ash/wm/ash_native_cursor_manager.h"
-#include "ash/display/display_info.h"
-#include "ash/display/display_manager.h"
#include "ash/shell.h"
#include "ash/test/ash_test_base.h"
#include "ash/test/cursor_manager_test_api.h"
@@ -56,16 +54,18 @@ typedef test::AshTestBase AshNativeCursorManagerTest;
TEST_F(AshNativeCursorManagerTest, LockCursor) {
::wm::CursorManager* cursor_manager = Shell::GetInstance()->cursor_manager();
CursorManagerTestApi test_api(cursor_manager);
-
+ gfx::Display display(0);
#if defined(OS_WIN)
ui::CursorLoaderWin::SetCursorResourceModule(L"ash_unittests.exe");
#endif
cursor_manager->SetCursor(ui::kCursorCopy);
EXPECT_EQ(ui::kCursorCopy, test_api.GetCurrentCursor().native_type());
- UpdateDisplay("800x800*2/r");
- EXPECT_EQ(2.0f, test_api.GetCurrentCursor().device_scale_factor());
+ display.set_device_scale_factor(2.0f);
+ display.set_rotation(gfx::Display::ROTATE_90);
+ cursor_manager->SetDisplay(display);
+ EXPECT_EQ(2.0f, test_api.GetDisplay().device_scale_factor());
EXPECT_EQ(ui::CURSOR_SET_NORMAL, test_api.GetCurrentCursorSet());
- EXPECT_EQ(gfx::Display::ROTATE_90, test_api.GetCurrentCursorRotation());
+ EXPECT_EQ(gfx::Display::ROTATE_90, test_api.GetDisplay().rotation());
EXPECT_TRUE(test_api.GetCurrentCursor().platform());
cursor_manager->LockCursor();
@@ -85,16 +85,18 @@ TEST_F(AshNativeCursorManagerTest, LockCursor) {
EXPECT_EQ(ui::kCursorCopy, test_api.GetCurrentCursor().native_type());
// Device scale factor and rotation do change even while cursor is locked.
- UpdateDisplay("800x800/u");
- EXPECT_EQ(1.0f, test_api.GetCurrentCursor().device_scale_factor());
- EXPECT_EQ(gfx::Display::ROTATE_180, test_api.GetCurrentCursorRotation());
+ display.set_device_scale_factor(1.0f);
+ display.set_rotation(gfx::Display::ROTATE_180);
+ cursor_manager->SetDisplay(display);
+ EXPECT_EQ(1.0f, test_api.GetDisplay().device_scale_factor());
+ EXPECT_EQ(gfx::Display::ROTATE_180, test_api.GetDisplay().rotation());
cursor_manager->UnlockCursor();
EXPECT_FALSE(cursor_manager->IsCursorLocked());
// Cursor type changes to the one specified while cursor is locked.
EXPECT_EQ(ui::kCursorPointer, test_api.GetCurrentCursor().native_type());
- EXPECT_EQ(1.0f, test_api.GetCurrentCursor().device_scale_factor());
+ EXPECT_EQ(1.0f, test_api.GetDisplay().device_scale_factor());
EXPECT_TRUE(test_api.GetCurrentCursor().platform());
}
@@ -131,47 +133,18 @@ TEST_F(AshNativeCursorManagerTest, SetCursorSet) {
TEST_F(AshNativeCursorManagerTest, SetDeviceScaleFactorAndRotation) {
::wm::CursorManager* cursor_manager = Shell::GetInstance()->cursor_manager();
CursorManagerTestApi test_api(cursor_manager);
- UpdateDisplay("800x100*2");
- EXPECT_EQ(2.0f, test_api.GetCurrentCursor().device_scale_factor());
- EXPECT_EQ(gfx::Display::ROTATE_0, test_api.GetCurrentCursorRotation());
-
- UpdateDisplay("800x100/l");
- EXPECT_EQ(1.0f, test_api.GetCurrentCursor().device_scale_factor());
- EXPECT_EQ(gfx::Display::ROTATE_270, test_api.GetCurrentCursorRotation());
-}
-TEST_F(AshNativeCursorManagerTest, UIScaleShouldNotChangeCursor) {
- int64 display_id = Shell::GetScreen()->GetPrimaryDisplay().id();
- gfx::Display::SetInternalDisplayId(display_id);
-
- ::wm::CursorManager* cursor_manager = Shell::GetInstance()->cursor_manager();
- CursorManagerTestApi test_api(cursor_manager);
- DisplayManager* display_manager = Shell::GetInstance()->display_manager();
-
- DisplayInfo::SetAllowUpgradeToHighDPI(false);
- display_manager->SetDisplayUIScale(display_id, 0.5f);
- EXPECT_EQ(1.0f,
- Shell::GetScreen()->GetPrimaryDisplay().device_scale_factor());
- EXPECT_EQ(1.0f, test_api.GetCurrentCursor().device_scale_factor());
-
- display_manager->SetDisplayUIScale(display_id, 1.0f);
-
- DisplayInfo::SetAllowUpgradeToHighDPI(true);
- // 1x display should keep using 1x cursor even if the DSF is upgraded to 2x.
- display_manager->SetDisplayUIScale(display_id, 0.5f);
- EXPECT_EQ(2.0f,
- Shell::GetScreen()->GetPrimaryDisplay().device_scale_factor());
- EXPECT_EQ(1.0f, test_api.GetCurrentCursor().device_scale_factor());
-
- // 2x display should keep using 2x cursor regardless of the UI scale.
- UpdateDisplay("800x800*2");
- EXPECT_EQ(2.0f,
- Shell::GetScreen()->GetPrimaryDisplay().device_scale_factor());
- EXPECT_EQ(2.0f, test_api.GetCurrentCursor().device_scale_factor());
- display_manager->SetDisplayUIScale(display_id, 2.0f);
- EXPECT_EQ(1.0f,
- Shell::GetScreen()->GetPrimaryDisplay().device_scale_factor());
- EXPECT_EQ(2.0f, test_api.GetCurrentCursor().device_scale_factor());
+ gfx::Display display(0);
+ display.set_device_scale_factor(2.0f);
+ cursor_manager->SetDisplay(display);
+ EXPECT_EQ(2.0f, test_api.GetDisplay().device_scale_factor());
+ EXPECT_EQ(gfx::Display::ROTATE_0, test_api.GetDisplay().rotation());
+
+ display.set_device_scale_factor(1.0f);
+ display.set_rotation(gfx::Display::ROTATE_270);
+ cursor_manager->SetDisplay(display);
+ EXPECT_EQ(1.0f, test_api.GetDisplay().device_scale_factor());
+ EXPECT_EQ(gfx::Display::ROTATE_270, test_api.GetDisplay().rotation());
}
TEST_F(AshNativeCursorManagerTest, DisabledQueryMouseLocation) {