Index: ui/views/corewm/cursor_manager_unittest.cc |
diff --git a/ui/views/corewm/cursor_manager_unittest.cc b/ui/views/corewm/cursor_manager_unittest.cc |
deleted file mode 100644 |
index 3e6d72330377db73c2d4dbb5551ffacb42247276..0000000000000000000000000000000000000000 |
--- a/ui/views/corewm/cursor_manager_unittest.cc |
+++ /dev/null |
@@ -1,353 +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/corewm/cursor_manager.h" |
- |
-#include "ui/aura/client/cursor_client_observer.h" |
-#include "ui/aura/test/aura_test_base.h" |
-#include "ui/views/corewm/native_cursor_manager.h" |
- |
-namespace { |
- |
-class TestingCursorManager : public views::corewm::NativeCursorManager { |
- public: |
- // Overridden from views::corewm::NativeCursorManager: |
- virtual void SetDisplay( |
- const gfx::Display& display, |
- views::corewm::NativeCursorManagerDelegate* delegate) OVERRIDE {} |
- |
- virtual void SetCursor( |
- gfx::NativeCursor cursor, |
- views::corewm::NativeCursorManagerDelegate* delegate) OVERRIDE { |
- delegate->CommitCursor(cursor); |
- } |
- |
- virtual void SetVisibility( |
- bool visible, |
- views::corewm::NativeCursorManagerDelegate* delegate) OVERRIDE { |
- delegate->CommitVisibility(visible); |
- } |
- |
- virtual void SetMouseEventsEnabled( |
- bool enabled, |
- views::corewm::NativeCursorManagerDelegate* delegate) OVERRIDE { |
- delegate->CommitMouseEventsEnabled(enabled); |
- } |
- |
- virtual void SetCursorSet( |
- ui::CursorSetType cursor_set, |
- views::corewm::NativeCursorManagerDelegate* delegate) OVERRIDE { |
- delegate->CommitCursorSet(cursor_set); |
- } |
- |
- virtual void SetScale( |
- float scale, |
- views::corewm::NativeCursorManagerDelegate* delegate) OVERRIDE { |
- delegate->CommitScale(scale); |
- } |
-}; |
- |
-} // namespace |
- |
-class CursorManagerTest : public aura::test::AuraTestBase { |
- protected: |
- CursorManagerTest() |
- : delegate_(new TestingCursorManager), |
- cursor_manager_(scoped_ptr<views::corewm::NativeCursorManager>( |
- delegate_)) { |
- } |
- |
- TestingCursorManager* delegate_; |
- views::corewm::CursorManager cursor_manager_; |
-}; |
- |
-class TestingCursorClientObserver : public aura::client::CursorClientObserver { |
- public: |
- TestingCursorClientObserver() |
- : cursor_visibility_(false), |
- did_visibility_change_(false) {} |
- void reset() { cursor_visibility_ = did_visibility_change_ = false; } |
- bool is_cursor_visible() const { return cursor_visibility_; } |
- bool did_visibility_change() const { return did_visibility_change_; } |
- |
- // Overridden from aura::client::CursorClientObserver: |
- virtual void OnCursorVisibilityChanged(bool is_visible) OVERRIDE { |
- cursor_visibility_ = is_visible; |
- did_visibility_change_ = true; |
- } |
- |
- private: |
- bool cursor_visibility_; |
- bool did_visibility_change_; |
- |
- DISALLOW_COPY_AND_ASSIGN(TestingCursorClientObserver); |
-}; |
- |
-TEST_F(CursorManagerTest, ShowHideCursor) { |
- cursor_manager_.SetCursor(ui::kCursorCopy); |
- EXPECT_EQ(ui::kCursorCopy, cursor_manager_.GetCursor().native_type()); |
- |
- cursor_manager_.ShowCursor(); |
- EXPECT_TRUE(cursor_manager_.IsCursorVisible()); |
- cursor_manager_.HideCursor(); |
- EXPECT_FALSE(cursor_manager_.IsCursorVisible()); |
- // The current cursor does not change even when the cursor is not shown. |
- EXPECT_EQ(ui::kCursorCopy, cursor_manager_.GetCursor().native_type()); |
- |
- // Check if cursor visibility is locked. |
- cursor_manager_.LockCursor(); |
- EXPECT_FALSE(cursor_manager_.IsCursorVisible()); |
- cursor_manager_.ShowCursor(); |
- EXPECT_FALSE(cursor_manager_.IsCursorVisible()); |
- cursor_manager_.UnlockCursor(); |
- EXPECT_TRUE(cursor_manager_.IsCursorVisible()); |
- |
- cursor_manager_.LockCursor(); |
- EXPECT_TRUE(cursor_manager_.IsCursorVisible()); |
- cursor_manager_.HideCursor(); |
- EXPECT_TRUE(cursor_manager_.IsCursorVisible()); |
- cursor_manager_.UnlockCursor(); |
- EXPECT_FALSE(cursor_manager_.IsCursorVisible()); |
- |
- // Checks setting visiblity while cursor is locked does not affect the |
- // subsequent uses of UnlockCursor. |
- cursor_manager_.LockCursor(); |
- cursor_manager_.HideCursor(); |
- cursor_manager_.UnlockCursor(); |
- EXPECT_FALSE(cursor_manager_.IsCursorVisible()); |
- |
- cursor_manager_.ShowCursor(); |
- cursor_manager_.LockCursor(); |
- cursor_manager_.UnlockCursor(); |
- EXPECT_TRUE(cursor_manager_.IsCursorVisible()); |
- |
- cursor_manager_.LockCursor(); |
- cursor_manager_.ShowCursor(); |
- cursor_manager_.UnlockCursor(); |
- EXPECT_TRUE(cursor_manager_.IsCursorVisible()); |
- |
- cursor_manager_.HideCursor(); |
- cursor_manager_.LockCursor(); |
- cursor_manager_.UnlockCursor(); |
- EXPECT_FALSE(cursor_manager_.IsCursorVisible()); |
-} |
- |
-// Verifies that LockCursor/UnlockCursor work correctly with |
-// EnableMouseEvents and DisableMouseEvents |
-TEST_F(CursorManagerTest, EnableDisableMouseEvents) { |
- cursor_manager_.SetCursor(ui::kCursorCopy); |
- EXPECT_EQ(ui::kCursorCopy, cursor_manager_.GetCursor().native_type()); |
- |
- cursor_manager_.EnableMouseEvents(); |
- EXPECT_TRUE(cursor_manager_.IsMouseEventsEnabled()); |
- cursor_manager_.DisableMouseEvents(); |
- EXPECT_FALSE(cursor_manager_.IsMouseEventsEnabled()); |
- // The current cursor does not change even when the cursor is not shown. |
- EXPECT_EQ(ui::kCursorCopy, cursor_manager_.GetCursor().native_type()); |
- |
- // Check if cursor enable state is locked. |
- cursor_manager_.LockCursor(); |
- EXPECT_FALSE(cursor_manager_.IsMouseEventsEnabled()); |
- cursor_manager_.EnableMouseEvents(); |
- EXPECT_FALSE(cursor_manager_.IsMouseEventsEnabled()); |
- cursor_manager_.UnlockCursor(); |
- EXPECT_TRUE(cursor_manager_.IsMouseEventsEnabled()); |
- |
- cursor_manager_.LockCursor(); |
- EXPECT_TRUE(cursor_manager_.IsMouseEventsEnabled()); |
- cursor_manager_.DisableMouseEvents(); |
- EXPECT_TRUE(cursor_manager_.IsMouseEventsEnabled()); |
- cursor_manager_.UnlockCursor(); |
- EXPECT_FALSE(cursor_manager_.IsMouseEventsEnabled()); |
- |
- // Checks enabling cursor while cursor is locked does not affect the |
- // subsequent uses of UnlockCursor. |
- cursor_manager_.LockCursor(); |
- cursor_manager_.DisableMouseEvents(); |
- cursor_manager_.UnlockCursor(); |
- EXPECT_FALSE(cursor_manager_.IsMouseEventsEnabled()); |
- |
- cursor_manager_.EnableMouseEvents(); |
- cursor_manager_.LockCursor(); |
- cursor_manager_.UnlockCursor(); |
- EXPECT_TRUE(cursor_manager_.IsMouseEventsEnabled()); |
- |
- cursor_manager_.LockCursor(); |
- cursor_manager_.EnableMouseEvents(); |
- cursor_manager_.UnlockCursor(); |
- EXPECT_TRUE(cursor_manager_.IsMouseEventsEnabled()); |
- |
- cursor_manager_.DisableMouseEvents(); |
- cursor_manager_.LockCursor(); |
- cursor_manager_.UnlockCursor(); |
- EXPECT_FALSE(cursor_manager_.IsMouseEventsEnabled()); |
-} |
- |
-TEST_F(CursorManagerTest, SetCursorSet) { |
- EXPECT_EQ(ui::CURSOR_SET_NORMAL, cursor_manager_.GetCursorSet()); |
- |
- cursor_manager_.SetCursorSet(ui::CURSOR_SET_NORMAL); |
- EXPECT_EQ(ui::CURSOR_SET_NORMAL, cursor_manager_.GetCursorSet()); |
- |
- cursor_manager_.SetCursorSet(ui::CURSOR_SET_LARGE); |
- EXPECT_EQ(ui::CURSOR_SET_LARGE, cursor_manager_.GetCursorSet()); |
- |
- cursor_manager_.SetCursorSet(ui::CURSOR_SET_NORMAL); |
- EXPECT_EQ(ui::CURSOR_SET_NORMAL, cursor_manager_.GetCursorSet()); |
-} |
- |
-TEST_F(CursorManagerTest, SetScale) { |
- EXPECT_EQ(1.f, cursor_manager_.GetScale()); |
- cursor_manager_.SetScale(2.f); |
- EXPECT_EQ(2.f, cursor_manager_.GetScale()); |
- |
- // Cusror scale does change even while cursor is locked. |
- cursor_manager_.LockCursor(); |
- EXPECT_EQ(2.f, cursor_manager_.GetScale()); |
- cursor_manager_.SetScale(2.5f); |
- EXPECT_EQ(2.5f, cursor_manager_.GetScale()); |
- cursor_manager_.UnlockCursor(); |
- |
- EXPECT_EQ(2.5f, cursor_manager_.GetScale()); |
- cursor_manager_.SetScale(1.f); |
- EXPECT_EQ(1.f, cursor_manager_.GetScale()); |
-} |
- |
-TEST_F(CursorManagerTest, IsMouseEventsEnabled) { |
- cursor_manager_.EnableMouseEvents(); |
- EXPECT_TRUE(cursor_manager_.IsMouseEventsEnabled()); |
- cursor_manager_.DisableMouseEvents(); |
- EXPECT_FALSE(cursor_manager_.IsMouseEventsEnabled()); |
-} |
- |
-// Verifies that the mouse events enable state changes correctly when |
-// ShowCursor/HideCursor and EnableMouseEvents/DisableMouseEvents are used |
-// together. |
-TEST_F(CursorManagerTest, ShowAndEnable) { |
- // Changing the visibility of the cursor does not affect the enable state. |
- cursor_manager_.EnableMouseEvents(); |
- cursor_manager_.ShowCursor(); |
- EXPECT_TRUE(cursor_manager_.IsCursorVisible()); |
- EXPECT_TRUE(cursor_manager_.IsMouseEventsEnabled()); |
- cursor_manager_.HideCursor(); |
- EXPECT_FALSE(cursor_manager_.IsCursorVisible()); |
- EXPECT_TRUE(cursor_manager_.IsMouseEventsEnabled()); |
- cursor_manager_.ShowCursor(); |
- EXPECT_TRUE(cursor_manager_.IsCursorVisible()); |
- EXPECT_TRUE(cursor_manager_.IsMouseEventsEnabled()); |
- |
- // When mouse events are disabled, it also gets invisible. |
- EXPECT_TRUE(cursor_manager_.IsCursorVisible()); |
- cursor_manager_.DisableMouseEvents(); |
- EXPECT_FALSE(cursor_manager_.IsCursorVisible()); |
- EXPECT_FALSE(cursor_manager_.IsMouseEventsEnabled()); |
- |
- // When mouse events are enabled, it restores the visibility state. |
- cursor_manager_.EnableMouseEvents(); |
- EXPECT_TRUE(cursor_manager_.IsCursorVisible()); |
- EXPECT_TRUE(cursor_manager_.IsMouseEventsEnabled()); |
- |
- cursor_manager_.ShowCursor(); |
- cursor_manager_.DisableMouseEvents(); |
- EXPECT_FALSE(cursor_manager_.IsCursorVisible()); |
- EXPECT_FALSE(cursor_manager_.IsMouseEventsEnabled()); |
- cursor_manager_.EnableMouseEvents(); |
- EXPECT_TRUE(cursor_manager_.IsCursorVisible()); |
- EXPECT_TRUE(cursor_manager_.IsMouseEventsEnabled()); |
- |
- cursor_manager_.HideCursor(); |
- cursor_manager_.DisableMouseEvents(); |
- EXPECT_FALSE(cursor_manager_.IsCursorVisible()); |
- EXPECT_FALSE(cursor_manager_.IsMouseEventsEnabled()); |
- cursor_manager_.EnableMouseEvents(); |
- EXPECT_FALSE(cursor_manager_.IsCursorVisible()); |
- EXPECT_TRUE(cursor_manager_.IsMouseEventsEnabled()); |
- |
- // When mouse events are disabled, ShowCursor is ignored. |
- cursor_manager_.DisableMouseEvents(); |
- EXPECT_FALSE(cursor_manager_.IsCursorVisible()); |
- EXPECT_FALSE(cursor_manager_.IsMouseEventsEnabled()); |
- cursor_manager_.ShowCursor(); |
- EXPECT_FALSE(cursor_manager_.IsCursorVisible()); |
- EXPECT_FALSE(cursor_manager_.IsMouseEventsEnabled()); |
- cursor_manager_.DisableMouseEvents(); |
- EXPECT_FALSE(cursor_manager_.IsCursorVisible()); |
- EXPECT_FALSE(cursor_manager_.IsMouseEventsEnabled()); |
-} |
- |
-// Verifies that calling DisableMouseEvents multiple times in a row makes no |
-// difference compared with calling it once. |
-// This is a regression test for http://crbug.com/169404. |
-TEST_F(CursorManagerTest, MultipleDisableMouseEvents) { |
- cursor_manager_.DisableMouseEvents(); |
- cursor_manager_.DisableMouseEvents(); |
- cursor_manager_.EnableMouseEvents(); |
- cursor_manager_.LockCursor(); |
- cursor_manager_.UnlockCursor(); |
- EXPECT_TRUE(cursor_manager_.IsCursorVisible()); |
-} |
- |
-// Verifies that calling EnableMouseEvents multiple times in a row makes no |
-// difference compared with calling it once. |
-TEST_F(CursorManagerTest, MultipleEnableMouseEvents) { |
- cursor_manager_.DisableMouseEvents(); |
- cursor_manager_.EnableMouseEvents(); |
- cursor_manager_.EnableMouseEvents(); |
- cursor_manager_.LockCursor(); |
- cursor_manager_.UnlockCursor(); |
- EXPECT_TRUE(cursor_manager_.IsCursorVisible()); |
-} |
- |
-TEST_F(CursorManagerTest, TestCursorClientObserver) { |
- // Add two observers. Both should have OnCursorVisibilityChanged() |
- // invoked when the visibility of the cursor changes. |
- TestingCursorClientObserver observer_a; |
- TestingCursorClientObserver observer_b; |
- cursor_manager_.AddObserver(&observer_a); |
- cursor_manager_.AddObserver(&observer_b); |
- |
- // Initial state before any events have been sent. |
- observer_a.reset(); |
- observer_b.reset(); |
- EXPECT_FALSE(observer_a.did_visibility_change()); |
- EXPECT_FALSE(observer_b.did_visibility_change()); |
- EXPECT_FALSE(observer_a.is_cursor_visible()); |
- EXPECT_FALSE(observer_b.is_cursor_visible()); |
- |
- // Hide the cursor using HideCursor(). |
- cursor_manager_.HideCursor(); |
- EXPECT_TRUE(observer_a.did_visibility_change()); |
- EXPECT_TRUE(observer_b.did_visibility_change()); |
- EXPECT_FALSE(observer_a.is_cursor_visible()); |
- EXPECT_FALSE(observer_b.is_cursor_visible()); |
- |
- // Show the cursor using ShowCursor(). |
- observer_a.reset(); |
- observer_b.reset(); |
- cursor_manager_.ShowCursor(); |
- EXPECT_TRUE(observer_a.did_visibility_change()); |
- EXPECT_TRUE(observer_b.did_visibility_change()); |
- EXPECT_TRUE(observer_a.is_cursor_visible()); |
- EXPECT_TRUE(observer_b.is_cursor_visible()); |
- |
- // Remove observer_b. Its OnCursorVisibilityChanged() should |
- // not be invoked past this point. |
- cursor_manager_.RemoveObserver(&observer_b); |
- |
- // Hide the cursor using HideCursor(). |
- observer_a.reset(); |
- observer_b.reset(); |
- cursor_manager_.HideCursor(); |
- EXPECT_TRUE(observer_a.did_visibility_change()); |
- EXPECT_FALSE(observer_b.did_visibility_change()); |
- EXPECT_FALSE(observer_a.is_cursor_visible()); |
- |
- // Show the cursor using ShowCursor(). |
- observer_a.reset(); |
- observer_b.reset(); |
- cursor_manager_.ShowCursor(); |
- EXPECT_TRUE(observer_a.did_visibility_change()); |
- EXPECT_FALSE(observer_b.did_visibility_change()); |
- EXPECT_TRUE(observer_a.is_cursor_visible()); |
-} |