Chromium Code Reviews| Index: third_party/WebKit/Source/platform/scroll/ScrollbarThemeAuraTest.cpp |
| diff --git a/third_party/WebKit/Source/platform/scroll/ScrollbarThemeAuraTest.cpp b/third_party/WebKit/Source/platform/scroll/ScrollbarThemeAuraTest.cpp |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..18c0ab8c4604084ea56eb000853957e1104e6f50 |
| --- /dev/null |
| +++ b/third_party/WebKit/Source/platform/scroll/ScrollbarThemeAuraTest.cpp |
| @@ -0,0 +1,72 @@ |
| +// Copyright 2016 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 "platform/scroll/ScrollbarThemeAura.h" |
| + |
| +#include "platform/scroll/ScrollbarTestSuite.h" |
| + |
| +namespace blink { |
| + |
| +using testing::Return; |
| + |
| +class ScrollbarThemeAuraTest : public ScrollbarTestSuite { |
| +protected: |
| + void setMockScrollableAreaExpectations(MockScrollableArea* mock) |
| + { |
| + EXPECT_CALL(*mock, layerForHorizontalScrollbar()) |
|
jbroman
2016/05/11 21:24:08
Is it important for these tests that this be a non
Bret
2016/05/12 00:18:12
Hmm, okay I deleted this block. I added it origina
|
| + .WillRepeatedly(Return(nullptr)); |
| + EXPECT_CALL(*mock, layerForVerticalScrollbar()) |
| + .WillRepeatedly(Return(nullptr)); |
| + } |
| +}; |
| + |
| +TEST_F(ScrollbarThemeAuraTest, ButtonSizeHorizontal) |
| +{ |
| + MockScrollableArea* mockScrollableArea = MockScrollableArea::create(); |
| + setMockScrollableAreaExpectations(mockScrollableArea); |
| + ScrollbarThemeMock mockTheme; |
| + Scrollbar* scrollbar = Scrollbar::createForTesting( |
| + mockScrollableArea, HorizontalScrollbar, RegularScrollbar, &mockTheme); |
| + ScrollbarThemeAura theme; |
| + |
| + IntRect scrollbarSizeNormalDimensions(11, 22, 444, 66); |
| + scrollbar->setFrameRect(scrollbarSizeNormalDimensions); |
| + IntSize size1 = theme.buttonSize(*scrollbar); |
| + EXPECT_EQ(66, size1.width()); |
| + EXPECT_EQ(66, size1.height()); |
| + |
| + IntRect scrollbarSizeSquashedDimensions(11, 22, 444, 666); |
| + scrollbar->setFrameRect(scrollbarSizeSquashedDimensions); |
| + IntSize size2 = theme.buttonSize(*scrollbar); |
| + EXPECT_EQ(222, size2.width()); |
| + EXPECT_EQ(666, size2.height()); |
| + |
| + ThreadHeap::collectAllGarbage(); |
| +} |
| + |
| +TEST_F(ScrollbarThemeAuraTest, ButtonSizeVertical) |
| +{ |
| + MockScrollableArea* mockScrollableArea = MockScrollableArea::create(); |
| + setMockScrollableAreaExpectations(mockScrollableArea); |
| + ScrollbarThemeMock mockTheme; |
| + Scrollbar* scrollbar = Scrollbar::createForTesting( |
| + mockScrollableArea, VerticalScrollbar, RegularScrollbar, &mockTheme); |
| + ScrollbarThemeAura theme; |
| + |
| + IntRect scrollbarSizeNormalDimensions(11, 22, 44, 666); |
| + scrollbar->setFrameRect(scrollbarSizeNormalDimensions); |
| + IntSize size1 = theme.buttonSize(*scrollbar); |
| + EXPECT_EQ(44, size1.width()); |
| + EXPECT_EQ(44, size1.height()); |
| + |
| + IntRect scrollbarSizeSquashedDimensions(11, 22, 444, 666); |
| + scrollbar->setFrameRect(scrollbarSizeSquashedDimensions); |
| + IntSize size2 = theme.buttonSize(*scrollbar); |
| + EXPECT_EQ(444, size2.width()); |
| + EXPECT_EQ(333, size2.height()); |
| + |
| + ThreadHeap::collectAllGarbage(); |
| +} |
| + |
| +} // namespace blink |