Index: trunk/src/ui/views/widget/desktop_aura/desktop_screen_x11_unittest.cc |
=================================================================== |
--- trunk/src/ui/views/widget/desktop_aura/desktop_screen_x11_unittest.cc (revision 225060) |
+++ trunk/src/ui/views/widget/desktop_aura/desktop_screen_x11_unittest.cc (working copy) |
@@ -1,186 +0,0 @@ |
-// Copyright (c) 2013 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "ui/views/widget/desktop_aura/desktop_screen_x11.h" |
- |
-#include "base/message_loop/message_loop.h" |
-#include "testing/gtest/include/gtest/gtest.h" |
-#include "ui/gfx/display_observer.h" |
- |
-namespace views { |
- |
-const int64 kFirstDisplay = 5321829; |
-const int64 kSecondDisplay = 928310; |
- |
-class DesktopScreenX11Test : public testing::Test, |
- public gfx::DisplayObserver { |
- public: |
- DesktopScreenX11Test() {} |
- virtual ~DesktopScreenX11Test() {} |
- |
- // Overridden from testing::Test: |
- virtual void SetUp() OVERRIDE { |
- // Initialize the world to the single monitor case. |
- std::vector<gfx::Display> displays; |
- displays.push_back(gfx::Display(kFirstDisplay, gfx::Rect(0, 0, 640, 480))); |
- screen_.reset(new DesktopScreenX11(displays)); |
- screen_->AddObserver(this); |
- } |
- virtual void TearDown() OVERRIDE { |
- screen_.reset(); |
- message_loop_.RunUntilIdle(); |
- } |
- |
- protected: |
- std::vector<gfx::Display> changed_display_; |
- std::vector<gfx::Display> added_display_; |
- std::vector<gfx::Display> removed_display_; |
- |
- DesktopScreenX11* screen() { return screen_.get(); } |
- |
- void ResetDisplayChanges() { |
- changed_display_.clear(); |
- added_display_.clear(); |
- removed_display_.clear(); |
- } |
- |
- private: |
- // Overridden from gfx::DisplayObserver: |
- virtual void OnDisplayBoundsChanged(const gfx::Display& display) OVERRIDE { |
- changed_display_.push_back(display); |
- } |
- |
- virtual void OnDisplayAdded(const gfx::Display& new_display) OVERRIDE { |
- added_display_.push_back(new_display); |
- } |
- |
- virtual void OnDisplayRemoved(const gfx::Display& old_display) OVERRIDE { |
- removed_display_.push_back(old_display); |
- } |
- |
- base::MessageLoopForUI message_loop_; |
- scoped_ptr<DesktopScreenX11> screen_; |
- |
- DISALLOW_COPY_AND_ASSIGN(DesktopScreenX11Test); |
-}; |
- |
-TEST_F(DesktopScreenX11Test, BoundsChangeSingleMonitor) { |
- std::vector<gfx::Display> displays; |
- displays.push_back(gfx::Display(kFirstDisplay, gfx::Rect(0, 0, 1024, 768))); |
- screen()->ProcessDisplayChange(displays); |
- |
- EXPECT_EQ(1u, changed_display_.size()); |
- EXPECT_EQ(0u, added_display_.size()); |
- EXPECT_EQ(0u, removed_display_.size()); |
-} |
- |
-TEST_F(DesktopScreenX11Test, AddMonitorToTheRight) { |
- std::vector<gfx::Display> displays; |
- displays.push_back(gfx::Display(kFirstDisplay, gfx::Rect(0, 0, 640, 480))); |
- displays.push_back(gfx::Display(kSecondDisplay, |
- gfx::Rect(640, 0, 1024, 768))); |
- screen()->ProcessDisplayChange(displays); |
- |
- EXPECT_EQ(0u, changed_display_.size()); |
- EXPECT_EQ(1u, added_display_.size()); |
- EXPECT_EQ(0u, removed_display_.size()); |
-} |
- |
-TEST_F(DesktopScreenX11Test, AddMonitorToTheLeft) { |
- std::vector<gfx::Display> displays; |
- displays.push_back(gfx::Display(kSecondDisplay, gfx::Rect(0, 0, 1024, 768))); |
- displays.push_back(gfx::Display(kFirstDisplay, gfx::Rect(1024, 0, 640, 480))); |
- screen()->ProcessDisplayChange(displays); |
- |
- EXPECT_EQ(1u, changed_display_.size()); |
- EXPECT_EQ(1u, added_display_.size()); |
- EXPECT_EQ(0u, removed_display_.size()); |
-} |
- |
-TEST_F(DesktopScreenX11Test, RemoveMonitorOnRight) { |
- std::vector<gfx::Display> displays; |
- displays.push_back(gfx::Display(kFirstDisplay, gfx::Rect(0, 0, 640, 480))); |
- displays.push_back(gfx::Display(kSecondDisplay, |
- gfx::Rect(640, 0, 1024, 768))); |
- screen()->ProcessDisplayChange(displays); |
- |
- ResetDisplayChanges(); |
- |
- displays.clear(); |
- displays.push_back(gfx::Display(kFirstDisplay, gfx::Rect(0, 0, 640, 480))); |
- screen()->ProcessDisplayChange(displays); |
- |
- EXPECT_EQ(0u, changed_display_.size()); |
- EXPECT_EQ(0u, added_display_.size()); |
- EXPECT_EQ(1u, removed_display_.size()); |
-} |
- |
-TEST_F(DesktopScreenX11Test, RemoveMonitorOnLeft) { |
- std::vector<gfx::Display> displays; |
- displays.push_back(gfx::Display(kFirstDisplay, gfx::Rect(0, 0, 640, 480))); |
- displays.push_back(gfx::Display(kSecondDisplay, |
- gfx::Rect(640, 0, 1024, 768))); |
- screen()->ProcessDisplayChange(displays); |
- |
- ResetDisplayChanges(); |
- |
- displays.clear(); |
- displays.push_back(gfx::Display(kSecondDisplay, gfx::Rect(0, 0, 1024, 768))); |
- screen()->ProcessDisplayChange(displays); |
- |
- EXPECT_EQ(1u, changed_display_.size()); |
- EXPECT_EQ(0u, added_display_.size()); |
- EXPECT_EQ(1u, removed_display_.size()); |
-} |
- |
-TEST_F(DesktopScreenX11Test, GetDisplayNearestPoint) { |
- std::vector<gfx::Display> displays; |
- displays.push_back(gfx::Display(kFirstDisplay, gfx::Rect(0, 0, 640, 480))); |
- displays.push_back(gfx::Display(kSecondDisplay, |
- gfx::Rect(640, 0, 1024, 768))); |
- screen()->ProcessDisplayChange(displays); |
- |
- EXPECT_EQ(kSecondDisplay, |
- screen()->GetDisplayNearestPoint(gfx::Point(650, 10)).id()); |
- EXPECT_EQ(kFirstDisplay, |
- screen()->GetDisplayNearestPoint(gfx::Point(10, 10)).id()); |
- EXPECT_EQ(kFirstDisplay, |
- screen()->GetDisplayNearestPoint(gfx::Point(10000, 10000)).id()); |
-} |
- |
-TEST_F(DesktopScreenX11Test, GetDisplayMatchingBasic) { |
- std::vector<gfx::Display> displays; |
- displays.push_back(gfx::Display(kFirstDisplay, gfx::Rect(0, 0, 640, 480))); |
- displays.push_back(gfx::Display(kSecondDisplay, |
- gfx::Rect(640, 0, 1024, 768))); |
- screen()->ProcessDisplayChange(displays); |
- |
- EXPECT_EQ(kSecondDisplay, |
- screen()->GetDisplayMatching(gfx::Rect(700, 20, 100, 100)).id()); |
-} |
- |
-TEST_F(DesktopScreenX11Test, GetDisplayMatchingOverlap) { |
- std::vector<gfx::Display> displays; |
- displays.push_back(gfx::Display(kFirstDisplay, gfx::Rect(0, 0, 640, 480))); |
- displays.push_back(gfx::Display(kSecondDisplay, |
- gfx::Rect(640, 0, 1024, 768))); |
- screen()->ProcessDisplayChange(displays); |
- |
- EXPECT_EQ(kSecondDisplay, |
- screen()->GetDisplayMatching(gfx::Rect(630, 20, 100, 100)).id()); |
-} |
- |
-TEST_F(DesktopScreenX11Test, GetPrimaryDisplay) { |
- std::vector<gfx::Display> displays; |
- displays.push_back(gfx::Display(kFirstDisplay, |
- gfx::Rect(640, 0, 1024, 768))); |
- displays.push_back(gfx::Display(kSecondDisplay, gfx::Rect(0, 0, 640, 480))); |
- screen()->ProcessDisplayChange(displays); |
- |
- // The first display in the list is always the primary, even if other |
- // displays are to the left in screen layout. |
- EXPECT_EQ(kFirstDisplay, screen()->GetPrimaryDisplay().id()); |
-} |
- |
-} // namespace views |