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

Side by Side Diff: ash/display/display_change_observer_chromeos_unittest.cc

Issue 138903025: Read compositor VSync information from platform, when possible (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: 287efe04 Rebase, oshima@ nits. Created 6 years, 10 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « ash/display/display_change_observer_chromeos.cc ('k') | ash/display/display_controller.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 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/display/display_change_observer_chromeos.h" 5 #include "ash/display/display_change_observer_chromeos.h"
6 6
7 #include "ash/display/display_info.h" 7 #include "ash/display/display_info.h"
8 #include "chromeos/display/output_configurator.h" 8 #include "chromeos/display/output_configurator.h"
9 #include "testing/gtest/include/gtest/gtest.h" 9 #include "testing/gtest/include/gtest/gtest.h"
10 10
11 using chromeos::OutputConfigurator; 11 using chromeos::OutputConfigurator;
12 12
13 typedef testing::Test DisplayChangeObserverTest; 13 typedef testing::Test DisplayChangeObserverTest;
14 14
15 namespace ash { 15 namespace ash {
16 namespace internal { 16 namespace internal {
17 17
18 TEST_F(DisplayChangeObserverTest, GetResolutionList) { 18 TEST_F(DisplayChangeObserverTest, GetDisplayModeList) {
19 OutputConfigurator::OutputSnapshot output; 19 OutputConfigurator::OutputSnapshot output;
20 output.mode_infos[11] = OutputConfigurator::ModeInfo(1920, 1200, false, 60); 20 output.mode_infos[11] = OutputConfigurator::ModeInfo(1920, 1200, false, 60);
21 21
22 // All non-interlaced (as would be seen with different refresh rates). 22 // All non-interlaced (as would be seen with different refresh rates).
23 output.mode_infos[12] = OutputConfigurator::ModeInfo(1920, 1080, false, 80); 23 output.mode_infos[12] = OutputConfigurator::ModeInfo(1920, 1080, false, 80);
24 output.mode_infos[13] = OutputConfigurator::ModeInfo(1920, 1080, false, 70); 24 output.mode_infos[13] = OutputConfigurator::ModeInfo(1920, 1080, false, 70);
25 output.mode_infos[14] = OutputConfigurator::ModeInfo(1920, 1080, false, 60); 25 output.mode_infos[14] = OutputConfigurator::ModeInfo(1920, 1080, false, 60);
26 26
27 // Interlaced vs non-interlaced. 27 // Interlaced vs non-interlaced.
28 output.mode_infos[15] = OutputConfigurator::ModeInfo(1280, 720, true, 60); 28 output.mode_infos[15] = OutputConfigurator::ModeInfo(1280, 720, true, 60);
29 output.mode_infos[16] = OutputConfigurator::ModeInfo(1280, 720, false, 60); 29 output.mode_infos[16] = OutputConfigurator::ModeInfo(1280, 720, false, 60);
30 30
31 // Interlaced only. 31 // Interlaced only.
32 output.mode_infos[17] = OutputConfigurator::ModeInfo(1024, 768, true, 70); 32 output.mode_infos[17] = OutputConfigurator::ModeInfo(1024, 768, true, 70);
33 output.mode_infos[18] = OutputConfigurator::ModeInfo(1024, 768, true, 60); 33 output.mode_infos[18] = OutputConfigurator::ModeInfo(1024, 768, true, 60);
34 34
35 // Mixed. 35 // Mixed.
36 output.mode_infos[19] = OutputConfigurator::ModeInfo(1024, 600, true, 60); 36 output.mode_infos[19] = OutputConfigurator::ModeInfo(1024, 600, true, 60);
37 output.mode_infos[20] = OutputConfigurator::ModeInfo(1024, 600, false, 70); 37 output.mode_infos[20] = OutputConfigurator::ModeInfo(1024, 600, false, 70);
38 output.mode_infos[21] = OutputConfigurator::ModeInfo(1024, 600, false, 60); 38 output.mode_infos[21] = OutputConfigurator::ModeInfo(1024, 600, false, 60);
39 39
40 // Just one interlaced mode. 40 // Just one interlaced mode.
41 output.mode_infos[22] = OutputConfigurator::ModeInfo(640, 480, true, 60); 41 output.mode_infos[22] = OutputConfigurator::ModeInfo(640, 480, true, 60);
42 42
43 std::vector<Resolution> resolutions = 43 std::vector<DisplayMode> display_modes =
44 DisplayChangeObserver::GetResolutionList(output); 44 DisplayChangeObserver::GetDisplayModeList(output);
45 ASSERT_EQ(6u, resolutions.size()); 45 ASSERT_EQ(6u, display_modes.size());
46 EXPECT_EQ("1920x1200", resolutions[0].size.ToString()); 46 EXPECT_EQ("1920x1200", display_modes[0].size.ToString());
47 EXPECT_FALSE(resolutions[0].interlaced); 47 EXPECT_FALSE(display_modes[0].interlaced);
48 EXPECT_EQ(display_modes[0].refresh_rate, 60);
48 49
49 EXPECT_EQ("1920x1080", resolutions[1].size.ToString()); 50 EXPECT_EQ("1920x1080", display_modes[1].size.ToString());
50 EXPECT_FALSE(resolutions[1].interlaced); 51 EXPECT_FALSE(display_modes[1].interlaced);
52 EXPECT_EQ(display_modes[1].refresh_rate, 80);
51 53
52 EXPECT_EQ("1280x720", resolutions[2].size.ToString()); 54 EXPECT_EQ("1280x720", display_modes[2].size.ToString());
53 EXPECT_FALSE(resolutions[2].interlaced); 55 EXPECT_FALSE(display_modes[2].interlaced);
56 EXPECT_EQ(display_modes[2].refresh_rate, 60);
54 57
55 EXPECT_EQ("1024x768", resolutions[3].size.ToString()); 58 EXPECT_EQ("1024x768", display_modes[3].size.ToString());
56 EXPECT_TRUE(resolutions[3].interlaced); 59 EXPECT_TRUE(display_modes[3].interlaced);
60 EXPECT_EQ(display_modes[3].refresh_rate, 70);
57 61
58 EXPECT_EQ("1024x600", resolutions[4].size.ToString()); 62 EXPECT_EQ("1024x600", display_modes[4].size.ToString());
59 EXPECT_FALSE(resolutions[4].interlaced); 63 EXPECT_FALSE(display_modes[4].interlaced);
64 EXPECT_EQ(display_modes[4].refresh_rate, 70);
60 65
61 EXPECT_EQ("640x480", resolutions[5].size.ToString()); 66 EXPECT_EQ("640x480", display_modes[5].size.ToString());
62 EXPECT_TRUE(resolutions[5].interlaced); 67 EXPECT_TRUE(display_modes[5].interlaced);
68 EXPECT_EQ(display_modes[5].refresh_rate, 60);
63 69
64 // Outputs without any modes shouldn't cause a crash. 70 // Outputs without any modes shouldn't cause a crash.
65 output.mode_infos.clear(); 71 output.mode_infos.clear();
66 resolutions = DisplayChangeObserver::GetResolutionList(output); 72 display_modes = DisplayChangeObserver::GetDisplayModeList(output);
67 EXPECT_EQ(0u, resolutions.size()); 73 EXPECT_EQ(0u, display_modes.size());
68 } 74 }
69 75
70 } // namespace internal 76 } // namespace internal
71 } // namespace ash 77 } // namespace ash
OLDNEW
« no previous file with comments | « ash/display/display_change_observer_chromeos.cc ('k') | ash/display/display_controller.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698