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

Side by Side Diff: ui/views/accessible_pane_view_unittest.cc

Issue 13602010: views: Convert more TextButtons to LabelButton. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 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 | Annotate | Revision Log
« no previous file with comments | « ui/message_center/views/message_center_view.cc ('k') | ui/views/examples/bubble_example.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 "ui/views/accessible_pane_view.h" 5 #include "ui/views/accessible_pane_view.h"
6 6
7 #include "ui/base/accelerators/accelerator.h" 7 #include "ui/base/accelerators/accelerator.h"
8 #include "ui/views/controls/button/text_button.h" 8 #include "ui/views/controls/button/label_button.h"
9 #include "ui/views/layout/fill_layout.h" 9 #include "ui/views/layout/fill_layout.h"
10 #include "ui/views/test/views_test_base.h" 10 #include "ui/views/test/views_test_base.h"
11 #include "ui/views/widget/widget.h" 11 #include "ui/views/widget/widget.h"
12 12
13 namespace views { 13 namespace views {
14 14
15 // TODO(alicet): bring pane rotation into views and add tests. 15 // TODO(alicet): bring pane rotation into views and add tests.
16 // See browser_view.cc for details. 16 // See browser_view.cc for details.
17 17
18 typedef ViewsTestBase AccessiblePaneViewTest; 18 typedef ViewsTestBase AccessiblePaneViewTest;
19 19
20 class TestBarView : public AccessiblePaneView, 20 class TestBarView : public AccessiblePaneView,
21 public ButtonListener { 21 public ButtonListener {
22 public: 22 public:
23 TestBarView(); 23 TestBarView();
24 virtual ~TestBarView(); 24 virtual ~TestBarView();
25 25
26 virtual void ButtonPressed(Button* sender, 26 virtual void ButtonPressed(Button* sender,
27 const ui::Event& event) OVERRIDE; 27 const ui::Event& event) OVERRIDE;
28 TextButton* child_button() const { return child_button_.get(); } 28 LabelButton* child_button() const { return child_button_.get(); }
29 TextButton* second_child_button() const { return second_child_button_.get(); } 29 LabelButton* second_child_button() const {
30 TextButton* third_child_button() const { return third_child_button_.get(); } 30 return second_child_button_.get();
31 TextButton* not_child_button() const { return not_child_button_.get(); } 31 }
32 LabelButton* third_child_button() const { return third_child_button_.get(); }
33 LabelButton* not_child_button() const { return not_child_button_.get(); }
32 34
33 virtual View* GetDefaultFocusableChild() OVERRIDE; 35 virtual View* GetDefaultFocusableChild() OVERRIDE;
34 36
35 private: 37 private:
36 void Init(); 38 void Init();
37 39
38 scoped_ptr<TextButton> child_button_; 40 scoped_ptr<LabelButton> child_button_;
39 scoped_ptr<TextButton> second_child_button_; 41 scoped_ptr<LabelButton> second_child_button_;
40 scoped_ptr<TextButton> third_child_button_; 42 scoped_ptr<LabelButton> third_child_button_;
41 scoped_ptr<TextButton> not_child_button_; 43 scoped_ptr<LabelButton> not_child_button_;
42 44
43 DISALLOW_COPY_AND_ASSIGN(TestBarView); 45 DISALLOW_COPY_AND_ASSIGN(TestBarView);
44 }; 46 };
45 47
46 TestBarView::TestBarView() { 48 TestBarView::TestBarView() {
47 Init(); 49 Init();
48 set_allow_deactivate_on_esc(true); 50 set_allow_deactivate_on_esc(true);
49 } 51 }
50 52
51 TestBarView::~TestBarView() {} 53 TestBarView::~TestBarView() {}
52 54
53 void TestBarView::ButtonPressed(views::Button* sender, const ui::Event& event) { 55 void TestBarView::ButtonPressed(Button* sender, const ui::Event& event) {
54 } 56 }
55 57
56 void TestBarView::Init() { 58 void TestBarView::Init() {
57 SetLayoutManager(new views::FillLayout()); 59 SetLayoutManager(new FillLayout());
58 string16 label; 60 string16 label;
59 child_button_.reset(new TextButton(this, label)); 61 child_button_.reset(new LabelButton(this, label));
60 AddChildView(child_button_.get()); 62 AddChildView(child_button_.get());
61 second_child_button_.reset(new TextButton(this, label)); 63 second_child_button_.reset(new LabelButton(this, label));
62 AddChildView(second_child_button_.get()); 64 AddChildView(second_child_button_.get());
63 third_child_button_.reset(new TextButton(this, label)); 65 third_child_button_.reset(new LabelButton(this, label));
64 AddChildView(third_child_button_.get()); 66 AddChildView(third_child_button_.get());
65 not_child_button_.reset(new TextButton(this, label)); 67 not_child_button_.reset(new LabelButton(this, label));
66 } 68 }
67 69
68 View* TestBarView::GetDefaultFocusableChild() { 70 View* TestBarView::GetDefaultFocusableChild() {
69 return child_button_.get(); 71 return child_button_.get();
70 } 72 }
71 73
72 TEST_F(AccessiblePaneViewTest, SimpleSetPaneFocus) { 74 TEST_F(AccessiblePaneViewTest, SimpleSetPaneFocus) {
73 TestBarView* test_view = new TestBarView(); 75 TestBarView* test_view = new TestBarView();
74 scoped_ptr<Widget> widget(new Widget()); 76 scoped_ptr<Widget> widget(new Widget());
75 Widget::InitParams params = CreateParams(Widget::InitParams::TYPE_POPUP); 77 Widget::InitParams params = CreateParams(Widget::InitParams::TYPE_POPUP);
76 params.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET; 78 params.ownership = Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET;
77 params.bounds = gfx::Rect(50, 50, 650, 650); 79 params.bounds = gfx::Rect(50, 50, 650, 650);
78 widget->Init(params); 80 widget->Init(params);
79 View* root = widget->GetRootView(); 81 View* root = widget->GetRootView();
80 root->AddChildView(test_view); 82 root->AddChildView(test_view);
81 widget->Show(); 83 widget->Show();
82 widget->Activate(); 84 widget->Activate();
83 85
84 // Set pane focus succeeds, focus on child. 86 // Set pane focus succeeds, focus on child.
85 EXPECT_TRUE(test_view->SetPaneFocusAndFocusDefault()); 87 EXPECT_TRUE(test_view->SetPaneFocusAndFocusDefault());
86 EXPECT_EQ(test_view, test_view->GetPaneFocusTraversable()); 88 EXPECT_EQ(test_view, test_view->GetPaneFocusTraversable());
(...skipping 10 matching lines...) Expand all
97 widget.reset(); 99 widget.reset();
98 } 100 }
99 101
100 // This test will not work properly in Windows because it uses ::GetNextWindow 102 // This test will not work properly in Windows because it uses ::GetNextWindow
101 // on deactivate which is rather unpredictable where the focus will land. 103 // on deactivate which is rather unpredictable where the focus will land.
102 #if !defined(OS_WIN)||defined(USE_AURA) 104 #if !defined(OS_WIN)||defined(USE_AURA)
103 TEST_F(AccessiblePaneViewTest, SetPaneFocusAndRestore) { 105 TEST_F(AccessiblePaneViewTest, SetPaneFocusAndRestore) {
104 View* test_view_main = new View(); 106 View* test_view_main = new View();
105 scoped_ptr<Widget> widget_main(new Widget()); 107 scoped_ptr<Widget> widget_main(new Widget());
106 Widget::InitParams params_main = CreateParams(Widget::InitParams::TYPE_POPUP); 108 Widget::InitParams params_main = CreateParams(Widget::InitParams::TYPE_POPUP);
107 params_main.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET; 109 params_main.ownership = Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET;
108 params_main.bounds = gfx::Rect(0, 0, 20, 20); 110 params_main.bounds = gfx::Rect(0, 0, 20, 20);
109 widget_main->Init(params_main); 111 widget_main->Init(params_main);
110 View* root_main = widget_main->GetRootView(); 112 View* root_main = widget_main->GetRootView();
111 root_main->AddChildView(test_view_main); 113 root_main->AddChildView(test_view_main);
112 widget_main->Activate(); 114 widget_main->Activate();
113 test_view_main->GetFocusManager()->SetFocusedView(test_view_main); 115 test_view_main->GetFocusManager()->SetFocusedView(test_view_main);
114 EXPECT_TRUE(widget_main->IsActive()); 116 EXPECT_TRUE(widget_main->IsActive());
115 EXPECT_TRUE(test_view_main->HasFocus()); 117 EXPECT_TRUE(test_view_main->HasFocus());
116 118
117 TestBarView* test_view_bar = new TestBarView(); 119 TestBarView* test_view_bar = new TestBarView();
118 scoped_ptr<Widget> widget_bar(new Widget()); 120 scoped_ptr<Widget> widget_bar(new Widget());
119 Widget::InitParams params_bar = CreateParams(Widget::InitParams::TYPE_POPUP); 121 Widget::InitParams params_bar = CreateParams(Widget::InitParams::TYPE_POPUP);
120 params_bar.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET; 122 params_bar.ownership = Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET;
121 params_bar.bounds = gfx::Rect(50, 50, 650, 650); 123 params_bar.bounds = gfx::Rect(50, 50, 650, 650);
122 widget_bar->Init(params_bar); 124 widget_bar->Init(params_bar);
123 View* root_bar = widget_bar->GetRootView(); 125 View* root_bar = widget_bar->GetRootView();
124 root_bar->AddChildView(test_view_bar); 126 root_bar->AddChildView(test_view_bar);
125 widget_bar->Show(); 127 widget_bar->Show();
126 widget_bar->Activate(); 128 widget_bar->Activate();
127 129
128 // Set pane focus succeeds, focus on child. 130 // Set pane focus succeeds, focus on child.
129 EXPECT_TRUE(test_view_bar->SetPaneFocusAndFocusDefault()); 131 EXPECT_TRUE(test_view_bar->SetPaneFocusAndFocusDefault());
130 EXPECT_FALSE(test_view_main->HasFocus()); 132 EXPECT_FALSE(test_view_main->HasFocus());
(...skipping 12 matching lines...) Expand all
143 widget_main->CloseNow(); 145 widget_main->CloseNow();
144 widget_main.reset(); 146 widget_main.reset();
145 } 147 }
146 #endif // !defined(OS_WIN)||defined(USE_AURA) 148 #endif // !defined(OS_WIN)||defined(USE_AURA)
147 149
148 TEST_F(AccessiblePaneViewTest, TwoSetPaneFocus) { 150 TEST_F(AccessiblePaneViewTest, TwoSetPaneFocus) {
149 TestBarView* test_view = new TestBarView(); 151 TestBarView* test_view = new TestBarView();
150 TestBarView* test_view_2 = new TestBarView(); 152 TestBarView* test_view_2 = new TestBarView();
151 scoped_ptr<Widget> widget(new Widget()); 153 scoped_ptr<Widget> widget(new Widget());
152 Widget::InitParams params = CreateParams(Widget::InitParams::TYPE_POPUP); 154 Widget::InitParams params = CreateParams(Widget::InitParams::TYPE_POPUP);
153 params.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET; 155 params.ownership = Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET;
154 params.bounds = gfx::Rect(50, 50, 650, 650); 156 params.bounds = gfx::Rect(50, 50, 650, 650);
155 widget->Init(params); 157 widget->Init(params);
156 View* root = widget->GetRootView(); 158 View* root = widget->GetRootView();
157 root->AddChildView(test_view); 159 root->AddChildView(test_view);
158 root->AddChildView(test_view_2); 160 root->AddChildView(test_view_2);
159 widget->Show(); 161 widget->Show();
160 widget->Activate(); 162 widget->Activate();
161 163
162 // Set pane focus succeeds, focus on child. 164 // Set pane focus succeeds, focus on child.
163 EXPECT_TRUE(test_view->SetPaneFocusAndFocusDefault()); 165 EXPECT_TRUE(test_view->SetPaneFocusAndFocusDefault());
164 EXPECT_EQ(test_view, test_view->GetPaneFocusTraversable()); 166 EXPECT_EQ(test_view, test_view->GetPaneFocusTraversable());
165 EXPECT_EQ(test_view->child_button(), 167 EXPECT_EQ(test_view->child_button(),
166 test_view->GetWidget()->GetFocusManager()->GetFocusedView()); 168 test_view->GetWidget()->GetFocusManager()->GetFocusedView());
167 169
168 // Set focus on another test_view, focus move to that pane. 170 // Set focus on another test_view, focus move to that pane.
169 EXPECT_TRUE(test_view_2->SetPaneFocus(test_view_2->second_child_button())); 171 EXPECT_TRUE(test_view_2->SetPaneFocus(test_view_2->second_child_button()));
170 EXPECT_FALSE(test_view->child_button() == 172 EXPECT_FALSE(test_view->child_button() ==
171 test_view->GetWidget()->GetFocusManager()->GetFocusedView()); 173 test_view->GetWidget()->GetFocusManager()->GetFocusedView());
172 EXPECT_EQ(test_view_2->second_child_button(), 174 EXPECT_EQ(test_view_2->second_child_button(),
173 test_view->GetWidget()->GetFocusManager()->GetFocusedView()); 175 test_view->GetWidget()->GetFocusManager()->GetFocusedView());
174 widget->CloseNow(); 176 widget->CloseNow();
175 widget.reset(); 177 widget.reset();
176 } 178 }
177 179
178 TEST_F(AccessiblePaneViewTest, PaneFocusTraversal) { 180 TEST_F(AccessiblePaneViewTest, PaneFocusTraversal) {
179 TestBarView* test_view = new TestBarView(); 181 TestBarView* test_view = new TestBarView();
180 TestBarView* original_test_view = new TestBarView(); 182 TestBarView* original_test_view = new TestBarView();
181 scoped_ptr<Widget> widget(new Widget()); 183 scoped_ptr<Widget> widget(new Widget());
182 Widget::InitParams params = CreateParams(Widget::InitParams::TYPE_POPUP); 184 Widget::InitParams params = CreateParams(Widget::InitParams::TYPE_POPUP);
183 params.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET; 185 params.ownership = Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET;
184 params.bounds = gfx::Rect(50, 50, 650, 650); 186 params.bounds = gfx::Rect(50, 50, 650, 650);
185 widget->Init(params); 187 widget->Init(params);
186 View* root = widget->GetRootView(); 188 View* root = widget->GetRootView();
187 root->AddChildView(original_test_view); 189 root->AddChildView(original_test_view);
188 root->AddChildView(test_view); 190 root->AddChildView(test_view);
189 widget->Show(); 191 widget->Show();
190 widget->Activate(); 192 widget->Activate();
191 193
192 // Set pane focus on first view. 194 // Set pane focus on first view.
193 EXPECT_TRUE(original_test_view->SetPaneFocus( 195 EXPECT_TRUE(original_test_view->SetPaneFocus(
(...skipping 21 matching lines...) Expand all
215 test_view->GetWidget()->GetFocusManager()->GetFocusedView()); 217 test_view->GetWidget()->GetFocusManager()->GetFocusedView());
216 218
217 // ESC 219 // ESC
218 test_view->AcceleratorPressed(test_view->escape_key()); 220 test_view->AcceleratorPressed(test_view->escape_key());
219 EXPECT_EQ(original_test_view->third_child_button(), 221 EXPECT_EQ(original_test_view->third_child_button(),
220 test_view->GetWidget()->GetFocusManager()->GetFocusedView()); 222 test_view->GetWidget()->GetFocusManager()->GetFocusedView());
221 widget->CloseNow(); 223 widget->CloseNow();
222 widget.reset(); 224 widget.reset();
223 } 225 }
224 } // namespace views 226 } // namespace views
OLDNEW
« no previous file with comments | « ui/message_center/views/message_center_view.cc ('k') | ui/views/examples/bubble_example.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698