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

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

Issue 2803933003: Adds ash_mus_unittests to FYI bot (Closed)
Patch Set: feedback Created 3 years, 8 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
OLDNEW
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/display/mirror_window_controller.h" 5 #include "ash/display/mirror_window_controller.h"
6 6
7 #include "ash/display/window_tree_host_manager.h" 7 #include "ash/display/window_tree_host_manager.h"
8 #include "ash/shell.h" 8 #include "ash/shell.h"
9 #include "ash/test/ash_test_base.h" 9 #include "ash/test/ash_test_base.h"
10 #include "ash/test/cursor_manager_test_api.h" 10 #include "ash/test/cursor_manager_test_api.h"
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
47 } 47 }
48 void TearDown() override { test::AshTestBase::TearDown(); } 48 void TearDown() override { test::AshTestBase::TearDown(); }
49 49
50 private: 50 private:
51 DISALLOW_COPY_AND_ASSIGN(MirrorOnBootTest); 51 DISALLOW_COPY_AND_ASSIGN(MirrorOnBootTest);
52 }; 52 };
53 } 53 }
54 54
55 typedef test::AshTestBase MirrorWindowControllerTest; 55 typedef test::AshTestBase MirrorWindowControllerTest;
56 56
57 #if defined(OS_WIN) 57 TEST_F(MirrorWindowControllerTest, MirrorCursorBasic) {
58 // Software mirroring does not work on win.
59 #define MAYBE_MirrorCursorBasic DISABLED_MirrorCursorBasic
60 #define MAYBE_MirrorCursorLocations DISABLED_MirrorCursorLocations
61 #define MAYBE_MirrorCursorMoveOnEnter DISABLED_MirrorCursorMoveOnEnter
62 #define MAYBE_MirrorCursorRotate DISABLED_MirrorCursorRotate
63 #define MAYBE_DockMode DISABLED_DockMode
64 #define MAYBE_MirrorOnBoot DISABLED_MirrorOnBoot
65 #else
66 #define MAYBE_MirrorCursorBasic MirrorCursorBasic
67 #define MAYBE_MirrorCursorLocations MirrorCursorLocations
68 #define MAYBE_MirrorCursorMoveOnEnter MirrorCursorMoveOnEnter
69 #define MAYBE_MirrorCursorRotate MirrorCursorRotate
70 #define MAYBE_DockMode DockMode
71 #define MAYBE_MirrorOnBoot MirrorOnBoot
72 #endif
73
74 TEST_F(MirrorWindowControllerTest, MAYBE_MirrorCursorBasic) {
75 test::MirrorWindowTestApi test_api; 58 test::MirrorWindowTestApi test_api;
76 aura::test::TestWindowDelegate test_window_delegate; 59 aura::test::TestWindowDelegate test_window_delegate;
77 test_window_delegate.set_window_component(HTTOP); 60 test_window_delegate.set_window_component(HTTOP);
78 61
79 display_manager()->SetMultiDisplayMode(display::DisplayManager::MIRRORING); 62 display_manager()->SetMultiDisplayMode(display::DisplayManager::MIRRORING);
80 UpdateDisplay("400x400,400x400"); 63 UpdateDisplay("400x400,400x400");
81 aura::Window* root = Shell::Get()->GetPrimaryRootWindow(); 64 aura::Window* root = Shell::Get()->GetPrimaryRootWindow();
82 std::unique_ptr<aura::Window> window(aura::test::CreateTestWindowWithDelegate( 65 std::unique_ptr<aura::Window> window(aura::test::CreateTestWindowWithDelegate(
83 &test_window_delegate, 0, gfx::Rect(50, 50, 100, 100), root)); 66 &test_window_delegate, 0, gfx::Rect(50, 50, 100, 100), root));
84 window->Show(); 67 window->Show();
(...skipping 25 matching lines...) Expand all
110 EXPECT_FALSE(test_api.GetCursorWindow()->IsVisible()); 93 EXPECT_FALSE(test_api.GetCursorWindow()->IsVisible());
111 94
112 // Mouse event makes it visible again. 95 // Mouse event makes it visible again.
113 generator.MoveMouseTo(300, 300); 96 generator.MoveMouseTo(300, 300);
114 EXPECT_EQ("300,300", 97 EXPECT_EQ("300,300",
115 test_api.GetCursorHotPointLocationInRootWindow().ToString()); 98 test_api.GetCursorHotPointLocationInRootWindow().ToString());
116 EXPECT_EQ(ui::kCursorNull, test_api.GetCurrentCursorType()); 99 EXPECT_EQ(ui::kCursorNull, test_api.GetCurrentCursorType());
117 EXPECT_TRUE(test_api.GetCursorWindow()->IsVisible()); 100 EXPECT_TRUE(test_api.GetCursorWindow()->IsVisible());
118 } 101 }
119 102
120 TEST_F(MirrorWindowControllerTest, MAYBE_MirrorCursorRotate) { 103 TEST_F(MirrorWindowControllerTest, MirrorCursorRotate) {
121 test::MirrorWindowTestApi test_api; 104 test::MirrorWindowTestApi test_api;
122 aura::test::TestWindowDelegate test_window_delegate; 105 aura::test::TestWindowDelegate test_window_delegate;
123 test_window_delegate.set_window_component(HTTOP); 106 test_window_delegate.set_window_component(HTTOP);
124 107
125 display_manager()->SetMultiDisplayMode(display::DisplayManager::MIRRORING); 108 display_manager()->SetMultiDisplayMode(display::DisplayManager::MIRRORING);
126 UpdateDisplay("400x400,400x400"); 109 UpdateDisplay("400x400,400x400");
127 aura::Window* root = Shell::Get()->GetPrimaryRootWindow(); 110 aura::Window* root = Shell::Get()->GetPrimaryRootWindow();
128 std::unique_ptr<aura::Window> window(aura::test::CreateTestWindowWithDelegate( 111 std::unique_ptr<aura::Window> window(aura::test::CreateTestWindowWithDelegate(
129 &test_window_delegate, 0, gfx::Rect(50, 50, 100, 100), root)); 112 &test_window_delegate, 0, gfx::Rect(50, 50, 100, 100), root));
130 window->Show(); 113 window->Show();
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
164 EXPECT_EQ(ui::kCursorNorthResize, test_api.GetCurrentCursorType()); 147 EXPECT_EQ(ui::kCursorNorthResize, test_api.GetCurrentCursorType());
165 // Rotated hot point must be (12, 25-11). 148 // Rotated hot point must be (12, 25-11).
166 EXPECT_EQ("12,14", test_api.GetCursorHotPoint().ToString()); 149 EXPECT_EQ("12,14", test_api.GetCursorHotPoint().ToString());
167 EXPECT_EQ("100,300", 150 EXPECT_EQ("100,300",
168 test_api.GetCursorHotPointLocationInRootWindow().ToString()); 151 test_api.GetCursorHotPointLocationInRootWindow().ToString());
169 } 152 }
170 153
171 // Make sure that the mirror cursor's location is same as 154 // Make sure that the mirror cursor's location is same as
172 // the source display's host location in the mirror root window's 155 // the source display's host location in the mirror root window's
173 // coordinates. 156 // coordinates.
174 TEST_F(MirrorWindowControllerTest, MAYBE_MirrorCursorLocations) { 157 TEST_F(MirrorWindowControllerTest, MirrorCursorLocations) {
175 test::MirrorWindowTestApi test_api; 158 test::MirrorWindowTestApi test_api;
176 display_manager()->SetMultiDisplayMode(display::DisplayManager::MIRRORING); 159 display_manager()->SetMultiDisplayMode(display::DisplayManager::MIRRORING);
177 160
178 // Test with device scale factor. 161 // Test with device scale factor.
179 UpdateDisplay("400x600*2,400x600"); 162 UpdateDisplay("400x600*2,400x600");
180 163
181 aura::Window* root = Shell::Get()->GetPrimaryRootWindow(); 164 aura::Window* root = Shell::Get()->GetPrimaryRootWindow();
182 ui::test::EventGenerator generator(root); 165 ui::test::EventGenerator generator(root);
183 generator.MoveMouseToInHost(10, 20); 166 generator.MoveMouseToInHost(10, 20);
184 167
(...skipping 13 matching lines...) Expand all
198 UpdateDisplay("400x600/r,400x600"); 181 UpdateDisplay("400x600/r,400x600");
199 generator.MoveMouseToInHost(30, 40); 182 generator.MoveMouseToInHost(30, 40);
200 183
201 EXPECT_EQ("21,4", test_api.GetCursorHotPoint().ToString()); 184 EXPECT_EQ("21,4", test_api.GetCursorHotPoint().ToString());
202 EXPECT_EQ("30,40", 185 EXPECT_EQ("30,40",
203 test_api.GetCursorHotPointLocationInRootWindow().ToString()); 186 test_api.GetCursorHotPointLocationInRootWindow().ToString());
204 } 187 }
205 188
206 // Test the behavior of the cursor when entering software mirror mode swaps the 189 // Test the behavior of the cursor when entering software mirror mode swaps the
207 // cursor's display. 190 // cursor's display.
208 TEST_F(MirrorWindowControllerTest, MAYBE_MirrorCursorMoveOnEnter) { 191 TEST_F(MirrorWindowControllerTest, MirrorCursorMoveOnEnter) {
209 aura::Env* env = aura::Env::GetInstance(); 192 aura::Env* env = aura::Env::GetInstance();
210 Shell* shell = Shell::Get(); 193 Shell* shell = Shell::Get();
211 WindowTreeHostManager* window_tree_host_manager = 194 WindowTreeHostManager* window_tree_host_manager =
212 shell->window_tree_host_manager(); 195 shell->window_tree_host_manager();
213 196
214 UpdateDisplay("400x400*2/r,400x400"); 197 UpdateDisplay("400x400*2/r,400x400");
215 int64_t primary_display_id = window_tree_host_manager->GetPrimaryDisplayId(); 198 int64_t primary_display_id = window_tree_host_manager->GetPrimaryDisplayId();
216 int64_t secondary_display_id = display_manager()->GetSecondaryDisplay().id(); 199 int64_t secondary_display_id = display_manager()->GetSecondaryDisplay().id();
217 display::test::ScopedSetInternalDisplayId set_internal(display_manager(), 200 display::test::ScopedSetInternalDisplayId set_internal(display_manager(),
218 primary_display_id); 201 primary_display_id);
(...skipping 27 matching lines...) Expand all
246 // Rotated hot point must be (25-7, 7). 229 // Rotated hot point must be (25-7, 7).
247 EXPECT_EQ("18,7", test_api.GetCursorHotPoint().ToString()); 230 EXPECT_EQ("18,7", test_api.GetCursorHotPoint().ToString());
248 // New coordinates are not (200,200) because (200,200) is not the center of 231 // New coordinates are not (200,200) because (200,200) is not the center of
249 // the display. 232 // the display.
250 EXPECT_EQ("199,200", 233 EXPECT_EQ("199,200",
251 test_api.GetCursorHotPointLocationInRootWindow().ToString()); 234 test_api.GetCursorHotPointLocationInRootWindow().ToString());
252 } 235 }
253 236
254 // Make sure that the compositor based mirroring can switch 237 // Make sure that the compositor based mirroring can switch
255 // from/to dock mode. 238 // from/to dock mode.
256 TEST_F(MirrorWindowControllerTest, MAYBE_DockMode) { 239 TEST_F(MirrorWindowControllerTest, DockMode) {
257 const int64_t internal_id = 1; 240 const int64_t internal_id = 1;
258 const int64_t external_id = 2; 241 const int64_t external_id = 2;
259 242
260 const display::ManagedDisplayInfo internal_display_info = 243 const display::ManagedDisplayInfo internal_display_info =
261 CreateDisplayInfo(internal_id, gfx::Rect(0, 0, 500, 500)); 244 CreateDisplayInfo(internal_id, gfx::Rect(0, 0, 500, 500));
262 const display::ManagedDisplayInfo external_display_info = 245 const display::ManagedDisplayInfo external_display_info =
263 CreateDisplayInfo(external_id, gfx::Rect(1, 1, 100, 100)); 246 CreateDisplayInfo(external_id, gfx::Rect(1, 1, 100, 100));
264 std::vector<display::ManagedDisplayInfo> display_info_list; 247 std::vector<display::ManagedDisplayInfo> display_info_list;
265 248
266 display_manager()->SetMultiDisplayMode(display::DisplayManager::MIRRORING); 249 display_manager()->SetMultiDisplayMode(display::DisplayManager::MIRRORING);
(...skipping 23 matching lines...) Expand all
290 display_info_list.clear(); 273 display_info_list.clear();
291 display_info_list.push_back(internal_display_info); 274 display_info_list.push_back(internal_display_info);
292 display_info_list.push_back(external_display_info); 275 display_info_list.push_back(external_display_info);
293 display_manager()->SetMultiDisplayMode(display::DisplayManager::MIRRORING); 276 display_manager()->SetMultiDisplayMode(display::DisplayManager::MIRRORING);
294 display_manager()->OnNativeDisplaysChanged(display_info_list); 277 display_manager()->OnNativeDisplaysChanged(display_info_list);
295 EXPECT_EQ(1U, display_manager()->GetNumDisplays()); 278 EXPECT_EQ(1U, display_manager()->GetNumDisplays());
296 EXPECT_TRUE(display_manager()->IsInMirrorMode()); 279 EXPECT_TRUE(display_manager()->IsInMirrorMode());
297 EXPECT_EQ(external_id, display_manager()->mirroring_display_id()); 280 EXPECT_EQ(external_id, display_manager()->mirroring_display_id());
298 } 281 }
299 282
300 TEST_F(MirrorOnBootTest, MAYBE_MirrorOnBoot) { 283 TEST_F(MirrorOnBootTest, MirrorOnBoot) {
301 EXPECT_TRUE(display_manager()->IsInMirrorMode()); 284 EXPECT_TRUE(display_manager()->IsInMirrorMode());
302 RunAllPendingInMessageLoop(); 285 RunAllPendingInMessageLoop();
303 test::MirrorWindowTestApi test_api; 286 test::MirrorWindowTestApi test_api;
304 EXPECT_TRUE(test_api.GetHost()); 287 EXPECT_TRUE(test_api.GetHost());
305 } 288 }
306 289
307 } // namespace ash 290 } // namespace ash
OLDNEW
« no previous file with comments | « ash/display/display_configuration_controller_unittest.cc ('k') | ash/display/root_window_transformers_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698