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

Side by Side Diff: ui/views/controls/slider_unittest.cc

Issue 322893005: MacViews: Add WidgetEventGenerator to abstract platform-specific event generation for tests. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: -> event_generator_delegate_mac.mm, comment fixes Created 6 years, 5 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
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/controls/slider.h" 5 #include "ui/views/controls/slider.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/memory/scoped_ptr.h" 9 #include "base/memory/scoped_ptr.h"
10 #include "base/strings/string_util.h" 10 #include "base/strings/string_util.h"
11 #include "base/strings/utf_string_conversions.h" 11 #include "base/strings/utf_string_conversions.h"
12 #include "base/time/time.h" 12 #include "base/time/time.h"
13 #include "testing/gtest/include/gtest/gtest.h" 13 #include "testing/gtest/include/gtest/gtest.h"
14 #include "ui/aura/test/event_generator.h"
15 #include "ui/aura/window.h"
16 #include "ui/base/l10n/l10n_util.h" 14 #include "ui/base/l10n/l10n_util.h"
17 #include "ui/events/event.h" 15 #include "ui/events/event.h"
18 #include "ui/events/gesture_event_details.h" 16 #include "ui/events/gesture_event_details.h"
17 #include "ui/events/test/event_generator.h"
19 #include "ui/views/test/slider_test_api.h" 18 #include "ui/views/test/slider_test_api.h"
20 #include "ui/views/test/views_test_base.h" 19 #include "ui/views/test/views_test_base.h"
21 #include "ui/views/view.h" 20 #include "ui/views/view.h"
22 #include "ui/views/widget/widget.h" 21 #include "ui/views/widget/widget.h"
23 #include "ui/views/widget/widget_delegate.h" 22 #include "ui/views/widget/widget_delegate.h"
24 23
25 namespace { 24 namespace {
26 25
27 // A views::SliderListener that tracks simple event call history. 26 // A views::SliderListener that tracks simple event call history.
28 class TestSliderListener : public views::SliderListener { 27 class TestSliderListener : public views::SliderListener {
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
140 int max_y() { 139 int max_y() {
141 return max_y_; 140 return max_y_;
142 } 141 }
143 142
144 virtual void ClickAt(int x, int y); 143 virtual void ClickAt(int x, int y);
145 144
146 // testing::Test: 145 // testing::Test:
147 virtual void SetUp() OVERRIDE; 146 virtual void SetUp() OVERRIDE;
148 virtual void TearDown() OVERRIDE; 147 virtual void TearDown() OVERRIDE;
149 148
150 aura::test::EventGenerator* event_generator() { 149 ui::test::EventGenerator* event_generator() {
151 return event_generator_.get(); 150 return event_generator_.get();
152 } 151 }
153 152
154 private: 153 private:
155 // The Slider's orientation 154 // The Slider's orientation
156 Slider::Orientation orientation_; 155 Slider::Orientation orientation_;
157 // The Slider to be tested. 156 // The Slider to be tested.
158 Slider* slider_; 157 Slider* slider_;
159 // A simple SliderListener test double. 158 // A simple SliderListener test double.
160 TestSliderListener slider_listener_; 159 TestSliderListener slider_listener_;
161 // Stores the default locale at test setup so it can be restored 160 // Stores the default locale at test setup so it can be restored
162 // during test teardown. 161 // during test teardown.
163 std::string default_locale_; 162 std::string default_locale_;
164 // The maximum x value within the bounds of the slider. 163 // The maximum x value within the bounds of the slider.
165 int max_x_; 164 int max_x_;
166 // The maximum y value within the bounds of the slider. 165 // The maximum y value within the bounds of the slider.
167 int max_y_; 166 int max_y_;
168 // The widget container for the slider being tested. 167 // The widget container for the slider being tested.
169 views::Widget* widget_; 168 views::Widget* widget_;
170 // An event generator. 169 // An event generator.
171 scoped_ptr<aura::test::EventGenerator> event_generator_; 170 scoped_ptr<ui::test::EventGenerator> event_generator_;
172 171
173 DISALLOW_COPY_AND_ASSIGN(SliderTest); 172 DISALLOW_COPY_AND_ASSIGN(SliderTest);
174 }; 173 };
175 174
176 SliderTest::SliderTest(Slider::Orientation orientation) 175 SliderTest::SliderTest(Slider::Orientation orientation)
177 : orientation_(orientation), 176 : orientation_(orientation),
178 slider_(NULL), 177 slider_(NULL),
179 default_locale_(""), 178 default_locale_(""),
180 max_x_(0), 179 max_x_(0),
181 max_y_(0) { 180 max_y_(0) {
(...skipping 15 matching lines...) Expand all
197 196
198 views::Widget::InitParams init_params(CreateParams( 197 views::Widget::InitParams init_params(CreateParams(
199 views::Widget::InitParams::TYPE_WINDOW_FRAMELESS)); 198 views::Widget::InitParams::TYPE_WINDOW_FRAMELESS));
200 init_params.bounds = gfx::Rect(size); 199 init_params.bounds = gfx::Rect(size);
201 200
202 widget_ = new views::Widget(); 201 widget_ = new views::Widget();
203 widget_->Init(init_params); 202 widget_->Init(init_params);
204 widget_->SetContentsView(slider_); 203 widget_->SetContentsView(slider_);
205 widget_->Show(); 204 widget_->Show();
206 205
207 aura::Window* native_window = widget_->GetNativeWindow(); 206 event_generator_.reset(new ui::test::EventGenerator(
208 event_generator_.reset(new aura::test::EventGenerator( 207 GetContext(), widget_->GetNativeWindow()));
209 native_window->GetRootWindow()));
210 } 208 }
211 209
212 void SliderTest::TearDown() { 210 void SliderTest::TearDown() {
213 if (widget_ && !widget_->IsClosed()) 211 if (widget_ && !widget_->IsClosed())
214 widget_->Close(); 212 widget_->Close();
215 213
216 base::i18n::SetICUDefaultLocale(default_locale_); 214 base::i18n::SetICUDefaultLocale(default_locale_);
217 215
218 views::ViewsTestBase::TearDown(); 216 views::ViewsTestBase::TearDown();
219 } 217 }
(...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after
375 2 /* move_x */, 0 /* move_y */); 373 2 /* move_x */, 0 /* move_y */);
376 374
377 EXPECT_EQ(1, slider_listener().last_drag_started_epoch()); 375 EXPECT_EQ(1, slider_listener().last_drag_started_epoch());
378 EXPECT_GT(slider_listener().last_drag_ended_epoch(), 376 EXPECT_GT(slider_listener().last_drag_ended_epoch(),
379 slider_listener().last_drag_started_epoch()); 377 slider_listener().last_drag_started_epoch());
380 EXPECT_EQ(slider(), slider_listener().last_drag_started_sender()); 378 EXPECT_EQ(slider(), slider_listener().last_drag_started_sender());
381 EXPECT_EQ(slider(), slider_listener().last_drag_ended_sender()); 379 EXPECT_EQ(slider(), slider_listener().last_drag_ended_sender());
382 } 380 }
383 381
384 } // namespace views 382 } // namespace views
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698