OLD | NEW |
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" |
19 #include "ui/views/test/slider_test_api.h" | 17 #include "ui/views/test/slider_test_api.h" |
20 #include "ui/views/test/views_test_base.h" | 18 #include "ui/views/test/views_test_base.h" |
| 19 #include "ui/views/test/widget_event_generator.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 { |
29 public: | 28 public: |
30 TestSliderListener(); | 29 TestSliderListener(); |
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
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 test::WidgetEventGenerator* 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<test::WidgetEventGenerator> 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 Loading... |
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 test::WidgetEventGenerator(widget_)); |
208 event_generator_.reset(new aura::test::EventGenerator( | |
209 native_window->GetRootWindow())); | |
210 } | 207 } |
211 | 208 |
212 void SliderTest::TearDown() { | 209 void SliderTest::TearDown() { |
213 if (widget_ && !widget_->IsClosed()) | 210 if (widget_ && !widget_->IsClosed()) |
214 widget_->Close(); | 211 widget_->Close(); |
215 | 212 |
216 base::i18n::SetICUDefaultLocale(default_locale_); | 213 base::i18n::SetICUDefaultLocale(default_locale_); |
217 | 214 |
218 views::ViewsTestBase::TearDown(); | 215 views::ViewsTestBase::TearDown(); |
219 } | 216 } |
(...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
375 2 /* move_x */, 0 /* move_y */); | 372 2 /* move_x */, 0 /* move_y */); |
376 | 373 |
377 EXPECT_EQ(1, slider_listener().last_drag_started_epoch()); | 374 EXPECT_EQ(1, slider_listener().last_drag_started_epoch()); |
378 EXPECT_GT(slider_listener().last_drag_ended_epoch(), | 375 EXPECT_GT(slider_listener().last_drag_ended_epoch(), |
379 slider_listener().last_drag_started_epoch()); | 376 slider_listener().last_drag_started_epoch()); |
380 EXPECT_EQ(slider(), slider_listener().last_drag_started_sender()); | 377 EXPECT_EQ(slider(), slider_listener().last_drag_started_sender()); |
381 EXPECT_EQ(slider(), slider_listener().last_drag_ended_sender()); | 378 EXPECT_EQ(slider(), slider_listener().last_drag_ended_sender()); |
382 } | 379 } |
383 | 380 |
384 } // namespace views | 381 } // namespace views |
OLD | NEW |