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

Unified Diff: ui/views/controls/scrollbar/scrollbar_unittest.cc

Issue 851853002: It is time. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Trying to reup because the last upload failed. Created 5 years, 11 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ui/views/controls/scrollbar/scroll_bar.cc ('k') | ui/views/controls/separator.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/views/controls/scrollbar/scrollbar_unittest.cc
diff --git a/ui/views/controls/scrollbar/scrollbar_unittest.cc b/ui/views/controls/scrollbar/scrollbar_unittest.cc
deleted file mode 100644
index 295ac2c3cc97df233abcb9e17be3e886980b42eb..0000000000000000000000000000000000000000
--- a/ui/views/controls/scrollbar/scrollbar_unittest.cc
+++ /dev/null
@@ -1,170 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "ui/views/controls/scrollbar/native_scroll_bar.h"
-#include "ui/views/controls/scrollbar/native_scroll_bar_views.h"
-#include "ui/views/controls/scrollbar/scroll_bar.h"
-#include "ui/views/test/views_test_base.h"
-#include "ui/views/widget/widget.h"
-
-namespace {
-
-// The Scrollbar controller. This is the widget that should do the real
-// scrolling of contents.
-class TestScrollBarController : public views::ScrollBarController {
- public:
- virtual ~TestScrollBarController() {}
-
- virtual void ScrollToPosition(views::ScrollBar* source,
- int position) override {
- last_source = source;
- last_position = position;
- }
-
- virtual int GetScrollIncrement(views::ScrollBar* source,
- bool is_page,
- bool is_positive) override {
- last_source = source;
- last_is_page = is_page;
- last_is_positive = is_positive;
-
- if (is_page)
- return 20;
- return 10;
- }
-
- // We save the last values in order to assert the corectness of the scroll
- // operation.
- views::ScrollBar* last_source;
- bool last_is_positive;
- bool last_is_page;
- int last_position;
-};
-
-} // namespace
-
-namespace views {
-
-class NativeScrollBarTest : public ViewsTestBase {
- public:
- NativeScrollBarTest() : widget_(NULL), scrollbar_(NULL) {}
-
- virtual void SetUp() {
- ViewsTestBase::SetUp();
- controller_.reset(new TestScrollBarController());
-
- ASSERT_FALSE(scrollbar_);
- native_scrollbar_ = new NativeScrollBar(true);
- native_scrollbar_->SetBounds(0, 0, 100, 100);
- native_scrollbar_->set_controller(controller_.get());
-
- widget_ = new Widget;
- Widget::InitParams params = CreateParams(Widget::InitParams::TYPE_POPUP);
- params.bounds = gfx::Rect(0, 0, 100, 100);
- widget_->Init(params);
- View* container = new View();
- widget_->SetContentsView(container);
- container->AddChildView(native_scrollbar_);
-
- scrollbar_ =
- static_cast<NativeScrollBarViews*>(native_scrollbar_->native_wrapper_);
- scrollbar_->SetBounds(0, 0, 100, 100);
- scrollbar_->Update(100, 200, 0);
-
- track_size_ = scrollbar_->GetTrackBounds().width();
- }
-
- virtual void TearDown() {
- widget_->Close();
- ViewsTestBase::TearDown();
- }
-
- protected:
- Widget* widget_;
-
- // This is the native scrollbar the Views one wraps around.
- NativeScrollBar* native_scrollbar_;
-
- // This is the Views scrollbar.
- BaseScrollBar* scrollbar_;
-
- // Keep track of the size of the track. This is how we can tell when we
- // scroll to the middle.
- int track_size_;
-
- scoped_ptr<TestScrollBarController> controller_;
-};
-
-// TODO(dnicoara) Can't run the test on Windows since the scrollbar |Part|
-// isn't handled in NativeTheme.
-#if defined(OS_WIN)
-#define MAYBE_Scrolling DISABLED_Scrolling
-#define MAYBE_ScrollBarFitsToBottom DISABLED_ScrollBarFitsToBottom
-#else
-#define MAYBE_Scrolling Scrolling
-#define MAYBE_ScrollBarFitsToBottom ScrollBarFitsToBottom
-#endif
-
-TEST_F(NativeScrollBarTest, MAYBE_Scrolling) {
- EXPECT_EQ(scrollbar_->GetPosition(), 0);
- EXPECT_EQ(scrollbar_->GetMaxPosition(), 100);
- EXPECT_EQ(scrollbar_->GetMinPosition(), 0);
-
- // Scroll to middle.
- scrollbar_->ScrollToThumbPosition(track_size_ / 4, false);
- EXPECT_EQ(controller_->last_position, 50);
- EXPECT_EQ(controller_->last_source, native_scrollbar_);
-
- // Scroll to the end.
- scrollbar_->ScrollToThumbPosition(track_size_ / 2, false);
- EXPECT_EQ(controller_->last_position, 100);
-
- // Overscroll. Last position should be the maximum position.
- scrollbar_->ScrollToThumbPosition(track_size_, false);
- EXPECT_EQ(controller_->last_position, 100);
-
- // Underscroll. Last position should be the minimum position.
- scrollbar_->ScrollToThumbPosition(-10, false);
- EXPECT_EQ(controller_->last_position, 0);
-
- // Test the different fixed scrolling amounts. Generally used by buttons,
- // or click on track.
- scrollbar_->ScrollToThumbPosition(0, false);
- scrollbar_->ScrollByAmount(BaseScrollBar::SCROLL_NEXT_LINE);
- EXPECT_EQ(controller_->last_position, 10);
-
- scrollbar_->ScrollByAmount(BaseScrollBar::SCROLL_PREV_LINE);
- EXPECT_EQ(controller_->last_position, 0);
-
- scrollbar_->ScrollByAmount(BaseScrollBar::SCROLL_NEXT_PAGE);
- EXPECT_EQ(controller_->last_position, 20);
-
- scrollbar_->ScrollByAmount(BaseScrollBar::SCROLL_PREV_PAGE);
- EXPECT_EQ(controller_->last_position, 0);
-}
-
-TEST_F(NativeScrollBarTest, MAYBE_ScrollBarFitsToBottom) {
- scrollbar_->Update(100, 199, 0);
- EXPECT_EQ(0, scrollbar_->GetPosition());
- EXPECT_EQ(99, scrollbar_->GetMaxPosition());
- EXPECT_EQ(0, scrollbar_->GetMinPosition());
-
- scrollbar_->Update(100, 199, 99);
- EXPECT_EQ(
- scrollbar_->GetTrackBounds().width() - scrollbar_->GetThumbSizeForTest(),
- scrollbar_->GetPosition());
-}
-
-TEST_F(NativeScrollBarTest, ScrollToEndAfterShrinkAndExpand) {
- // Scroll to the end of the content.
- scrollbar_->Update(100, 101, 0);
- EXPECT_TRUE(scrollbar_->ScrollByContentsOffset(-1));
- // Shrink and then re-exapnd the content.
- scrollbar_->Update(100, 100, 0);
- scrollbar_->Update(100, 101, 0);
- // Ensure the scrollbar allows scrolling to the end.
- EXPECT_TRUE(scrollbar_->ScrollByContentsOffset(-1));
-}
-
-} // namespace views
« no previous file with comments | « ui/views/controls/scrollbar/scroll_bar.cc ('k') | ui/views/controls/separator.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698