| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 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 "ash/common/display/display_info.h" | 5 #include "ash/common/display/display_info.h" |
| 6 | 6 |
| 7 #include "testing/gtest/include/gtest/gtest.h" | 7 #include "testing/gtest/include/gtest/gtest.h" |
| 8 | 8 |
| 9 namespace ash { | 9 namespace ash { |
| 10 namespace { | 10 namespace { |
| 11 | 11 |
| 12 std::string GetModeSizeInDIP(const gfx::Size& size, | 12 std::string GetModeSizeInDIP(const gfx::Size& size, |
| 13 float device_scale_factor, | 13 float device_scale_factor, |
| 14 float ui_scale, | 14 float ui_scale, |
| 15 bool is_internal) { | 15 bool is_internal) { |
| 16 DisplayMode mode; | 16 scoped_refptr<DisplayMode> mode = |
| 17 mode.size = size; | 17 new DisplayMode(size, 0.0 /* refresh_rate */, false /* interlaced */, |
| 18 mode.device_scale_factor = device_scale_factor; | 18 false /* native */, ui_scale, device_scale_factor); |
| 19 mode.ui_scale = ui_scale; | 19 return mode->GetSizeInDIP(is_internal).ToString(); |
| 20 return mode.GetSizeInDIP(is_internal).ToString(); | |
| 21 } | 20 } |
| 22 | 21 |
| 23 } // namespace | 22 } // namespace |
| 24 | 23 |
| 25 typedef testing::Test DisplayInfoTest; | 24 typedef testing::Test DisplayInfoTest; |
| 26 | 25 |
| 27 TEST_F(DisplayInfoTest, CreateFromSpec) { | 26 TEST_F(DisplayInfoTest, CreateFromSpec) { |
| 28 DisplayInfo info = DisplayInfo::CreateFromSpecWithID("200x100", 10); | 27 DisplayInfo info = DisplayInfo::CreateFromSpecWithID("200x100", 10); |
| 29 EXPECT_EQ(10, info.id()); | 28 EXPECT_EQ(10, info.id()); |
| 30 EXPECT_EQ("0,0 200x100", info.bounds_in_native().ToString()); | 29 EXPECT_EQ("0,0 200x100", info.bounds_in_native().ToString()); |
| (...skipping 25 matching lines...) Expand all Loading... |
| 56 EXPECT_EQ("10,20 300x400", info.bounds_in_native().ToString()); | 55 EXPECT_EQ("10,20 300x400", info.bounds_in_native().ToString()); |
| 57 EXPECT_EQ(display::Display::ROTATE_270, info.GetActiveRotation()); | 56 EXPECT_EQ(display::Display::ROTATE_270, info.GetActiveRotation()); |
| 58 EXPECT_EQ(1.5f, info.configured_ui_scale()); | 57 EXPECT_EQ(1.5f, info.configured_ui_scale()); |
| 59 | 58 |
| 60 info = DisplayInfo::CreateFromSpecWithID( | 59 info = DisplayInfo::CreateFromSpecWithID( |
| 61 "200x200#300x200|200x200%59.9|100x100%60|150x100*2|150x150*1.25%30", 10); | 60 "200x200#300x200|200x200%59.9|100x100%60|150x100*2|150x150*1.25%30", 10); |
| 62 | 61 |
| 63 EXPECT_EQ("0,0 200x200", info.bounds_in_native().ToString()); | 62 EXPECT_EQ("0,0 200x200", info.bounds_in_native().ToString()); |
| 64 EXPECT_EQ(5u, info.display_modes().size()); | 63 EXPECT_EQ(5u, info.display_modes().size()); |
| 65 // Modes are sorted in DIP for external display. | 64 // Modes are sorted in DIP for external display. |
| 66 EXPECT_EQ("150x100", info.display_modes()[0].size.ToString()); | 65 EXPECT_EQ("150x100", info.display_modes()[0]->size().ToString()); |
| 67 EXPECT_EQ("100x100", info.display_modes()[1].size.ToString()); | 66 EXPECT_EQ("100x100", info.display_modes()[1]->size().ToString()); |
| 68 EXPECT_EQ("150x150", info.display_modes()[2].size.ToString()); | 67 EXPECT_EQ("150x150", info.display_modes()[2]->size().ToString()); |
| 69 EXPECT_EQ("200x200", info.display_modes()[3].size.ToString()); | 68 EXPECT_EQ("200x200", info.display_modes()[3]->size().ToString()); |
| 70 EXPECT_EQ("300x200", info.display_modes()[4].size.ToString()); | 69 EXPECT_EQ("300x200", info.display_modes()[4]->size().ToString()); |
| 71 | 70 |
| 72 EXPECT_EQ(0.0f, info.display_modes()[0].refresh_rate); | 71 EXPECT_EQ(0.0f, info.display_modes()[0]->refresh_rate()); |
| 73 EXPECT_EQ(60.0f, info.display_modes()[1].refresh_rate); | 72 EXPECT_EQ(60.0f, info.display_modes()[1]->refresh_rate()); |
| 74 EXPECT_EQ(30.0f, info.display_modes()[2].refresh_rate); | 73 EXPECT_EQ(30.0f, info.display_modes()[2]->refresh_rate()); |
| 75 EXPECT_EQ(59.9f, info.display_modes()[3].refresh_rate); | 74 EXPECT_EQ(59.9f, info.display_modes()[3]->refresh_rate()); |
| 76 EXPECT_EQ(0.0f, info.display_modes()[4].refresh_rate); | 75 EXPECT_EQ(0.0f, info.display_modes()[4]->refresh_rate()); |
| 77 | 76 |
| 78 EXPECT_EQ(2.0f, info.display_modes()[0].device_scale_factor); | 77 EXPECT_EQ(2.0f, info.display_modes()[0]->device_scale_factor()); |
| 79 EXPECT_EQ(1.0f, info.display_modes()[1].device_scale_factor); | 78 EXPECT_EQ(1.0f, info.display_modes()[1]->device_scale_factor()); |
| 80 EXPECT_EQ(1.25f, info.display_modes()[2].device_scale_factor); | 79 EXPECT_EQ(1.25f, info.display_modes()[2]->device_scale_factor()); |
| 81 EXPECT_EQ(1.0f, info.display_modes()[3].device_scale_factor); | 80 EXPECT_EQ(1.0f, info.display_modes()[3]->device_scale_factor()); |
| 82 EXPECT_EQ(1.0f, info.display_modes()[4].device_scale_factor); | 81 EXPECT_EQ(1.0f, info.display_modes()[4]->device_scale_factor()); |
| 83 | 82 |
| 84 EXPECT_FALSE(info.display_modes()[0].native); | 83 EXPECT_FALSE(info.display_modes()[0]->native()); |
| 85 EXPECT_FALSE(info.display_modes()[1].native); | 84 EXPECT_FALSE(info.display_modes()[1]->native()); |
| 86 EXPECT_FALSE(info.display_modes()[2].native); | 85 EXPECT_FALSE(info.display_modes()[2]->native()); |
| 87 EXPECT_FALSE(info.display_modes()[3].native); | 86 EXPECT_FALSE(info.display_modes()[3]->native()); |
| 88 EXPECT_TRUE(info.display_modes()[4].native); | 87 EXPECT_TRUE(info.display_modes()[4]->native()); |
| 89 } | 88 } |
| 90 | 89 |
| 91 TEST_F(DisplayInfoTest, DisplayModeGetSizeInDIPNormal) { | 90 TEST_F(DisplayInfoTest, DisplayModeGetSizeInDIPNormal) { |
| 92 gfx::Size size(1366, 768); | 91 gfx::Size size(1366, 768); |
| 93 EXPECT_EQ("1536x864", GetModeSizeInDIP(size, 1.0f, 1.125f, true)); | 92 EXPECT_EQ("1536x864", GetModeSizeInDIP(size, 1.0f, 1.125f, true)); |
| 94 EXPECT_EQ("1366x768", GetModeSizeInDIP(size, 1.0f, 1.0f, true)); | 93 EXPECT_EQ("1366x768", GetModeSizeInDIP(size, 1.0f, 1.0f, true)); |
| 95 EXPECT_EQ("1092x614", GetModeSizeInDIP(size, 1.0f, 0.8f, true)); | 94 EXPECT_EQ("1092x614", GetModeSizeInDIP(size, 1.0f, 0.8f, true)); |
| 96 EXPECT_EQ("853x480", GetModeSizeInDIP(size, 1.0f, 0.625f, true)); | 95 EXPECT_EQ("853x480", GetModeSizeInDIP(size, 1.0f, 0.625f, true)); |
| 97 EXPECT_EQ("683x384", GetModeSizeInDIP(size, 1.0f, 0.5f, true)); | 96 EXPECT_EQ("683x384", GetModeSizeInDIP(size, 1.0f, 0.5f, true)); |
| 98 } | 97 } |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 139 EXPECT_EQ(11, info.input_devices()[1]); | 138 EXPECT_EQ(11, info.input_devices()[1]); |
| 140 | 139 |
| 141 DisplayInfo copy_info = DisplayInfo::CreateFromSpecWithID("200x100", 10); | 140 DisplayInfo copy_info = DisplayInfo::CreateFromSpecWithID("200x100", 10); |
| 142 copy_info.Copy(info); | 141 copy_info.Copy(info); |
| 143 EXPECT_EQ(2u, copy_info.input_devices().size()); | 142 EXPECT_EQ(2u, copy_info.input_devices().size()); |
| 144 copy_info.ClearInputDevices(); | 143 copy_info.ClearInputDevices(); |
| 145 EXPECT_EQ(0u, copy_info.input_devices().size()); | 144 EXPECT_EQ(0u, copy_info.input_devices().size()); |
| 146 } | 145 } |
| 147 | 146 |
| 148 } // namespace ash | 147 } // namespace ash |
| OLD | NEW |