diff options
author | aelias <aelias@chromium.org> | 2015-02-09 14:42:20 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-02-09 22:43:07 +0000 |
commit | 2c00a9a6c962300efed56e630aabbf49144c2d64 (patch) | |
tree | d4d0498a40ef524bdf8c915a3d30585789286c9e | |
parent | ad90351f940b2ff53df05700c1aa9081b6858e1f (diff) | |
download | chromium_src-2c00a9a6c962300efed56e630aabbf49144c2d64.zip chromium_src-2c00a9a6c962300efed56e630aabbf49144c2d64.tar.gz chromium_src-2c00a9a6c962300efed56e630aabbf49144c2d64.tar.bz2 |
Deflake and reenable top controls tests.
Windows bots had trouble with the expectations in the animation loops.
Because of floating point inaccuracies, the top controls offset could be
exactly the same during the last two frames of the animation, because
the shown ratio was just off the minimum and that delta disappeared when
multiplying by the height. This switches to checking the ratio itself,
which should match the same value that the animation system uses to
check if the next frame is needed.
BUG=456617
Review URL: https://codereview.chromium.org/907143002
Cr-Commit-Position: refs/heads/master@{#315416}
-rw-r--r-- | cc/input/top_controls_manager_unittest.cc | 59 |
1 files changed, 27 insertions, 32 deletions
diff --git a/cc/input/top_controls_manager_unittest.cc b/cc/input/top_controls_manager_unittest.cc index bc2a9f16..16d0e5d 100644 --- a/cc/input/top_controls_manager_unittest.cc +++ b/cc/input/top_controls_manager_unittest.cc @@ -135,8 +135,7 @@ TEST(TopControlsManagerTest, EnsureScrollThresholdApplied) { manager->ScrollEnd(); } -// Flaky. See http://crbug.com/456617. -TEST(TopControlsManagerTest, DISABLED_PartialShownHideAnimation) { +TEST(TopControlsManagerTest, PartialShownHideAnimation) { MockTopControlsManagerClient client(100.f, 0.5f, 0.5f); TopControlsManager* manager = client.manager(); manager->ScrollBegin(); @@ -154,12 +153,12 @@ TEST(TopControlsManagerTest, DISABLED_PartialShownHideAnimation) { EXPECT_TRUE(manager->animation()); base::TimeTicks time = gfx::FrameTime::Now(); - float previous_offset = manager->ControlsTopOffset(); + float previous; while (manager->animation()) { + previous = manager->TopControlsShownRatio(); time = base::TimeDelta::FromMicroseconds(100) + time; manager->Animate(time); - EXPECT_LT(manager->ControlsTopOffset(), previous_offset); - previous_offset = manager->ControlsTopOffset(); + EXPECT_LT(manager->TopControlsShownRatio(), previous); } EXPECT_FALSE(manager->animation()); EXPECT_FLOAT_EQ(-100.f, manager->ControlsTopOffset()); @@ -184,12 +183,12 @@ TEST(TopControlsManagerTest, PartialShownShowAnimation) { EXPECT_TRUE(manager->animation()); base::TimeTicks time = gfx::FrameTime::Now(); - float previous_offset = manager->ControlsTopOffset(); + float previous; while (manager->animation()) { + previous = manager->TopControlsShownRatio(); time = base::TimeDelta::FromMicroseconds(100) + time; manager->Animate(time); - EXPECT_GT(manager->ControlsTopOffset(), previous_offset); - previous_offset = manager->ControlsTopOffset(); + EXPECT_GT(manager->TopControlsShownRatio(), previous); } EXPECT_FALSE(manager->animation()); EXPECT_FLOAT_EQ(0.f, manager->ControlsTopOffset()); @@ -210,21 +209,19 @@ TEST(TopControlsManagerTest, PartialHiddenWithAmbiguousThresholdShows) { EXPECT_TRUE(manager->animation()); base::TimeTicks time = gfx::FrameTime::Now(); - float previous_offset = manager->ControlsTopOffset(); + float previous; while (manager->animation()) { + previous = manager->TopControlsShownRatio(); time = base::TimeDelta::FromMicroseconds(100) + time; manager->Animate(time); - EXPECT_GT(manager->ControlsTopOffset(), previous_offset); - previous_offset = manager->ControlsTopOffset(); + EXPECT_GT(manager->TopControlsShownRatio(), previous); } EXPECT_FALSE(manager->animation()); EXPECT_FLOAT_EQ(0.f, manager->ControlsTopOffset()); EXPECT_FLOAT_EQ(100.f, manager->ContentTopOffset()); } -// Flaky. See http://crbug.com/456617. -TEST(TopControlsManagerTest, - DISABLED_PartialHiddenWithAmbiguousThresholdHides) { +TEST(TopControlsManagerTest, PartialHiddenWithAmbiguousThresholdHides) { MockTopControlsManagerClient client(100.f, 0.25f, 0.25f); TopControlsManager* manager = client.manager(); @@ -238,19 +235,19 @@ TEST(TopControlsManagerTest, EXPECT_TRUE(manager->animation()); base::TimeTicks time = gfx::FrameTime::Now(); - float previous_offset = manager->ControlsTopOffset(); + float previous; while (manager->animation()) { + previous = manager->TopControlsShownRatio(); time = base::TimeDelta::FromMicroseconds(100) + time; manager->Animate(time); - EXPECT_LT(manager->ControlsTopOffset(), previous_offset); - previous_offset = manager->ControlsTopOffset(); + EXPECT_LT(manager->TopControlsShownRatio(), previous); } EXPECT_FALSE(manager->animation()); EXPECT_FLOAT_EQ(-100.f, manager->ControlsTopOffset()); EXPECT_FLOAT_EQ(0.f, manager->ContentTopOffset()); } -TEST(TopControlsManagerTest, DISABLED_PartialShownWithAmbiguousThresholdHides) { +TEST(TopControlsManagerTest, PartialShownWithAmbiguousThresholdHides) { MockTopControlsManagerClient client(100.f, 0.25f, 0.25f); TopControlsManager* manager = client.manager(); @@ -268,12 +265,12 @@ TEST(TopControlsManagerTest, DISABLED_PartialShownWithAmbiguousThresholdHides) { EXPECT_TRUE(manager->animation()); base::TimeTicks time = gfx::FrameTime::Now(); - float previous_offset = manager->ControlsTopOffset(); + float previous; while (manager->animation()) { + previous = manager->TopControlsShownRatio(); time = base::TimeDelta::FromMicroseconds(100) + time; manager->Animate(time); - EXPECT_LT(manager->ControlsTopOffset(), previous_offset); - previous_offset = manager->ControlsTopOffset(); + EXPECT_LT(manager->TopControlsShownRatio(), previous); } EXPECT_FALSE(manager->animation()); EXPECT_FLOAT_EQ(-100.f, manager->ControlsTopOffset()); @@ -298,12 +295,12 @@ TEST(TopControlsManagerTest, PartialShownWithAmbiguousThresholdShows) { EXPECT_TRUE(manager->animation()); base::TimeTicks time = gfx::FrameTime::Now(); - float previous_offset = manager->ControlsTopOffset(); + float previous; while (manager->animation()) { + previous = manager->TopControlsShownRatio(); time = base::TimeDelta::FromMicroseconds(100) + time; manager->Animate(time); - EXPECT_GT(manager->ControlsTopOffset(), previous_offset); - previous_offset = manager->ControlsTopOffset(); + EXPECT_GT(manager->TopControlsShownRatio(), previous); } EXPECT_FALSE(manager->animation()); EXPECT_FLOAT_EQ(0.f, manager->ControlsTopOffset()); @@ -339,8 +336,7 @@ TEST(TopControlsManagerTest, PinchIgnoresScroll) { EXPECT_TRUE(manager->animation()); } -// Flaky. See http://crbug.com/456617. -TEST(TopControlsManagerTest, DISABLED_PinchBeginStartsAnimationIfNecessary) { +TEST(TopControlsManagerTest, PinchBeginStartsAnimationIfNecessary) { MockTopControlsManagerClient client(100.f, 0.5f, 0.5f); TopControlsManager* manager = client.manager(); @@ -362,12 +358,12 @@ TEST(TopControlsManagerTest, DISABLED_PinchBeginStartsAnimationIfNecessary) { EXPECT_TRUE(manager->animation()); base::TimeTicks time = base::TimeTicks::Now(); - float previous_offset = manager->ControlsTopOffset(); + float previous; while (manager->animation()) { + previous = manager->TopControlsShownRatio(); time = base::TimeDelta::FromMicroseconds(100) + time; manager->Animate(time); - EXPECT_LT(manager->ControlsTopOffset(), previous_offset); - previous_offset = manager->ControlsTopOffset(); + EXPECT_LT(manager->TopControlsShownRatio(), previous); } EXPECT_FALSE(manager->animation()); @@ -383,12 +379,11 @@ TEST(TopControlsManagerTest, DISABLED_PinchBeginStartsAnimationIfNecessary) { EXPECT_TRUE(manager->animation()); time = base::TimeTicks::Now(); - previous_offset = manager->ControlsTopOffset(); while (manager->animation()) { + previous = manager->TopControlsShownRatio(); time = base::TimeDelta::FromMicroseconds(100) + time; manager->Animate(time); - EXPECT_GT(manager->ControlsTopOffset(), previous_offset); - previous_offset = manager->ControlsTopOffset(); + EXPECT_GT(manager->TopControlsShownRatio(), previous); } EXPECT_FALSE(manager->animation()); EXPECT_FLOAT_EQ(0.f, manager->ControlsTopOffset()); |