chromium/ui/views/controls/scrollbar/scrollbar_unittest.cc

// Copyright 2012 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include <memory>

#include "base/memory/raw_ptr.h"
#include "base/time/time.h"
#include "build/build_config.h"
#include "ui/base/ui_base_types.h"
#include "ui/events/test/event_generator.h"
#include "ui/gfx/geometry/rect.h"
#include "ui/gfx/geometry/vector2d.h"
#include "ui/views/accessibility/view_accessibility.h"
#include "ui/views/controls/scrollbar/base_scroll_bar_thumb.h"
#include "ui/views/controls/scrollbar/scroll_bar.h"
#include "ui/views/controls/scrollbar/scroll_bar_views.h"
#include "ui/views/test/view_metadata_test_utils.h"
#include "ui/views/test/views_test_base.h"
#include "ui/views/widget/unique_widget_ptr.h"
#include "ui/views/widget/widget.h"
#include "ui/views/widget/widget_utils.h"

namespace views {

namespace {

// The Scrollbar controller. This is the widget that should do the real
// scrolling of contents.
class TestScrollBarController : public ScrollBarController {};

// This container is used to forward gesture events to the scrollbar for
// testing fling and other gestures.
class TestScrollbarContainer : public View {};

}  // namespace

class ScrollBarViewsTest : public ViewsTestBase {};

// Verify properties are accessible via metadata.
TEST_F(ScrollBarViewsTest, MetaDataTest) {}

TEST_F(ScrollBarViewsTest, Scrolling) {}

TEST_F(ScrollBarViewsTest, ScrollBarFitsToBottom) {}

TEST_F(ScrollBarViewsTest, ScrollToEndAfterShrinkAndExpand) {}

TEST_F(ScrollBarViewsTest, ThumbFullLengthOfTrack) {}

TEST_F(ScrollBarViewsTest, AccessibleRole) {}

#if !BUILDFLAG(IS_MAC)
TEST_F(ScrollBarViewsTest, RightClickOpensMenu) {}

TEST_F(ScrollBarViewsTest, TestPageScrollingByPress) {}

TEST_F(ScrollBarViewsTest, DragThumbScrollsContent) {}

TEST_F(ScrollBarViewsTest, DragThumbScrollsContentWhenSnapBackDisabled) {}

TEST_F(ScrollBarViewsTest, FlingGestureScrollsView) {}
#endif

}  // namespace views