Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "ui/views/animation/ink_drop_impl.h" | 5 #include "ui/views/animation/ink_drop_impl.h" |
| 6 | 6 |
| 7 #include "base/macros.h" | 7 #include "base/macros.h" |
| 8 #include "base/test/test_simple_task_runner.h" | 8 #include "base/test/test_simple_task_runner.h" |
| 9 #include "base/threading/thread_task_runner_handle.h" | 9 #include "base/threading/thread_task_runner_handle.h" |
| 10 #include "testing/gtest/include/gtest/gtest.h" | 10 #include "testing/gtest/include/gtest/gtest.h" |
| 11 #include "ui/views/animation/ink_drop_ripple.h" | 11 #include "ui/views/animation/ink_drop_ripple.h" |
| 12 #include "ui/views/animation/test/ink_drop_impl_test_api.h" | 12 #include "ui/views/animation/test/ink_drop_impl_test_api.h" |
| 13 #include "ui/views/animation/test/test_ink_drop_host.h" | 13 #include "ui/views/animation/test/test_ink_drop_host.h" |
| 14 | 14 |
| 15 namespace views { | 15 namespace views { |
| 16 | 16 |
| 17 // NOTE: The InkDropImpl class is also tested by the InkDropFactoryTest tests. | 17 // NOTE: The InkDropImpl class is also tested by the InkDropFactoryTest tests. |
| 18 class InkDropImplTest : public testing::Test { | 18 class InkDropImplTest : public testing::Test { |
| 19 public: | 19 public: |
| 20 InkDropImplTest(); | 20 InkDropImplTest(); |
| 21 ~InkDropImplTest() override; | 21 ~InkDropImplTest() override; |
| 22 | 22 |
| 23 protected: | 23 protected: |
| 24 TestInkDropHost ink_drop_host_; | 24 TestInkDropHost ink_drop_host_; |
| 25 | 25 |
| 26 // The test target. | 26 // The test target. |
| 27 InkDropImpl ink_drop_; | 27 InkDropImpl ink_drop_; |
| 28 | 28 |
| 29 // Allows privileged access to the the |ink_drop_hover_|. | 29 // Allows privileged access to the the |ink_drop_highlight_|. |
| 30 test::InkDropImplTestApi test_api_; | 30 test::InkDropImplTestApi test_api_; |
| 31 | 31 |
| 32 // Used to control the tasks scheduled by the InkDropImpl's Timer. | 32 // Used to control the tasks scheduled by the InkDropImpl's Timer. |
| 33 scoped_refptr<base::TestSimpleTaskRunner> task_runner_; | 33 scoped_refptr<base::TestSimpleTaskRunner> task_runner_; |
| 34 | 34 |
| 35 // Required by base::Timer's. | 35 // Required by base::Timer's. |
| 36 std::unique_ptr<base::ThreadTaskRunnerHandle> thread_task_runner_handle_; | 36 std::unique_ptr<base::ThreadTaskRunnerHandle> thread_task_runner_handle_; |
| 37 | 37 |
| 38 private: | 38 private: |
| 39 DISALLOW_COPY_AND_ASSIGN(InkDropImplTest); | 39 DISALLOW_COPY_AND_ASSIGN(InkDropImplTest); |
| 40 }; | 40 }; |
| 41 | 41 |
| 42 InkDropImplTest::InkDropImplTest() | 42 InkDropImplTest::InkDropImplTest() |
| 43 : ink_drop_(&ink_drop_host_), | 43 : ink_drop_(&ink_drop_host_), |
| 44 test_api_(&ink_drop_), | 44 test_api_(&ink_drop_), |
| 45 task_runner_(new base::TestSimpleTaskRunner), | 45 task_runner_(new base::TestSimpleTaskRunner), |
| 46 thread_task_runner_handle_( | 46 thread_task_runner_handle_( |
| 47 new base::ThreadTaskRunnerHandle(task_runner_)) { | 47 new base::ThreadTaskRunnerHandle(task_runner_)) { |
| 48 ink_drop_host_.set_disable_timers_for_test(true); | 48 ink_drop_host_.set_disable_timers_for_test(true); |
| 49 } | 49 } |
| 50 | 50 |
| 51 InkDropImplTest::~InkDropImplTest() {} | 51 InkDropImplTest::~InkDropImplTest() {} |
| 52 | 52 |
| 53 TEST_F(InkDropImplTest, SetHoveredIsFadingInOrVisible) { | 53 TEST_F(InkDropImplTest, SetHoveredHighlightIsFadingInOrVisible) { |
| 54 ink_drop_host_.set_should_show_hover(true); | 54 ink_drop_host_.set_should_show_highlight(true); |
| 55 | 55 |
| 56 ink_drop_.SetHovered(true); | 56 ink_drop_.SetHovered(true); |
| 57 EXPECT_TRUE(test_api_.IsHoverFadingInOrVisible()); | 57 EXPECT_TRUE(test_api_.IsHighlightFadingInOrVisible()); |
| 58 | 58 |
| 59 test_api_.CompleteAnimations(); | 59 test_api_.CompleteAnimations(); |
| 60 | 60 |
| 61 ink_drop_.SetHovered(false); | 61 ink_drop_.SetHovered(false); |
| 62 EXPECT_FALSE(test_api_.IsHoverFadingInOrVisible()); | 62 EXPECT_FALSE(test_api_.IsHighlightFadingInOrVisible()); |
| 63 } | 63 } |
| 64 | 64 |
| 65 TEST_F(InkDropImplTest, FocusAndHoverAtSameTime) { | 65 TEST_F(InkDropImplTest, FocusAndHoverAtSameTime) { |
| 66 ink_drop_host_.set_should_show_hover(true); | 66 ink_drop_host_.set_should_show_highlight(true); |
| 67 EXPECT_FALSE(test_api_.IsHoverFadingInOrVisible()); | 67 EXPECT_FALSE(test_api_.IsHighlightFadingInOrVisible()); |
| 68 | 68 |
| 69 ink_drop_.SetFocused(true); | 69 ink_drop_.SetFocused(true); |
| 70 EXPECT_TRUE(test_api_.IsHoverFadingInOrVisible()); | 70 EXPECT_TRUE(test_api_.IsHighlightFadingInOrVisible()); |
| 71 | 71 |
| 72 test_api_.CompleteAnimations(); | 72 test_api_.CompleteAnimations(); |
| 73 ink_drop_.SetHovered(false); | 73 ink_drop_.SetHovered(false); |
| 74 EXPECT_TRUE(test_api_.IsHoverFadingInOrVisible()); | 74 EXPECT_TRUE(test_api_.IsHighlightFadingInOrVisible()); |
| 75 | 75 |
| 76 test_api_.CompleteAnimations(); | 76 test_api_.CompleteAnimations(); |
| 77 ink_drop_.SetHovered(true); | 77 ink_drop_.SetHovered(true); |
| 78 EXPECT_TRUE(test_api_.IsHoverFadingInOrVisible()); | 78 EXPECT_TRUE(test_api_.IsHighlightFadingInOrVisible()); |
| 79 | 79 |
| 80 test_api_.CompleteAnimations(); | 80 test_api_.CompleteAnimations(); |
| 81 ink_drop_.SetFocused(false); | 81 ink_drop_.SetFocused(false); |
| 82 EXPECT_TRUE(test_api_.IsHoverFadingInOrVisible()); | 82 EXPECT_TRUE(test_api_.IsHighlightFadingInOrVisible()); |
| 83 | 83 |
| 84 test_api_.CompleteAnimations(); | 84 test_api_.CompleteAnimations(); |
| 85 ink_drop_.SetHovered(false); | 85 ink_drop_.SetHovered(false); |
| 86 EXPECT_FALSE(test_api_.IsHoverFadingInOrVisible()); | 86 EXPECT_FALSE(test_api_.IsHighlightFadingInOrVisible()); |
| 87 } | 87 } |
| 88 | 88 |
| 89 TEST_F(InkDropImplTest, HoverDoesntFadeInAfterAnimationIfHoverNotSet) { | 89 TEST_F(InkDropImplTest, HighlightDoesntFadeInAfterAnimationIfHighlightNotSet) { |
| 90 ink_drop_host_.set_should_show_hover(true); | 90 ink_drop_host_.set_should_show_highlight(true); |
| 91 ink_drop_.SetHovered(false); | 91 ink_drop_.SetHovered(false); |
| 92 ink_drop_.AnimateToState(InkDropState::ACTION_TRIGGERED); | 92 ink_drop_.AnimateToState(InkDropState::ACTION_TRIGGERED); |
| 93 test_api_.CompleteAnimations(); | 93 test_api_.CompleteAnimations(); |
| 94 | 94 |
| 95 EXPECT_FALSE(task_runner_->HasPendingTask()); | 95 EXPECT_FALSE(task_runner_->HasPendingTask()); |
| 96 EXPECT_FALSE(test_api_.IsHoverFadingInOrVisible()); | 96 EXPECT_FALSE(test_api_.IsHighlightFadingInOrVisible()); |
| 97 } | 97 } |
| 98 | 98 |
| 99 TEST_F(InkDropImplTest, HoverFadesInAfterAnimationWhenHostIsHovered) { | 99 TEST_F(InkDropImplTest, HighlightFadesInAfterAnimationWhenHostIsHovered) { |
| 100 ink_drop_host_.set_should_show_hover(true); | 100 ink_drop_host_.set_should_show_highlight(true); |
| 101 ink_drop_.SetHovered(true); | 101 ink_drop_.SetHovered(true); |
| 102 ink_drop_.AnimateToState(InkDropState::ACTION_TRIGGERED); | 102 ink_drop_.AnimateToState(InkDropState::ACTION_TRIGGERED); |
| 103 test_api_.CompleteAnimations(); | 103 test_api_.CompleteAnimations(); |
| 104 | 104 |
| 105 EXPECT_TRUE(task_runner_->HasPendingTask()); | 105 EXPECT_TRUE(task_runner_->HasPendingTask()); |
| 106 | 106 |
| 107 task_runner_->RunPendingTasks(); | 107 task_runner_->RunPendingTasks(); |
| 108 | 108 |
| 109 EXPECT_TRUE(test_api_.IsHoverFadingInOrVisible()); | 109 EXPECT_TRUE(test_api_.IsHighlightFadingInOrVisible()); |
| 110 } | 110 } |
| 111 | 111 |
| 112 TEST_F(InkDropImplTest, HoverDoesntFadeInAfterAnimationWhenHostIsNotHovered) { | 112 TEST_F(InkDropImplTest, |
| 113 ink_drop_host_.set_should_show_hover(false); | 113 HighlightDoesntFadeInAfterAnimationWhenHostIsNotHovered) { |
| 114 ink_drop_host_.set_should_show_highlight(false); | |
| 114 ink_drop_.SetHovered(true); | 115 ink_drop_.SetHovered(true); |
| 115 ink_drop_.AnimateToState(InkDropState::ACTION_TRIGGERED); | 116 ink_drop_.AnimateToState(InkDropState::ACTION_TRIGGERED); |
| 116 test_api_.CompleteAnimations(); | 117 test_api_.CompleteAnimations(); |
| 117 | 118 |
| 118 EXPECT_TRUE(task_runner_->HasPendingTask()); | 119 EXPECT_TRUE(task_runner_->HasPendingTask()); |
| 119 | 120 |
| 120 task_runner_->RunPendingTasks(); | 121 task_runner_->RunPendingTasks(); |
| 121 | 122 |
| 122 EXPECT_FALSE(test_api_.IsHoverFadingInOrVisible()); | 123 EXPECT_FALSE(test_api_.IsHighlightFadingInOrVisible()); |
| 123 } | 124 } |
| 124 | 125 |
| 125 TEST_F(InkDropImplTest, HoveredStateNotVisibleOrFadingInAfterAnimateToState) { | 126 TEST_F(InkDropImplTest, HoveredStateNotVisibleOrFadingInAfterAnimateToState) { |
|
bruthig
2016/06/03 02:50:46
Replace 'Hovered' with 'Highlight'.
| |
| 126 ink_drop_host_.set_should_show_hover(true); | 127 ink_drop_host_.set_should_show_highlight(true); |
| 127 | 128 |
| 128 ink_drop_.SetHovered(true); | 129 ink_drop_.SetHovered(true); |
| 129 test_api_.CompleteAnimations(); | 130 test_api_.CompleteAnimations(); |
| 130 EXPECT_TRUE(test_api_.IsHoverFadingInOrVisible()); | 131 EXPECT_TRUE(test_api_.IsHighlightFadingInOrVisible()); |
| 131 | 132 |
| 132 ink_drop_.AnimateToState(InkDropState::ACTION_TRIGGERED); | 133 ink_drop_.AnimateToState(InkDropState::ACTION_TRIGGERED); |
| 133 EXPECT_FALSE(test_api_.IsHoverFadingInOrVisible()); | 134 EXPECT_FALSE(test_api_.IsHighlightFadingInOrVisible()); |
| 134 } | 135 } |
| 135 | 136 |
| 136 // Verifies that there is not a crash when setting hovered state and the host | 137 // Verifies that there is not a crash when setting hovered state and the host |
| 137 // returns null for the hover. | 138 // returns null for the hover. |
|
bruthig
2016/06/03 02:50:46
Replace 'hover' with 'highlight'.
Evan Stade
2016/06/03 03:01:41
Done.
| |
| 138 TEST_F(InkDropImplTest, SetHoveredFalseWorksWhenNoInkDropHoverExists) { | 139 TEST_F(InkDropImplTest, SetHoveredFalseWorksWhenNoInkDropHighlightExists) { |
| 139 ink_drop_host_.set_should_show_hover(false); | 140 ink_drop_host_.set_should_show_highlight(false); |
| 140 ink_drop_.SetHovered(true); | 141 ink_drop_.SetHovered(true); |
| 141 EXPECT_FALSE(test_api_.hover()); | 142 EXPECT_FALSE(test_api_.highlight()); |
| 142 ink_drop_.SetHovered(false); | 143 ink_drop_.SetHovered(false); |
| 143 EXPECT_FALSE(test_api_.hover()); | 144 EXPECT_FALSE(test_api_.highlight()); |
| 144 } | 145 } |
| 145 | 146 |
| 146 TEST_F(InkDropImplTest, HoverFadesOutOnSnapToActivated) { | 147 TEST_F(InkDropImplTest, HighlightFadesOutOnSnapToActivated) { |
| 147 ink_drop_host_.set_should_show_hover(true); | 148 ink_drop_host_.set_should_show_highlight(true); |
| 148 ink_drop_.SetHovered(true); | 149 ink_drop_.SetHovered(true); |
| 149 test_api_.CompleteAnimations(); | 150 test_api_.CompleteAnimations(); |
| 150 | 151 |
| 151 EXPECT_TRUE(test_api_.IsHoverFadingInOrVisible()); | 152 EXPECT_TRUE(test_api_.IsHighlightFadingInOrVisible()); |
| 152 | 153 |
| 153 ink_drop_.SnapToActivated(); | 154 ink_drop_.SnapToActivated(); |
| 154 | 155 |
| 155 EXPECT_FALSE(test_api_.IsHoverFadingInOrVisible()); | 156 EXPECT_FALSE(test_api_.IsHighlightFadingInOrVisible()); |
| 156 } | 157 } |
| 157 | 158 |
| 158 TEST_F(InkDropImplTest, LayersRemovedFromHostAfterHover) { | 159 TEST_F(InkDropImplTest, LayersRemovedFromHostAfterHighlight) { |
| 159 ink_drop_host_.set_should_show_hover(true); | 160 ink_drop_host_.set_should_show_highlight(true); |
| 160 | 161 |
| 161 EXPECT_EQ(0, ink_drop_host_.num_ink_drop_layers()); | 162 EXPECT_EQ(0, ink_drop_host_.num_ink_drop_layers()); |
| 162 | 163 |
| 163 ink_drop_.SetHovered(true); | 164 ink_drop_.SetHovered(true); |
| 164 EXPECT_EQ(1, ink_drop_host_.num_ink_drop_layers()); | 165 EXPECT_EQ(1, ink_drop_host_.num_ink_drop_layers()); |
| 165 | 166 |
| 166 test_api_.CompleteAnimations(); | 167 test_api_.CompleteAnimations(); |
| 167 | 168 |
| 168 ink_drop_.SetHovered(false); | 169 ink_drop_.SetHovered(false); |
| 169 EXPECT_EQ(1, ink_drop_host_.num_ink_drop_layers()); | 170 EXPECT_EQ(1, ink_drop_host_.num_ink_drop_layers()); |
| 170 | 171 |
| 171 test_api_.CompleteAnimations(); | 172 test_api_.CompleteAnimations(); |
| 172 EXPECT_EQ(0, ink_drop_host_.num_ink_drop_layers()); | 173 EXPECT_EQ(0, ink_drop_host_.num_ink_drop_layers()); |
| 173 } | 174 } |
| 174 | 175 |
| 175 TEST_F(InkDropImplTest, LayersRemovedFromHostAfterInkDrop) { | 176 TEST_F(InkDropImplTest, LayersRemovedFromHostAfterInkDrop) { |
| 176 ink_drop_host_.set_should_show_hover(true); | 177 ink_drop_host_.set_should_show_highlight(true); |
| 177 | 178 |
| 178 EXPECT_EQ(0, ink_drop_host_.num_ink_drop_layers()); | 179 EXPECT_EQ(0, ink_drop_host_.num_ink_drop_layers()); |
| 179 | 180 |
| 180 ink_drop_.AnimateToState(InkDropState::ACTION_PENDING); | 181 ink_drop_.AnimateToState(InkDropState::ACTION_PENDING); |
| 181 EXPECT_EQ(1, ink_drop_host_.num_ink_drop_layers()); | 182 EXPECT_EQ(1, ink_drop_host_.num_ink_drop_layers()); |
| 182 | 183 |
| 183 ink_drop_.AnimateToState(InkDropState::HIDDEN); | 184 ink_drop_.AnimateToState(InkDropState::HIDDEN); |
| 184 EXPECT_EQ(1, ink_drop_host_.num_ink_drop_layers()); | 185 EXPECT_EQ(1, ink_drop_host_.num_ink_drop_layers()); |
| 185 | 186 |
| 186 test_api_.CompleteAnimations(); | 187 test_api_.CompleteAnimations(); |
| 187 EXPECT_EQ(0, ink_drop_host_.num_ink_drop_layers()); | 188 EXPECT_EQ(0, ink_drop_host_.num_ink_drop_layers()); |
| 188 } | 189 } |
| 189 | 190 |
| 190 TEST_F(InkDropImplTest, LayersAddedToHostWhenHoverOrInkDropVisible) { | 191 TEST_F(InkDropImplTest, LayersAddedToHostWhenHighlightOrInkDropVisible) { |
| 191 ink_drop_host_.set_should_show_hover(true); | 192 ink_drop_host_.set_should_show_highlight(true); |
| 192 | 193 |
| 193 EXPECT_EQ(0, ink_drop_host_.num_ink_drop_layers()); | 194 EXPECT_EQ(0, ink_drop_host_.num_ink_drop_layers()); |
| 194 | 195 |
| 195 ink_drop_.SetHovered(true); | 196 ink_drop_.SetHovered(true); |
| 196 EXPECT_EQ(1, ink_drop_host_.num_ink_drop_layers()); | 197 EXPECT_EQ(1, ink_drop_host_.num_ink_drop_layers()); |
| 197 | 198 |
| 198 ink_drop_.AnimateToState(InkDropState::ACTION_PENDING); | 199 ink_drop_.AnimateToState(InkDropState::ACTION_PENDING); |
| 199 EXPECT_EQ(1, ink_drop_host_.num_ink_drop_layers()); | 200 EXPECT_EQ(1, ink_drop_host_.num_ink_drop_layers()); |
| 200 | 201 |
| 201 ink_drop_.AnimateToState(InkDropState::HIDDEN); | 202 ink_drop_.AnimateToState(InkDropState::HIDDEN); |
| 202 EXPECT_EQ(1, ink_drop_host_.num_ink_drop_layers()); | 203 EXPECT_EQ(1, ink_drop_host_.num_ink_drop_layers()); |
| 203 | 204 |
| 204 test_api_.CompleteAnimations(); | 205 test_api_.CompleteAnimations(); |
| 205 EXPECT_EQ(0, ink_drop_host_.num_ink_drop_layers()); | 206 EXPECT_EQ(0, ink_drop_host_.num_ink_drop_layers()); |
| 206 | 207 |
| 207 EXPECT_TRUE(task_runner_->HasPendingTask()); | 208 EXPECT_TRUE(task_runner_->HasPendingTask()); |
| 208 task_runner_->RunPendingTasks(); | 209 task_runner_->RunPendingTasks(); |
| 209 | 210 |
| 210 // Hover should be fading back in. | 211 // Highlight should be fading back in. |
| 211 EXPECT_TRUE(test_api_.HasActiveAnimations()); | 212 EXPECT_TRUE(test_api_.HasActiveAnimations()); |
| 212 EXPECT_EQ(1, ink_drop_host_.num_ink_drop_layers()); | 213 EXPECT_EQ(1, ink_drop_host_.num_ink_drop_layers()); |
| 213 } | 214 } |
| 214 | 215 |
| 215 TEST_F(InkDropImplTest, LayersNotAddedToHostWhenHoverTimeFires) { | 216 TEST_F(InkDropImplTest, LayersNotAddedToHostWhenHighlightTimeFires) { |
| 216 ink_drop_host_.set_should_show_hover(true); | 217 ink_drop_host_.set_should_show_highlight(true); |
| 217 | 218 |
| 218 EXPECT_EQ(0, ink_drop_host_.num_ink_drop_layers()); | 219 EXPECT_EQ(0, ink_drop_host_.num_ink_drop_layers()); |
| 219 | 220 |
| 220 ink_drop_.SetHovered(true); | 221 ink_drop_.SetHovered(true); |
| 221 EXPECT_EQ(1, ink_drop_host_.num_ink_drop_layers()); | 222 EXPECT_EQ(1, ink_drop_host_.num_ink_drop_layers()); |
| 222 | 223 |
| 223 ink_drop_.AnimateToState(InkDropState::ACTION_PENDING); | 224 ink_drop_.AnimateToState(InkDropState::ACTION_PENDING); |
| 224 EXPECT_EQ(1, ink_drop_host_.num_ink_drop_layers()); | 225 EXPECT_EQ(1, ink_drop_host_.num_ink_drop_layers()); |
| 225 | 226 |
| 226 ink_drop_.AnimateToState(InkDropState::HIDDEN); | 227 ink_drop_.AnimateToState(InkDropState::HIDDEN); |
| 227 test_api_.CompleteAnimations(); | 228 test_api_.CompleteAnimations(); |
| 228 EXPECT_EQ(0, ink_drop_host_.num_ink_drop_layers()); | 229 EXPECT_EQ(0, ink_drop_host_.num_ink_drop_layers()); |
| 229 | 230 |
| 230 ink_drop_host_.set_should_show_hover(false); | 231 ink_drop_host_.set_should_show_highlight(false); |
| 231 | 232 |
| 232 EXPECT_TRUE(task_runner_->HasPendingTask()); | 233 EXPECT_TRUE(task_runner_->HasPendingTask()); |
| 233 task_runner_->RunPendingTasks(); | 234 task_runner_->RunPendingTasks(); |
| 234 | 235 |
| 235 EXPECT_EQ(0, ink_drop_host_.num_ink_drop_layers()); | 236 EXPECT_EQ(0, ink_drop_host_.num_ink_drop_layers()); |
| 236 } | 237 } |
| 237 | 238 |
| 238 TEST_F(InkDropImplTest, LayersArentRemovedWhenPreemptingFadeOut) { | 239 TEST_F(InkDropImplTest, LayersArentRemovedWhenPreemptingFadeOut) { |
| 239 ink_drop_host_.set_should_show_hover(true); | 240 ink_drop_host_.set_should_show_highlight(true); |
| 240 | 241 |
| 241 EXPECT_EQ(0, ink_drop_host_.num_ink_drop_layers()); | 242 EXPECT_EQ(0, ink_drop_host_.num_ink_drop_layers()); |
| 242 | 243 |
| 243 ink_drop_.SetHovered(true); | 244 ink_drop_.SetHovered(true); |
| 244 EXPECT_EQ(1, ink_drop_host_.num_ink_drop_layers()); | 245 EXPECT_EQ(1, ink_drop_host_.num_ink_drop_layers()); |
| 245 | 246 |
| 246 test_api_.CompleteAnimations(); | 247 test_api_.CompleteAnimations(); |
| 247 | 248 |
| 248 ink_drop_.SetHovered(false); | 249 ink_drop_.SetHovered(false); |
| 249 EXPECT_EQ(1, ink_drop_host_.num_ink_drop_layers()); | 250 EXPECT_EQ(1, ink_drop_host_.num_ink_drop_layers()); |
| 250 | 251 |
| 251 ink_drop_.SetHovered(true); | 252 ink_drop_.SetHovered(true); |
| 252 EXPECT_EQ(1, ink_drop_host_.num_ink_drop_layers()); | 253 EXPECT_EQ(1, ink_drop_host_.num_ink_drop_layers()); |
| 253 } | 254 } |
| 254 | 255 |
| 255 } // namespace views | 256 } // namespace views |
| OLD | NEW |