Chromium Code Reviews| Index: ui/views/animation/ink_drop_impl_unittest.cc |
| diff --git a/ui/views/animation/ink_drop_impl_unittest.cc b/ui/views/animation/ink_drop_impl_unittest.cc |
| index 14c549a9f37e11d5fb68d5f54cfd3afe03b3fc38..5c08a771b44ce26490e9deec173fbd0ca05d7fca 100644 |
| --- a/ui/views/animation/ink_drop_impl_unittest.cc |
| +++ b/ui/views/animation/ink_drop_impl_unittest.cc |
| @@ -294,6 +294,7 @@ TEST_F(InkDropImplTest, FocusHighlightComesBackImmediatelyAfterAction) { |
| ink_drop_.AnimateToState(InkDropState::ACTION_PENDING); |
| EXPECT_EQ(1, ink_drop_host_.num_ink_drop_layers()); |
| + EXPECT_FALSE(test_api_.IsHighlightFadingInOrVisible()); |
| ink_drop_.AnimateToState(InkDropState::ACTION_TRIGGERED); |
| EXPECT_EQ(1, ink_drop_host_.num_ink_drop_layers()); |
| @@ -307,4 +308,89 @@ TEST_F(InkDropImplTest, FocusHighlightComesBackImmediatelyAfterAction) { |
| EXPECT_TRUE(test_api_.IsHighlightFadingInOrVisible()); |
| } |
| +TEST_F(InkDropImplTest, HighlightCanCoexistWithRipple) { |
| + ink_drop_host_.set_should_show_highlight(true); |
| + ink_drop_host_.set_ripple_overrides_highlight(false); |
| + |
| + EXPECT_EQ(0, ink_drop_host_.num_ink_drop_layers()); |
| + |
| + ink_drop_.SetHovered(true); |
| + EXPECT_EQ(1, ink_drop_host_.num_ink_drop_layers()); |
| + |
| + ink_drop_.AnimateToState(InkDropState::ACTION_PENDING); |
| + EXPECT_EQ(1, ink_drop_host_.num_ink_drop_layers()); |
| + EXPECT_TRUE(test_api_.IsHighlightFadingInOrVisible()); |
| + |
| + ink_drop_.AnimateToState(InkDropState::ACTION_TRIGGERED); |
| + EXPECT_EQ(1, ink_drop_host_.num_ink_drop_layers()); |
| + EXPECT_TRUE(test_api_.IsHighlightFadingInOrVisible()); |
| + |
| + test_api_.CompleteAnimations(); |
| + |
| + // Nothing to fade in because the highlight has always been visible. |
| + EXPECT_FALSE(task_runner_->HasPendingTask()); |
| + EXPECT_TRUE(test_api_.IsHighlightFadingInOrVisible()); |
| + |
| + // Now try with the ripple showing before the highlight comes in. |
| + ink_drop_.AnimateToState(InkDropState::HIDDEN); |
| + ink_drop_.SetHovered(false); |
| + test_api_.CompleteAnimations(); |
| + EXPECT_EQ(0, ink_drop_host_.num_ink_drop_layers()); |
| + |
| + ink_drop_.AnimateToState(InkDropState::ACTION_PENDING); |
| + EXPECT_EQ(1, ink_drop_host_.num_ink_drop_layers()); |
|
bruthig
2016/09/09 16:05:47
Shouldn't this be 0?
Evan Stade
2016/09/09 18:55:48
why? we're animating the ripple in
bruthig
2016/09/09 19:30:05
I guess I was thinking of the IsVisible() clause b
|
| + ink_drop_.SetHovered(true); |
| + EXPECT_EQ(1, ink_drop_host_.num_ink_drop_layers()); |
| + EXPECT_TRUE(test_api_.IsHighlightFadingInOrVisible()); |
| +} |
| + |
| +TEST_F(InkDropImplTest, HighlightCanCoexistWithSnapToActivatedRipple) { |
| + ink_drop_host_.set_should_show_highlight(true); |
| + ink_drop_host_.set_ripple_overrides_highlight(false); |
| + |
| + EXPECT_EQ(0, ink_drop_host_.num_ink_drop_layers()); |
| + |
| + ink_drop_.SetHovered(true); |
| + EXPECT_EQ(1, ink_drop_host_.num_ink_drop_layers()); |
| + |
| + ink_drop_.SnapToActivated(); |
| + EXPECT_EQ(1, ink_drop_host_.num_ink_drop_layers()); |
| + EXPECT_TRUE(test_api_.IsHighlightFadingInOrVisible()); |
| + |
| + // Now try with the ripple showing before the highlight comes in. |
| + ink_drop_.AnimateToState(InkDropState::HIDDEN); |
| + ink_drop_.SetHovered(false); |
| + test_api_.CompleteAnimations(); |
| + EXPECT_EQ(0, ink_drop_host_.num_ink_drop_layers()); |
| + |
| + ink_drop_.SnapToActivated(); |
| + EXPECT_EQ(1, ink_drop_host_.num_ink_drop_layers()); |
|
bruthig
2016/09/09 16:05:47
Shouldn't this be 0?
Evan Stade
2016/09/09 18:55:48
after snapping to activated?
bruthig
2016/09/09 19:30:05
Nevermind, I thought it was similar to above.
|
| + ink_drop_.SetHovered(true); |
| + EXPECT_EQ(1, ink_drop_host_.num_ink_drop_layers()); |
| + EXPECT_TRUE(test_api_.IsHighlightFadingInOrVisible()); |
| +} |
| + |
| +TEST_F(InkDropImplTest, HighlightCanExistWithoutRipple) { |
| + ink_drop_host_.set_should_show_highlight(true); |
| + ink_drop_host_.set_should_show_ripple(false); |
| + |
| + EXPECT_EQ(0, ink_drop_host_.num_ink_drop_layers()); |
| + |
| + ink_drop_.SetHovered(true); |
| + EXPECT_EQ(1, ink_drop_host_.num_ink_drop_layers()); |
| + |
| + ink_drop_.AnimateToState(InkDropState::ACTION_PENDING); |
| + EXPECT_EQ(InkDropState::HIDDEN, ink_drop_.GetTargetInkDropState()); |
| + EXPECT_EQ(1, ink_drop_host_.num_ink_drop_layers()); |
| + EXPECT_TRUE(test_api_.IsHighlightFadingInOrVisible()); |
| + |
| + ink_drop_.AnimateToState(InkDropState::ACTION_TRIGGERED); |
| + EXPECT_EQ(InkDropState::HIDDEN, ink_drop_.GetTargetInkDropState()); |
| + EXPECT_EQ(1, ink_drop_host_.num_ink_drop_layers()); |
| + EXPECT_TRUE(test_api_.IsHighlightFadingInOrVisible()); |
| + |
| + // Nothing to fade in because the highlight has always been visible. |
| + EXPECT_FALSE(task_runner_->HasPendingTask()); |
| + EXPECT_TRUE(test_api_.IsHighlightFadingInOrVisible()); |
| +} |
| } // namespace views |