| 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 |