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

Unified Diff: ui/display/win/screen_win_unittest.cc

Issue 2110313002: Add ScreenWin::GetSystemMetricsForHwnd (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Self Review Fix Created 4 years, 6 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
« ui/display/win/screen_win.cc ('K') | « ui/display/win/screen_win.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/display/win/screen_win_unittest.cc
diff --git a/ui/display/win/screen_win_unittest.cc b/ui/display/win/screen_win_unittest.cc
index a20d2b1bdb33164f598cc2aed37ce09290ff7987..a61fc1ee3992da2c4905af7ccc25e23782567867 100644
--- a/ui/display/win/screen_win_unittest.cc
+++ b/ui/display/win/screen_win_unittest.cc
@@ -121,6 +121,10 @@ class TestScreenWin : public ScreenWin {
return hwnd;
}
+ int GetSystemMetrics(int metric) const override {
+ return metric;
+ }
+
std::vector<MONITORINFOEX> monitor_infos_;
std::unordered_map<HWND, gfx::Rect> hwnd_map_;
@@ -325,6 +329,14 @@ TEST_F(ScreenWinTestSingleDisplay1x, DIPToScreenSize) {
EXPECT_EQ(size, ScreenWin::DIPToScreenSize(hwnd, size));
}
+TEST_F(ScreenWinTestSingleDisplay1x, GetSystemMetricsForHwnd) {
+ HWND hwnd = GetFakeHwnd();
+ EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(hwnd, 31));
+ EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(hwnd, 42));
+ EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(nullptr, 31));
+ EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(nullptr, 42));
+}
+
TEST_F(ScreenWinTestSingleDisplay1x, GetDisplays) {
std::vector<Display> displays = GetScreen()->GetAllDisplays();
ASSERT_EQ(1u, displays.size());
@@ -480,6 +492,14 @@ TEST_F(ScreenWinTestSingleDisplay1_25x, DIPToScreenSize) {
EXPECT_EQ(size, ScreenWin::DIPToScreenSize(hwnd, size));
}
+TEST_F(ScreenWinTestSingleDisplay1_25x, GetSystemMetricsForHwnd) {
+ HWND hwnd = GetFakeHwnd();
+ EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(hwnd, 31));
+ EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(hwnd, 42));
+ EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(nullptr, 31));
+ EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(nullptr, 42));
+}
+
TEST_F(ScreenWinTestSingleDisplay1_25x, GetDisplays) {
std::vector<Display> displays = GetScreen()->GetAllDisplays();
ASSERT_EQ(1u, displays.size());
@@ -620,6 +640,14 @@ TEST_F(ScreenWinTestSingleDisplay1_5x, DIPToScreenSize) {
ScreenWin::DIPToScreenSize(GetFakeHwnd(), gfx::Size(28, 88)));
}
+TEST_F(ScreenWinTestSingleDisplay1_5x, GetSystemMetricsForHwnd) {
+ HWND hwnd = GetFakeHwnd();
+ EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(hwnd, 31));
+ EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(hwnd, 42));
+ EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(nullptr, 31));
+ EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(nullptr, 42));
+}
+
TEST_F(ScreenWinTestSingleDisplay1_5x, GetDisplays) {
std::vector<Display> displays = GetScreen()->GetAllDisplays();
ASSERT_EQ(1u, displays.size());
@@ -759,6 +787,14 @@ TEST_F(ScreenWinTestSingleDisplay2x, DIPToScreenSize) {
ScreenWin::DIPToScreenSize(GetFakeHwnd(), gfx::Size(21, 66)));
}
+TEST_F(ScreenWinTestSingleDisplay2x, GetSystemMetricsForHwnd) {
+ HWND hwnd = GetFakeHwnd();
+ EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(hwnd, 31));
+ EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(hwnd, 42));
+ EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(nullptr, 31));
+ EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(nullptr, 42));
+}
+
TEST_F(ScreenWinTestSingleDisplay2x, GetDisplays) {
std::vector<Display> displays = GetScreen()->GetAllDisplays();
ASSERT_EQ(1u, displays.size());
@@ -959,6 +995,17 @@ TEST_F(ScreenWinTestTwoDisplays1x, DIPToScreenSize) {
EXPECT_EQ(size, ScreenWin::DIPToScreenSize(right_hwnd, size));
}
+TEST_F(ScreenWinTestTwoDisplays1x, GetSystemMetricsForHwnd) {
+ HWND left_hwnd = GetLeftFakeHwnd();
+ EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(left_hwnd, 31));
+ EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(left_hwnd, 42));
+ HWND right_hwnd = GetRightFakeHwnd();
+ EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(right_hwnd, 31));
+ EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(right_hwnd, 42));
+ EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(nullptr, 31));
+ EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(nullptr, 42));
+}
+
TEST_F(ScreenWinTestTwoDisplays1x, GetDisplays) {
std::vector<Display> displays = GetScreen()->GetAllDisplays();
ASSERT_EQ(2u, displays.size());
@@ -1207,6 +1254,17 @@ TEST_F(ScreenWinTestTwoDisplays2x, DIPToScreenSize) {
ScreenWin::DIPToScreenSize(right_hwnd, gfx::Size(21, 66)));
}
+TEST_F(ScreenWinTestTwoDisplays2x, GetSystemMetricsForHwnd) {
+ HWND left_hwnd = GetLeftFakeHwnd();
+ EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(left_hwnd, 31));
+ EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(left_hwnd, 42));
+ HWND right_hwnd = GetRightFakeHwnd();
+ EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(right_hwnd, 31));
+ EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(right_hwnd, 42));
+ EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(nullptr, 31));
+ EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(nullptr, 42));
+}
+
TEST_F(ScreenWinTestTwoDisplays2x, GetDisplays) {
std::vector<Display> displays = GetScreen()->GetAllDisplays();
ASSERT_EQ(2u, displays.size());
@@ -1564,6 +1622,16 @@ TEST_F(ScreenWinTestManyDisplays1x, DIPToScreenSize) {
}
}
+TEST_F(ScreenWinTestManyDisplays1x, GetSystemMetricsForHwnd) {
+ for (size_t i = 0; i < 5u; ++i) {
+ SCOPED_TRACE(base::StringPrintf("i=%zu", i));
+ EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(GetFakeHwnd(i), 31));
+ EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(GetFakeHwnd(i), 42));
+ }
+ EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(nullptr, 31));
+ EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(nullptr, 42));
+}
+
TEST_F(ScreenWinTestManyDisplays1x, GetDisplays) {
std::vector<Display> displays = GetScreen()->GetAllDisplays();
ASSERT_EQ(5u, displays.size());
@@ -1980,6 +2048,16 @@ TEST_F(ScreenWinTestManyDisplays2x, DIPToScreenSize) {
}
}
+TEST_F(ScreenWinTestManyDisplays2x, GetSystemMetricsForHwnd) {
+ for (size_t i = 0; i < 5u; ++i) {
+ SCOPED_TRACE(base::StringPrintf("i=%zu", i));
+ EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(GetFakeHwnd(i), 31));
+ EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(GetFakeHwnd(i), 42));
+ }
+ EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(nullptr, 31));
+ EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(nullptr, 42));
+}
+
TEST_F(ScreenWinTestManyDisplays2x, GetDisplays) {
std::vector<Display> displays = GetScreen()->GetAllDisplays();
ASSERT_EQ(5u, displays.size());
@@ -2259,6 +2337,17 @@ TEST_F(ScreenWinTestTwoDisplays1x2x, DIPToScreenSize) {
ScreenWin::DIPToScreenSize(right_hwnd, gfx::Size(21, 66)));
}
+TEST_F(ScreenWinTestTwoDisplays1x2x, GetSystemMetricsForHwnd) {
+ HWND left_hwnd = GetLeftFakeHwnd();
+ EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(left_hwnd, 31));
+ EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(left_hwnd, 42));
+ HWND right_hwnd = GetRightFakeHwnd();
+ EXPECT_EQ(62, ScreenWin::GetSystemMetricsForHwnd(right_hwnd, 31));
+ EXPECT_EQ(84, ScreenWin::GetSystemMetricsForHwnd(right_hwnd, 42));
+ EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(nullptr, 31));
+ EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(nullptr, 42));
+}
+
TEST_F(ScreenWinTestTwoDisplays1x2x, GetDisplays) {
std::vector<Display> displays = GetScreen()->GetAllDisplays();
ASSERT_EQ(2u, displays.size());
@@ -2515,6 +2604,17 @@ TEST_F(ScreenWinTestTwoDisplays1_5x1x, DIPToScreenSize) {
ScreenWin::DIPToScreenSize(right_hwnd, gfx::Size(42, 131)));
}
+TEST_F(ScreenWinTestTwoDisplays1_5x1x, GetSystemMetricsForHwnd) {
+ HWND left_hwnd = GetLeftFakeHwnd();
+ EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(left_hwnd, 31));
+ EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(left_hwnd, 42));
+ HWND right_hwnd = GetRightFakeHwnd();
+ EXPECT_EQ(21, ScreenWin::GetSystemMetricsForHwnd(right_hwnd, 31));
+ EXPECT_EQ(28, ScreenWin::GetSystemMetricsForHwnd(right_hwnd, 42));
+ EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(nullptr, 31));
+ EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(nullptr, 42));
+}
+
TEST_F(ScreenWinTestTwoDisplays1_5x1x, GetDisplays) {
std::vector<Display> displays = GetScreen()->GetAllDisplays();
ASSERT_EQ(2u, displays.size());
@@ -2767,6 +2867,17 @@ TEST_F(ScreenWinTestTwoDisplays2x1x, DIPToScreenSize) {
ScreenWin::DIPToScreenSize(right_hwnd, gfx::Size(42, 131)));
}
+TEST_F(ScreenWinTestTwoDisplays2x1x, GetSystemMetricsForHwnd) {
+ HWND left_hwnd = GetLeftFakeHwnd();
+ EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(left_hwnd, 31));
+ EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(left_hwnd, 42));
+ HWND right_hwnd = GetRightFakeHwnd();
+ EXPECT_EQ(16, ScreenWin::GetSystemMetricsForHwnd(right_hwnd, 31));
+ EXPECT_EQ(21, ScreenWin::GetSystemMetricsForHwnd(right_hwnd, 42));
+ EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(nullptr, 31));
+ EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(nullptr, 42));
+}
+
TEST_F(ScreenWinTestTwoDisplays2x1x, GetDisplays) {
std::vector<Display> displays = GetScreen()->GetAllDisplays();
ASSERT_EQ(2u, displays.size());
@@ -3024,6 +3135,17 @@ TEST_F(ScreenWinTestTwoDisplays2x1xVirtualized, DIPToScreenSize) {
ScreenWin::DIPToScreenSize(right_hwnd, gfx::Size(21, 66)));
}
+TEST_F(ScreenWinTestTwoDisplays2x1xVirtualized, GetSystemMetricsForHwnd) {
+ HWND left_hwnd = GetLeftFakeHwnd();
+ EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(left_hwnd, 31));
+ EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(left_hwnd, 42));
+ HWND right_hwnd = GetRightFakeHwnd();
+ EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(right_hwnd, 31));
+ EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(right_hwnd, 42));
+ EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(nullptr, 31));
+ EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(nullptr, 42));
+}
+
TEST_F(ScreenWinTestTwoDisplays2x1xVirtualized, GetDisplays) {
std::vector<Display> displays = GetScreen()->GetAllDisplays();
ASSERT_EQ(2u, displays.size());
@@ -3192,6 +3314,12 @@ TEST_F(ScreenWinUninitializedForced1x, DIPToScreenSize) {
EXPECT_EQ(size, ScreenWin::DIPToScreenSize(nullptr, size));
}
+TEST_F(ScreenWinUninitializedForced1x, GetSystemMetricsForHwnd) {
+ // GetSystemMetricsForHwnd falls back to the system's GetSystemMetrics, so
+ // this test is to make sure we don't crash.
+ ScreenWin::GetSystemMetricsForHwnd(nullptr, SM_CXSIZEFRAME);
+}
+
namespace {
// Forced 2x DPI for Other Tests without TestScreenWin.
@@ -3288,5 +3416,11 @@ TEST_F(ScreenWinUninitializedForced2x, DIPToScreenSize) {
ScreenWin::DIPToScreenSize(nullptr, gfx::Size(21, 66)));
}
+TEST_F(ScreenWinUninitializedForced2x, GetSystemMetricsForHwnd) {
+ // GetSystemMetricsForHwnd falls back to the system's GetSystemMetrics, so
+ // this test is to make sure we don't crash.
+ ScreenWin::GetSystemMetricsForHwnd(nullptr, SM_CXSIZEFRAME);
+}
+
} // namespace win
} // namespace display
« ui/display/win/screen_win.cc ('K') | « ui/display/win/screen_win.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698