Chromium Code Reviews| Index: cc/top_controls_manager_unittest.cc |
| diff --git a/cc/top_controls_manager_unittest.cc b/cc/top_controls_manager_unittest.cc |
| index 1cb250276faa0d86f54139b3f104dde0d2b41db9..5fdb9a605e87b5646285ef716f4e9e5df7e52d35 100644 |
| --- a/cc/top_controls_manager_unittest.cc |
| +++ b/cc/top_controls_manager_unittest.cc |
| @@ -141,6 +141,56 @@ TEST(TopControlsManagerTest, overlayModeDetection) { |
| client.rootScrollLayer()->scrollDelta() + remaining_scroll); |
| } |
| +TEST(TopControlsManagerTest, enssureScrollThresholdApplied) { |
|
jamesr
2013/01/24 22:05:29
typo "enssure" -> "ensure"
Ted C
2013/01/24 23:56:01
Done.
|
| + MockTopControlsManagerClient client; |
| + TopControlsManager* manager = client.manager(); |
| + client.rootScrollLayer()->setScrollOffset(gfx::Vector2d(0, 200)); |
| + |
| + manager->ScrollBegin(); |
| + |
| + // Scroll down to hide the controls entirely. |
| + manager->ScrollBy(gfx::Vector2dF(0.f, 30.f)); |
| + EXPECT_EQ(-30.f, manager->controls_top_offset()); |
| + EXPECT_EQ(70.f, manager->content_top_offset()); |
| + client.rootScrollLayer()->setScrollOffset(gfx::Vector2d(0, 230)); |
| + |
| + manager->ScrollBy(gfx::Vector2dF(0.f, 30.f)); |
| + EXPECT_EQ(-60.f, manager->controls_top_offset()); |
| + EXPECT_EQ(40.f, manager->content_top_offset()); |
| + client.rootScrollLayer()->setScrollOffset(gfx::Vector2d(0, 260)); |
| + |
| + manager->ScrollBy(gfx::Vector2dF(0.f, 100.f)); |
| + EXPECT_EQ(-100.f, manager->controls_top_offset()); |
| + EXPECT_EQ(0.f, manager->content_top_offset()); |
| + client.rootScrollLayer()->setScrollOffset(gfx::Vector2d(0, 360)); |
| + |
| + // Scroll back up a bit and ensure the controls don't move until we cross |
| + // the threshold. |
| + manager->ScrollBy(gfx::Vector2dF(0.f, -10.f)); |
| + EXPECT_EQ(-100.f, manager->controls_top_offset()); |
| + EXPECT_EQ(0.f, manager->content_top_offset()); |
| + client.rootScrollLayer()->setScrollOffset(gfx::Vector2d(0, 350)); |
| + |
| + manager->ScrollBy(gfx::Vector2dF(0.f, -50.f)); |
| + EXPECT_EQ(-100.f, manager->controls_top_offset()); |
| + EXPECT_EQ(0.f, manager->content_top_offset()); |
| + client.rootScrollLayer()->setScrollOffset(gfx::Vector2d(0, 300)); |
| + |
| + // After hitting the threshold, further scrolling up should result in the top |
| + // controls showing. |
| + manager->ScrollBy(gfx::Vector2dF(0.f, -10.f)); |
| + EXPECT_EQ(-90.f, manager->controls_top_offset()); |
| + EXPECT_EQ(0.f, manager->content_top_offset()); |
| + client.rootScrollLayer()->setScrollOffset(gfx::Vector2d(0, 290)); |
| + |
| + manager->ScrollBy(gfx::Vector2dF(0.f, -50.f)); |
| + EXPECT_EQ(-40.f, manager->controls_top_offset()); |
| + EXPECT_EQ(0.f, manager->content_top_offset()); |
| + client.rootScrollLayer()->setScrollOffset(gfx::Vector2d(0, 240)); |
| + |
| + manager->ScrollEnd(); |
| +} |
| + |
| TEST(TopControlsManagerTest, partialShownHideAnimation) { |
| MockTopControlsManagerClient client; |
| TopControlsManager* manager = client.manager(); |