OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "ui/gfx/display.h" | 5 #include "ui/gfx/display.h" |
6 | 6 |
| 7 #include "base/command_line.h" |
7 #include "testing/gtest/include/gtest/gtest.h" | 8 #include "testing/gtest/include/gtest/gtest.h" |
8 #include "ui/gfx/geometry/insets.h" | 9 #include "ui/gfx/geometry/insets.h" |
| 10 #include "ui/gfx/switches.h" |
| 11 |
| 12 namespace gfx { |
9 | 13 |
10 namespace { | 14 namespace { |
11 | 15 |
12 TEST(DisplayTest, WorkArea) { | 16 TEST(DisplayTest, WorkArea) { |
13 gfx::Display display(0, gfx::Rect(0, 0, 100, 100)); | 17 Display display(0, Rect(0, 0, 100, 100)); |
14 EXPECT_EQ("0,0 100x100", display.bounds().ToString()); | 18 EXPECT_EQ("0,0 100x100", display.bounds().ToString()); |
15 EXPECT_EQ("0,0 100x100", display.work_area().ToString()); | 19 EXPECT_EQ("0,0 100x100", display.work_area().ToString()); |
16 | 20 |
17 display.set_work_area(gfx::Rect(3, 4, 90, 80)); | 21 display.set_work_area(Rect(3, 4, 90, 80)); |
18 EXPECT_EQ("0,0 100x100", display.bounds().ToString()); | 22 EXPECT_EQ("0,0 100x100", display.bounds().ToString()); |
19 EXPECT_EQ("3,4 90x80", display.work_area().ToString()); | 23 EXPECT_EQ("3,4 90x80", display.work_area().ToString()); |
20 | 24 |
21 display.SetScaleAndBounds(1.0f, gfx::Rect(10, 20, 50, 50)); | 25 display.SetScaleAndBounds(1.0f, Rect(10, 20, 50, 50)); |
22 EXPECT_EQ("10,20 50x50", display.bounds().ToString()); | 26 EXPECT_EQ("10,20 50x50", display.bounds().ToString()); |
23 EXPECT_EQ("13,24 40x30", display.work_area().ToString()); | 27 EXPECT_EQ("13,24 40x30", display.work_area().ToString()); |
24 | 28 |
25 display.SetSize(gfx::Size(200, 200)); | 29 display.SetSize(Size(200, 200)); |
26 EXPECT_EQ("13,24 190x180", display.work_area().ToString()); | 30 EXPECT_EQ("13,24 190x180", display.work_area().ToString()); |
27 | 31 |
28 display.UpdateWorkAreaFromInsets(gfx::Insets(3, 4, 5, 6)); | 32 display.UpdateWorkAreaFromInsets(Insets(3, 4, 5, 6)); |
29 EXPECT_EQ("14,23 190x192", display.work_area().ToString()); | 33 EXPECT_EQ("14,23 190x192", display.work_area().ToString()); |
30 } | 34 } |
31 | 35 |
32 TEST(DisplayTest, Scale) { | 36 TEST(DisplayTest, Scale) { |
33 gfx::Display display(0, gfx::Rect(0, 0, 100, 100)); | 37 Display display(0, Rect(0, 0, 100, 100)); |
34 display.set_work_area(gfx::Rect(10, 10, 80, 80)); | 38 display.set_work_area(Rect(10, 10, 80, 80)); |
35 EXPECT_EQ("0,0 100x100", display.bounds().ToString()); | 39 EXPECT_EQ("0,0 100x100", display.bounds().ToString()); |
36 EXPECT_EQ("10,10 80x80", display.work_area().ToString()); | 40 EXPECT_EQ("10,10 80x80", display.work_area().ToString()); |
37 | 41 |
38 // Scale it back to 2x | 42 // Scale it back to 2x |
39 display.SetScaleAndBounds(2.0f, gfx::Rect(0, 0, 140, 140)); | 43 display.SetScaleAndBounds(2.0f, Rect(0, 0, 140, 140)); |
40 EXPECT_EQ("0,0 70x70", display.bounds().ToString()); | 44 EXPECT_EQ("0,0 70x70", display.bounds().ToString()); |
41 EXPECT_EQ("10,10 50x50", display.work_area().ToString()); | 45 EXPECT_EQ("10,10 50x50", display.work_area().ToString()); |
42 | 46 |
43 // Scale it back to 1x | 47 // Scale it back to 1x |
44 display.SetScaleAndBounds(1.0f, gfx::Rect(0, 0, 100, 100)); | 48 display.SetScaleAndBounds(1.0f, Rect(0, 0, 100, 100)); |
45 EXPECT_EQ("0,0 100x100", display.bounds().ToString()); | 49 EXPECT_EQ("0,0 100x100", display.bounds().ToString()); |
46 EXPECT_EQ("10,10 80x80", display.work_area().ToString()); | 50 EXPECT_EQ("10,10 80x80", display.work_area().ToString()); |
47 } | 51 } |
48 | 52 |
| 53 // https://crbug.com/517944 |
| 54 TEST(DisplayTest, ForcedDeviceScaleFactorByCommandLine) { |
| 55 Display::ResetForceDeviceScaleFactorForTesting(); |
| 56 |
| 57 // Look ma, no value! |
| 58 base::CommandLine::ForCurrentProcess()->AppendSwitch( |
| 59 switches::kForceDeviceScaleFactor); |
| 60 |
| 61 EXPECT_EQ(1, Display::GetForcedDeviceScaleFactor()); |
| 62 Display::ResetForceDeviceScaleFactorForTesting(); |
49 } | 63 } |
| 64 |
| 65 } // namespace |
| 66 |
| 67 } // namespace gfx |
OLD | NEW |