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

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

Issue 11419271: Revert "Use WS_POPUP for ash_unittests" (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years 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/dip_unittest.cc ('k') | ash/display/display_manager_unittest.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 (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 "ash/display/display_controller.h" 5 #include "ash/display/display_controller.h"
6 6
7 #include "ash/display/display_manager.h" 7 #include "ash/display/display_manager.h"
8 #include "ash/launcher/launcher.h" 8 #include "ash/launcher/launcher.h"
9 #include "ash/screen_ash.h" 9 #include "ash/screen_ash.h"
10 #include "ash/shell.h" 10 #include "ash/shell.h"
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
91 gfx::Display primary = gfx::Screen::GetNativeScreen()->GetPrimaryDisplay(); 91 gfx::Display primary = gfx::Screen::GetNativeScreen()->GetPrimaryDisplay();
92 EXPECT_EQ("0,0 444x333", primary.bounds().ToString()); 92 EXPECT_EQ("0,0 444x333", primary.bounds().ToString());
93 EXPECT_EQ(2, gfx::Screen::GetNativeScreen()->GetNumDisplays()); 93 EXPECT_EQ(2, gfx::Screen::GetNativeScreen()->GetNumDisplays());
94 } 94 }
95 }; 95 };
96 96
97 } // namespace 97 } // namespace
98 98
99 typedef test::AshTestBase DisplayControllerTest; 99 typedef test::AshTestBase DisplayControllerTest;
100 100
101 TEST_F(DisplayControllerShutdownTest, Shutdown) { 101 #if defined(OS_WIN)
102 // TODO(oshima): Windows creates a window with smaller client area.
103 // Fix this and enable tests.
104 #define MAYBE_SecondaryDisplayLayout DISABLED_SecondaryDisplayLayout
105 #define MAYBE_BoundsUpdated DISABLED_BoundsUpdated
106 #define MAYBE_UpdateDisplayWithHostOrigin DISABLED_UpdateDisplayWithHostOrigin
107 #define MAYBE_CursorDeviceScaleFactorSwapPrimary \
108 DISABLED_CursorDeviceScaleFactorSwapPrimary
109 #define MAYBE_Shutdown DISABLED_Shutdown
110 #else
111 #define MAYBE_SecondaryDisplayLayout SecondaryDisplayLayout
112 #define MAYBE_BoundsUpdated BoundsUpdated
113 #define MAYBE_CursorDeviceScaleFactorSwapPrimary \
114 CursorDeviceScaleFactorSwapPrimary
115 #define MAYBE_UpdateDisplayWithHostOrigin UpdateDisplayWithHostOrigin
116 #define MAYBE_Shutdown Shutdown
117 #endif
118
119 TEST_F(DisplayControllerShutdownTest, MAYBE_Shutdown) {
102 UpdateDisplay("444x333, 200x200"); 120 UpdateDisplay("444x333, 200x200");
103 } 121 }
104 122
105 TEST_F(DisplayControllerTest, SecondaryDisplayLayout) { 123 // Flaky - crbug.com/161857
124 TEST_F(DisplayControllerTest, MAYBE_SecondaryDisplayLayout) {
106 TestObserver observer; 125 TestObserver observer;
107 UpdateDisplay("500x500,400x400"); 126 UpdateDisplay("500x500,400x400");
108 EXPECT_EQ(2, observer.CountAndReset()) 127 EXPECT_EQ(2, observer.CountAndReset())
109 << observer.ToString(); // resize and add 128 << observer.ToString(); // resize and add
110 gfx::Display* secondary_display = 129 gfx::Display* secondary_display =
111 Shell::GetInstance()->display_manager()->GetDisplayAt(1); 130 Shell::GetInstance()->display_manager()->GetDisplayAt(1);
112 gfx::Insets insets(5, 5, 5, 5); 131 gfx::Insets insets(5, 5, 5, 5);
113 secondary_display->UpdateWorkAreaFromInsets(insets); 132 secondary_display->UpdateWorkAreaFromInsets(insets);
114 133
115 // Default layout is RIGHT. 134 // Default layout is RIGHT.
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
200 SetSecondaryDisplayLayoutAndOffset(DisplayLayout::BOTTOM, -400); 219 SetSecondaryDisplayLayoutAndOffset(DisplayLayout::BOTTOM, -400);
201 EXPECT_EQ(1, observer.CountAndReset()) 220 EXPECT_EQ(1, observer.CountAndReset())
202 << observer.ToString(); 221 << observer.ToString();
203 EXPECT_EQ("0,0 500x500", GetPrimaryDisplay().bounds().ToString()) 222 EXPECT_EQ("0,0 500x500", GetPrimaryDisplay().bounds().ToString())
204 << observer.ToString(); 223 << observer.ToString();
205 EXPECT_EQ("-300,500 400x400", GetSecondaryDisplay().bounds().ToString()) 224 EXPECT_EQ("-300,500 400x400", GetSecondaryDisplay().bounds().ToString())
206 << observer.ToString(); 225 << observer.ToString();
207 226
208 } 227 }
209 228
210 TEST_F(DisplayControllerTest, BoundsUpdated) { 229 TEST_F(DisplayControllerTest, MAYBE_BoundsUpdated) {
211 TestObserver observer; 230 TestObserver observer;
212 SetSecondaryDisplayLayout(DisplayLayout::BOTTOM); 231 SetSecondaryDisplayLayout(DisplayLayout::BOTTOM);
213 UpdateDisplay("200x200,300x300"); // layout, resize and add. 232 UpdateDisplay("200x200,300x300"); // layout, resize and add.
214 EXPECT_EQ(3, observer.CountAndReset()); 233 EXPECT_EQ(3, observer.CountAndReset());
215 234
216 gfx::Display* secondary_display = 235 gfx::Display* secondary_display =
217 Shell::GetInstance()->display_manager()->GetDisplayAt(1); 236 Shell::GetInstance()->display_manager()->GetDisplayAt(1);
218 gfx::Insets insets(5, 5, 5, 5); 237 gfx::Insets insets(5, 5, 5, 5);
219 secondary_display->UpdateWorkAreaFromInsets(insets); 238 secondary_display->UpdateWorkAreaFromInsets(insets);
220 239
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
298 aura::Window* launcher_window = 317 aura::Window* launcher_window =
299 Launcher::ForPrimaryDisplay()->widget()->GetNativeView(); 318 Launcher::ForPrimaryDisplay()->widget()->GetNativeView();
300 EXPECT_TRUE(primary_root->Contains(launcher_window)); 319 EXPECT_TRUE(primary_root->Contains(launcher_window));
301 EXPECT_FALSE(secondary_root->Contains(launcher_window)); 320 EXPECT_FALSE(secondary_root->Contains(launcher_window));
302 EXPECT_EQ(primary_display.id(), 321 EXPECT_EQ(primary_display.id(),
303 Shell::GetScreen()->GetDisplayNearestPoint( 322 Shell::GetScreen()->GetDisplayNearestPoint(
304 gfx::Point(-100, -100)).id()); 323 gfx::Point(-100, -100)).id());
305 EXPECT_EQ(primary_display.id(), 324 EXPECT_EQ(primary_display.id(),
306 Shell::GetScreen()->GetDisplayNearestWindow(NULL).id()); 325 Shell::GetScreen()->GetDisplayNearestWindow(NULL).id());
307 326
327 #if !defined(OS_WIN)
308 EXPECT_EQ("0,0 200x200", primary_display.bounds().ToString()); 328 EXPECT_EQ("0,0 200x200", primary_display.bounds().ToString());
309 EXPECT_EQ("0,0 200x152", primary_display.work_area().ToString()); 329 EXPECT_EQ("0,0 200x152", primary_display.work_area().ToString());
310 EXPECT_EQ("200,0 300x300", secondary_display.bounds().ToString()); 330 EXPECT_EQ("200,0 300x300", secondary_display.bounds().ToString());
311 EXPECT_EQ("200,0 300x300", secondary_display.work_area().ToString()); 331 EXPECT_EQ("200,0 300x300", secondary_display.work_area().ToString());
332 #endif
312 333
313 // Switch primary and secondary 334 // Switch primary and secondary
314 display_controller->SetPrimaryDisplay(secondary_display); 335 display_controller->SetPrimaryDisplay(secondary_display);
315 EXPECT_EQ(secondary_display.id(), 336 EXPECT_EQ(secondary_display.id(),
316 Shell::GetScreen()->GetPrimaryDisplay().id()); 337 Shell::GetScreen()->GetPrimaryDisplay().id());
317 EXPECT_EQ(primary_display.id(), ScreenAsh::GetSecondaryDisplay().id()); 338 EXPECT_EQ(primary_display.id(), ScreenAsh::GetSecondaryDisplay().id());
318 EXPECT_EQ(secondary_display.id(), 339 EXPECT_EQ(secondary_display.id(),
319 Shell::GetScreen()->GetDisplayNearestPoint( 340 Shell::GetScreen()->GetDisplayNearestPoint(
320 gfx::Point(-100, -100)).id()); 341 gfx::Point(-100, -100)).id());
321 EXPECT_EQ(secondary_display.id(), 342 EXPECT_EQ(secondary_display.id(),
322 Shell::GetScreen()->GetDisplayNearestWindow(NULL).id()); 343 Shell::GetScreen()->GetDisplayNearestWindow(NULL).id());
323 344
324 EXPECT_EQ( 345 EXPECT_EQ(
325 primary_root, 346 primary_root,
326 display_controller->GetRootWindowForDisplayId(secondary_display.id())); 347 display_controller->GetRootWindowForDisplayId(secondary_display.id()));
327 EXPECT_EQ( 348 EXPECT_EQ(
328 secondary_root, 349 secondary_root,
329 display_controller->GetRootWindowForDisplayId(primary_display.id())); 350 display_controller->GetRootWindowForDisplayId(primary_display.id()));
330 EXPECT_TRUE(primary_root->Contains(launcher_window)); 351 EXPECT_TRUE(primary_root->Contains(launcher_window));
331 EXPECT_FALSE(secondary_root->Contains(launcher_window)); 352 EXPECT_FALSE(secondary_root->Contains(launcher_window));
332 353
354 #if !defined(OS_WIN)
333 // Test if the bounds are correctly swapped. 355 // Test if the bounds are correctly swapped.
334 gfx::Display swapped_primary = Shell::GetScreen()->GetPrimaryDisplay(); 356 gfx::Display swapped_primary = Shell::GetScreen()->GetPrimaryDisplay();
335 gfx::Display swapped_secondary = ScreenAsh::GetSecondaryDisplay(); 357 gfx::Display swapped_secondary = ScreenAsh::GetSecondaryDisplay();
336 EXPECT_EQ("0,0 300x300", swapped_primary.bounds().ToString()); 358 EXPECT_EQ("0,0 300x300", swapped_primary.bounds().ToString());
337 EXPECT_EQ("0,0 300x252", swapped_primary.work_area().ToString()); 359 EXPECT_EQ("0,0 300x252", swapped_primary.work_area().ToString());
338 EXPECT_EQ("-200,-50 200x200", swapped_secondary.bounds().ToString()); 360 EXPECT_EQ("-200,-50 200x200", swapped_secondary.bounds().ToString());
339 EXPECT_EQ("-200,-50 200x200", swapped_secondary.work_area().ToString()); 361 EXPECT_EQ("-200,-50 200x200", swapped_secondary.work_area().ToString());
362 #endif
340 363
341 const DisplayLayout& inverted_layout = 364 const DisplayLayout& inverted_layout =
342 display_controller->GetLayoutForDisplay(primary_display); 365 display_controller->GetLayoutForDisplay(primary_display);
343 366
344 EXPECT_EQ("left, -50", inverted_layout.ToString()); 367 EXPECT_EQ("left, -50", inverted_layout.ToString());
345 368
346 aura::WindowTracker tracker; 369 aura::WindowTracker tracker;
347 tracker.Add(primary_root); 370 tracker.Add(primary_root);
348 tracker.Add(secondary_root); 371 tracker.Add(secondary_root);
349 372
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
472 EXPECT_EQ(third_display.id(), ScreenAsh::GetSecondaryDisplay().id()); 495 EXPECT_EQ(third_display.id(), ScreenAsh::GetSecondaryDisplay().id());
473 EXPECT_EQ( 496 EXPECT_EQ(
474 primary_root, 497 primary_root,
475 display_controller->GetRootWindowForDisplayId(primary_display.id())); 498 display_controller->GetRootWindowForDisplayId(primary_display.id()));
476 EXPECT_NE( 499 EXPECT_NE(
477 primary_root, 500 primary_root,
478 display_controller->GetRootWindowForDisplayId(third_display.id())); 501 display_controller->GetRootWindowForDisplayId(third_display.id()));
479 EXPECT_TRUE(primary_root->Contains(launcher_window)); 502 EXPECT_TRUE(primary_root->Contains(launcher_window));
480 } 503 }
481 504
482 TEST_F(DisplayControllerTest, CursorDeviceScaleFactorSwapPrimary) { 505 TEST_F(DisplayControllerTest, MAYBE_CursorDeviceScaleFactorSwapPrimary) {
483 DisplayController* display_controller = 506 DisplayController* display_controller =
484 Shell::GetInstance()->display_controller(); 507 Shell::GetInstance()->display_controller();
485 508
486 UpdateDisplay("200x200,200x200*2"); 509 UpdateDisplay("200x200,200x200*2");
487 gfx::Display primary_display = Shell::GetScreen()->GetPrimaryDisplay(); 510 gfx::Display primary_display = Shell::GetScreen()->GetPrimaryDisplay();
488 gfx::Display secondary_display = ScreenAsh::GetSecondaryDisplay(); 511 gfx::Display secondary_display = ScreenAsh::GetSecondaryDisplay();
489 512
490 aura::RootWindow* primary_root = 513 aura::RootWindow* primary_root =
491 display_controller->GetRootWindowForDisplayId(primary_display.id()); 514 display_controller->GetRootWindowForDisplayId(primary_display.id());
492 aura::RootWindow* secondary_root = 515 aura::RootWindow* secondary_root =
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
524 547
525 // Cursor's device scale factor should be updated even without moving cursor. 548 // Cursor's device scale factor should be updated even without moving cursor.
526 EXPECT_EQ(1.0f, test_api.GetDeviceScaleFactor()); 549 EXPECT_EQ(1.0f, test_api.GetDeviceScaleFactor());
527 550
528 primary_root->MoveCursorTo(gfx::Point(50, 50)); 551 primary_root->MoveCursorTo(gfx::Point(50, 50));
529 EXPECT_EQ(1.0f, 552 EXPECT_EQ(1.0f,
530 primary_root->AsRootWindowHostDelegate()->GetDeviceScaleFactor()); 553 primary_root->AsRootWindowHostDelegate()->GetDeviceScaleFactor());
531 EXPECT_EQ(1.0f, test_api.GetDeviceScaleFactor()); 554 EXPECT_EQ(1.0f, test_api.GetDeviceScaleFactor());
532 } 555 }
533 556
534 #if defined(OS_WIN)
535 // TODO(oshima): On Windows, we don't update the origin/size right away.
536 #define MAYBE_UpdateDisplayWithHostOrigin DISABLED_UpdateDisplayWithHostOrigin
537 #else
538 #define MAYBE_UpdateDisplayWithHostOrigin UpdateDisplayWithHostOrigin
539 #endif
540
541 TEST_F(DisplayControllerTest, MAYBE_UpdateDisplayWithHostOrigin) { 557 TEST_F(DisplayControllerTest, MAYBE_UpdateDisplayWithHostOrigin) {
542 UpdateDisplay("100x200,300x400"); 558 UpdateDisplay("100x200,300x400");
543 ASSERT_EQ(2, Shell::GetScreen()->GetNumDisplays()); 559 ASSERT_EQ(2, Shell::GetScreen()->GetNumDisplays());
544 Shell::RootWindowList root_windows = 560 Shell::RootWindowList root_windows =
545 Shell::GetInstance()->GetAllRootWindows(); 561 Shell::GetInstance()->GetAllRootWindows();
546 ASSERT_EQ(2U, root_windows.size()); 562 ASSERT_EQ(2U, root_windows.size());
547 EXPECT_EQ("1,1", root_windows[0]->GetHostOrigin().ToString()); 563 EXPECT_EQ("0,0", root_windows[0]->GetHostOrigin().ToString());
548 EXPECT_EQ("100x200", root_windows[0]->GetHostSize().ToString()); 564 EXPECT_EQ("100x200", root_windows[0]->GetHostSize().ToString());
549 // UpdateDisplay set the origin if it's not set. 565 // UpdateDisplay set the origin if it's not set.
550 EXPECT_NE("1,1", root_windows[1]->GetHostOrigin().ToString()); 566 EXPECT_NE("0,0", root_windows[1]->GetHostOrigin().ToString());
551 EXPECT_EQ("300x400", root_windows[1]->GetHostSize().ToString()); 567 EXPECT_EQ("300x400", root_windows[1]->GetHostSize().ToString());
552 568
553 UpdateDisplay("100x200,200+300-300x400"); 569 UpdateDisplay("100x200,200+300-300x400");
554 ASSERT_EQ(2, Shell::GetScreen()->GetNumDisplays()); 570 ASSERT_EQ(2, Shell::GetScreen()->GetNumDisplays());
555 EXPECT_EQ("0,0", root_windows[0]->GetHostOrigin().ToString()); 571 EXPECT_EQ("0,0", root_windows[0]->GetHostOrigin().ToString());
556 EXPECT_EQ("100x200", root_windows[0]->GetHostSize().ToString()); 572 EXPECT_EQ("100x200", root_windows[0]->GetHostSize().ToString());
557 EXPECT_EQ("200,300", root_windows[1]->GetHostOrigin().ToString()); 573 EXPECT_EQ("200,300", root_windows[1]->GetHostOrigin().ToString());
558 EXPECT_EQ("300x400", root_windows[1]->GetHostSize().ToString()); 574 EXPECT_EQ("300x400", root_windows[1]->GetHostSize().ToString());
559 575
560 UpdateDisplay("400+500-200x300,300x400"); 576 UpdateDisplay("400+500-200x300,300x400");
561 ASSERT_EQ(2, Shell::GetScreen()->GetNumDisplays()); 577 ASSERT_EQ(2, Shell::GetScreen()->GetNumDisplays());
562 EXPECT_EQ("400,500", root_windows[0]->GetHostOrigin().ToString()); 578 EXPECT_EQ("400,500", root_windows[0]->GetHostOrigin().ToString());
563 EXPECT_EQ("200x300", root_windows[0]->GetHostSize().ToString()); 579 EXPECT_EQ("200x300", root_windows[0]->GetHostSize().ToString());
564 EXPECT_EQ("0,0", root_windows[1]->GetHostOrigin().ToString()); 580 EXPECT_EQ("0,0", root_windows[1]->GetHostOrigin().ToString());
565 EXPECT_EQ("300x400", root_windows[1]->GetHostSize().ToString()); 581 EXPECT_EQ("300x400", root_windows[1]->GetHostSize().ToString());
566 582
567 UpdateDisplay("100+200-100x200,300+500-200x300"); 583 UpdateDisplay("100+200-100x200,300+500-200x300");
568 ASSERT_EQ(2, Shell::GetScreen()->GetNumDisplays()); 584 ASSERT_EQ(2, Shell::GetScreen()->GetNumDisplays());
569 EXPECT_EQ("100,200", root_windows[0]->GetHostOrigin().ToString()); 585 EXPECT_EQ("100,200", root_windows[0]->GetHostOrigin().ToString());
570 EXPECT_EQ("100x200", root_windows[0]->GetHostSize().ToString()); 586 EXPECT_EQ("100x200", root_windows[0]->GetHostSize().ToString());
571 EXPECT_EQ("300,500", root_windows[1]->GetHostOrigin().ToString()); 587 EXPECT_EQ("300,500", root_windows[1]->GetHostOrigin().ToString());
572 EXPECT_EQ("200x300", root_windows[1]->GetHostSize().ToString()); 588 EXPECT_EQ("200x300", root_windows[1]->GetHostSize().ToString());
573 } 589 }
574 590
575 } // namespace test 591 } // namespace test
576 } // namespace ash 592 } // namespace ash
OLDNEW
« no previous file with comments | « ash/dip_unittest.cc ('k') | ash/display/display_manager_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698