Index: cc/input/top_controls_manager_unittest.cc |
diff --git a/cc/input/top_controls_manager_unittest.cc b/cc/input/top_controls_manager_unittest.cc |
index 16d0e5d21b1b32e45c5f733aa5fcf18daa804ac8..178d2f8d33781d407acbbc16cd6df7edc27f1c27 100644 |
--- a/cc/input/top_controls_manager_unittest.cc |
+++ b/cc/input/top_controls_manager_unittest.cc |
@@ -409,8 +409,9 @@ TEST(TopControlsManagerTest, HeightChangeMaintainsFullyVisibleControls) { |
TEST(TopControlsManagerTest, GrowingHeightKeepsTopControlsHidden) { |
MockTopControlsManagerClient client(0.f, 0.5f, 0.5f); |
TopControlsManager* manager = client.manager(); |
+ client.SetTopControlsHeight(1.f); |
manager->UpdateTopControlsState(HIDDEN, HIDDEN, false); |
- EXPECT_EQ(0.f, manager->ControlsTopOffset()); |
+ EXPECT_EQ(-1.f, manager->ControlsTopOffset()); |
EXPECT_EQ(0.f, manager->ContentTopOffset()); |
client.SetTopControlsHeight(50.f); |
@@ -445,5 +446,45 @@ TEST(TopControlsManagerTest, ShrinkingHeightKeepsTopControlsHidden) { |
EXPECT_FLOAT_EQ(0.f, manager->ContentTopOffset()); |
} |
+TEST(TopControlsManagerTest, ZeroTopControlsHeightDisablesManager) { |
+ MockTopControlsManagerClient client(0.f, 0.5f, 0.5f); |
+ client.SetCurrentTopControlsShownRatio(0.f); |
+ TopControlsManager* manager = client.manager(); |
+ |
+ EXPECT_FLOAT_EQ(0.f, manager->ControlsTopOffset()); |
+ EXPECT_FLOAT_EQ(0.f, manager->ContentTopOffset()); |
+ EXPECT_FLOAT_EQ(0.f, manager->TopControlsShownRatio()); |
+ EXPECT_FLOAT_EQ(0.f, manager->TopControlsHeight()); |
+ |
+ manager->UpdateTopControlsState(SHOWN, SHOWN, true); |
+ EXPECT_FALSE(manager->animation()); |
+ EXPECT_EQ(TopControlsManager::NO_ANIMATION, manager->animation_direction()); |
+ EXPECT_FLOAT_EQ(0.f, manager->TopControlsShownRatio()); |
+ |
+ manager->ScrollBegin(); |
+ EXPECT_FLOAT_EQ(10.f, manager->ScrollBy(gfx::Vector2dF(0.f, 10.f)).y()); |
+ manager->ScrollEnd(); |
+ EXPECT_FALSE(manager->animation()); |
+ EXPECT_EQ(TopControlsManager::NO_ANIMATION, manager->animation_direction()); |
+ EXPECT_FLOAT_EQ(0.f, manager->ControlsTopOffset()); |
+ EXPECT_FLOAT_EQ(0.f, manager->ContentTopOffset()); |
+ EXPECT_FLOAT_EQ(0.f, manager->TopControlsShownRatio()); |
+ |
+ manager->PinchBegin(); |
+ manager->PinchEnd(); |
+ EXPECT_FALSE(manager->animation()); |
+ EXPECT_EQ(TopControlsManager::NO_ANIMATION, manager->animation_direction()); |
+ EXPECT_FLOAT_EQ(0.f, manager->ControlsTopOffset()); |
+ EXPECT_FLOAT_EQ(0.f, manager->ContentTopOffset()); |
+ EXPECT_FLOAT_EQ(0.f, manager->TopControlsShownRatio()); |
+ |
+ manager->MainThreadHasStoppedFlinging(); |
+ EXPECT_FALSE(manager->animation()); |
+ EXPECT_EQ(TopControlsManager::NO_ANIMATION, manager->animation_direction()); |
+ EXPECT_FLOAT_EQ(0.f, manager->ControlsTopOffset()); |
+ EXPECT_FLOAT_EQ(0.f, manager->ContentTopOffset()); |
+ EXPECT_FLOAT_EQ(0.f, manager->TopControlsShownRatio()); |
+} |
+ |
} // namespace |
} // namespace cc |