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

Side by Side Diff: ash/magnifier/magnification_controller_unittest.cc

Issue 2095193002: clang-format all of //ash (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 6 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/magnifier/magnification_controller.h" 5 #include "ash/magnifier/magnification_controller.h"
6 6
7 #include "ash/common/accessibility_types.h" 7 #include "ash/common/accessibility_types.h"
8 #include "ash/display/display_manager.h" 8 #include "ash/display/display_manager.h"
9 #include "ash/shell.h" 9 #include "ash/shell.h"
10 #include "ash/test/ash_test_base.h" 10 #include "ash/test/ash_test_base.h"
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
51 void FocusOnTextInput() { GetFocusManager()->SetFocusedView(text_field_); } 51 void FocusOnTextInput() { GetFocusManager()->SetFocusedView(text_field_); }
52 52
53 private: 53 private:
54 views::Textfield* text_field_; // owned by views hierarchy 54 views::Textfield* text_field_; // owned by views hierarchy
55 55
56 DISALLOW_COPY_AND_ASSIGN(TextInputView); 56 DISALLOW_COPY_AND_ASSIGN(TextInputView);
57 }; 57 };
58 58
59 } // namespace 59 } // namespace
60 60
61 class MagnificationControllerTest: public test::AshTestBase { 61 class MagnificationControllerTest : public test::AshTestBase {
62 public: 62 public:
63 MagnificationControllerTest() : text_input_view_(NULL) {} 63 MagnificationControllerTest() : text_input_view_(NULL) {}
64 ~MagnificationControllerTest() override {} 64 ~MagnificationControllerTest() override {}
65 65
66 void SetUp() override { 66 void SetUp() override {
67 AshTestBase::SetUp(); 67 AshTestBase::SetUp();
68 UpdateDisplay(base::StringPrintf("%dx%d", kRootWidth, kRootHeight)); 68 UpdateDisplay(base::StringPrintf("%dx%d", kRootWidth, kRootHeight));
69 69
70 #if defined(OS_WIN) 70 #if defined(OS_WIN)
71 // RootWindow and Display can't resize on Windows Ash. 71 // RootWindow and Display can't resize on Windows Ash.
72 // http://crbug.com/165962 72 // http://crbug.com/165962
73 aura::Window* root = GetRootWindow(); 73 aura::Window* root = GetRootWindow();
74 gfx::Rect root_bounds(root->bounds()); 74 gfx::Rect root_bounds(root->bounds());
75 EXPECT_EQ(kRootHeight, root_bounds.height()); 75 EXPECT_EQ(kRootHeight, root_bounds.height());
76 EXPECT_EQ(kRootWidth, root_bounds.width()); 76 EXPECT_EQ(kRootWidth, root_bounds.width());
77 #endif 77 #endif
78 78
79 GetMagnificationController()->DisableMoveMagnifierDelayForTesting(); 79 GetMagnificationController()->DisableMoveMagnifierDelayForTesting();
80 } 80 }
81 81
82 void TearDown() override { AshTestBase::TearDown(); } 82 void TearDown() override { AshTestBase::TearDown(); }
83 83
84 protected: 84 protected:
85 aura::Window* GetRootWindow() const { 85 aura::Window* GetRootWindow() const { return Shell::GetPrimaryRootWindow(); }
86 return Shell::GetPrimaryRootWindow();
87 }
88 86
89 std::string GetHostMouseLocation() { 87 std::string GetHostMouseLocation() {
90 const gfx::Point& location = 88 const gfx::Point& location =
91 aura::test::QueryLatestMousePositionRequestInHost( 89 aura::test::QueryLatestMousePositionRequestInHost(
92 GetRootWindow()->GetHost()); 90 GetRootWindow()->GetHost());
93 return location.ToString(); 91 return location.ToString();
94 } 92 }
95 93
96 ash::MagnificationController* GetMagnificationController() const { 94 ash::MagnificationController* GetMagnificationController() const {
97 return ash::Shell::GetInstance()->magnification_controller(); 95 return ash::Shell::GetInstance()->magnification_controller();
98 } 96 }
99 97
100 gfx::Rect GetViewport() const { 98 gfx::Rect GetViewport() const {
101 gfx::RectF bounds(0, 0, kRootWidth, kRootHeight); 99 gfx::RectF bounds(0, 0, kRootWidth, kRootHeight);
102 GetRootWindow()->layer()->transform().TransformRectReverse(&bounds); 100 GetRootWindow()->layer()->transform().TransformRectReverse(&bounds);
103 return gfx::ToEnclosingRect(bounds); 101 return gfx::ToEnclosingRect(bounds);
104 } 102 }
105 103
106 std::string CurrentPointOfInterest() const { 104 std::string CurrentPointOfInterest() const {
107 return GetMagnificationController()-> 105 return GetMagnificationController()
108 GetPointOfInterestForTesting().ToString(); 106 ->GetPointOfInterestForTesting()
107 .ToString();
109 } 108 }
110 109
111 void CreateAndShowTextInputView(const gfx::Rect& bounds) { 110 void CreateAndShowTextInputView(const gfx::Rect& bounds) {
112 text_input_view_ = new TextInputView; 111 text_input_view_ = new TextInputView;
113 views::Widget* widget = views::Widget::CreateWindowWithContextAndBounds( 112 views::Widget* widget = views::Widget::CreateWindowWithContextAndBounds(
114 text_input_view_, GetRootWindow(), bounds); 113 text_input_view_, GetRootWindow(), bounds);
115 widget->Show(); 114 widget->Show();
116 } 115 }
117 116
118 // Returns the text input view's bounds in root window coordinates. 117 // Returns the text input view's bounds in root window coordinates.
119 gfx::Rect GetTextInputViewBounds() { 118 gfx::Rect GetTextInputViewBounds() {
120 DCHECK(text_input_view_); 119 DCHECK(text_input_view_);
121 gfx::Rect bounds = text_input_view_->bounds(); 120 gfx::Rect bounds = text_input_view_->bounds();
122 gfx::Point origin = bounds.origin(); 121 gfx::Point origin = bounds.origin();
123 // Convert origin to screen coordinates. 122 // Convert origin to screen coordinates.
124 views::View::ConvertPointToScreen(text_input_view_, &origin); 123 views::View::ConvertPointToScreen(text_input_view_, &origin);
125 // Convert origin to root_window_ coordinates. 124 // Convert origin to root_window_ coordinates.
126 ::wm::ConvertPointFromScreen(GetRootWindow(), &origin); 125 ::wm::ConvertPointFromScreen(GetRootWindow(), &origin);
127 return gfx::Rect(origin.x(), origin.y(), bounds.width(), bounds.height()); 126 return gfx::Rect(origin.x(), origin.y(), bounds.width(), bounds.height());
128 } 127 }
129 128
130 // Returns the caret bounds in root window coordinates. 129 // Returns the caret bounds in root window coordinates.
131 gfx::Rect GetCaretBounds() { 130 gfx::Rect GetCaretBounds() {
132 gfx::Rect caret_bounds = 131 gfx::Rect caret_bounds =
133 GetInputMethod()->GetTextInputClient()->GetCaretBounds(); 132 GetInputMethod()->GetTextInputClient()->GetCaretBounds();
134 gfx::Point origin = caret_bounds.origin(); 133 gfx::Point origin = caret_bounds.origin();
135 ::wm::ConvertPointFromScreen(GetRootWindow(), &origin); 134 ::wm::ConvertPointFromScreen(GetRootWindow(), &origin);
136 return gfx::Rect( 135 return gfx::Rect(origin.x(), origin.y(), caret_bounds.width(),
137 origin.x(), origin.y(), caret_bounds.width(), caret_bounds.height()); 136 caret_bounds.height());
138 } 137 }
139 138
140 void FocusOnTextInputView() { 139 void FocusOnTextInputView() {
141 DCHECK(text_input_view_); 140 DCHECK(text_input_view_);
142 text_input_view_->FocusOnTextInput(); 141 text_input_view_->FocusOnTextInput();
143 } 142 }
144 143
145 private: 144 private:
146 TextInputView* text_input_view_; 145 TextInputView* text_input_view_;
147 146
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after
278 GetMagnificationController()->HandleFocusedNodeChanged( 277 GetMagnificationController()->HandleFocusedNodeChanged(
279 false, gfx::Rect(0, 0, 10, 10)); 278 false, gfx::Rect(0, 0, 10, 10));
280 EXPECT_EQ("0,0 400x300", GetViewport().ToString()); 279 EXPECT_EQ("0,0 400x300", GetViewport().ToString());
281 280
282 // Move viewport to element in lower right. 281 // Move viewport to element in lower right.
283 GetMagnificationController()->HandleFocusedNodeChanged( 282 GetMagnificationController()->HandleFocusedNodeChanged(
284 false, gfx::Rect(790, 590, 10, 10)); 283 false, gfx::Rect(790, 590, 10, 10));
285 EXPECT_EQ("400,300 400x300", GetViewport().ToString()); 284 EXPECT_EQ("400,300 400x300", GetViewport().ToString());
286 285
287 // Don't follow focus onto empty rectangle. 286 // Don't follow focus onto empty rectangle.
288 GetMagnificationController()->HandleFocusedNodeChanged( 287 GetMagnificationController()->HandleFocusedNodeChanged(false,
289 false, gfx::Rect(0, 0, 0, 0)); 288 gfx::Rect(0, 0, 0, 0));
290 EXPECT_EQ("400,300 400x300", GetViewport().ToString()); 289 EXPECT_EQ("400,300 400x300", GetViewport().ToString());
291 } 290 }
292 291
293 TEST_F(MagnificationControllerTest, PanWindow2xLeftToRight) { 292 TEST_F(MagnificationControllerTest, PanWindow2xLeftToRight) {
294 const aura::Env* env = aura::Env::GetInstance(); 293 const aura::Env* env = aura::Env::GetInstance();
295 294
296 GetEventGenerator().MoveMouseToInHost(gfx::Point(0, 0)); 295 GetEventGenerator().MoveMouseToInHost(gfx::Point(0, 0));
297 EXPECT_EQ(1.f, GetMagnificationController()->GetScale()); 296 EXPECT_EQ(1.f, GetMagnificationController()->GetScale());
298 EXPECT_EQ("0,0 800x600", GetViewport().ToString()); 297 EXPECT_EQ("0,0 800x600", GetViewport().ToString());
299 EXPECT_EQ("0,0", env->last_mouse_location().ToString()); 298 EXPECT_EQ("0,0", env->last_mouse_location().ToString());
(...skipping 376 matching lines...) Expand 10 before | Expand all | Expand 10 after
676 675
677 // Verify the view port has been moved to the place where the text field is 676 // Verify the view port has been moved to the place where the text field is
678 // contained in the view port and the caret is at the center of the view port. 677 // contained in the view port and the caret is at the center of the view port.
679 gfx::Rect new_view_port = GetViewport(); 678 gfx::Rect new_view_port = GetViewport();
680 EXPECT_NE(view_port, new_view_port); 679 EXPECT_NE(view_port, new_view_port);
681 EXPECT_TRUE(new_view_port.Contains(text_input_bounds)); 680 EXPECT_TRUE(new_view_port.Contains(text_input_bounds));
682 gfx::Rect caret_bounds = GetCaretBounds(); 681 gfx::Rect caret_bounds = GetCaretBounds();
683 EXPECT_EQ(caret_bounds.CenterPoint(), new_view_port.CenterPoint()); 682 EXPECT_EQ(caret_bounds.CenterPoint(), new_view_port.CenterPoint());
684 } 683 }
685 684
686
687 // Make sure that unified desktop can enter magnified mode. 685 // Make sure that unified desktop can enter magnified mode.
688 TEST_F(MagnificationControllerTest, EnableMagnifierInUnifiedDesktop) { 686 TEST_F(MagnificationControllerTest, EnableMagnifierInUnifiedDesktop) {
689 if (!SupportsMultipleDisplays()) 687 if (!SupportsMultipleDisplays())
690 return; 688 return;
691 Shell::GetInstance()->display_manager()->SetUnifiedDesktopEnabled(true); 689 Shell::GetInstance()->display_manager()->SetUnifiedDesktopEnabled(true);
692 690
693 EXPECT_EQ(1.0f, GetMagnificationController()->GetScale()); 691 EXPECT_EQ(1.0f, GetMagnificationController()->GetScale());
694 692
695 GetMagnificationController()->SetEnabled(true); 693 GetMagnificationController()->SetEnabled(true);
696 694
(...skipping 13 matching lines...) Expand all
710 UpdateDisplay("500x500"); 708 UpdateDisplay("500x500");
711 EXPECT_EQ("0,0 500x500", screen->GetPrimaryDisplay().bounds().ToString()); 709 EXPECT_EQ("0,0 500x500", screen->GetPrimaryDisplay().bounds().ToString());
712 EXPECT_EQ(2.0f, GetMagnificationController()->GetScale()); 710 EXPECT_EQ(2.0f, GetMagnificationController()->GetScale());
713 711
714 GetMagnificationController()->SetEnabled(false); 712 GetMagnificationController()->SetEnabled(false);
715 EXPECT_EQ("0,0 500x500", screen->GetPrimaryDisplay().bounds().ToString()); 713 EXPECT_EQ("0,0 500x500", screen->GetPrimaryDisplay().bounds().ToString());
716 EXPECT_EQ(1.0f, GetMagnificationController()->GetScale()); 714 EXPECT_EQ(1.0f, GetMagnificationController()->GetScale());
717 } 715 }
718 716
719 } // namespace ash 717 } // namespace ash
OLDNEW
« no previous file with comments | « ash/magnifier/magnification_controller.cc ('k') | ash/magnifier/partial_magnification_controller.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698