Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(68)

Side by Side Diff: ui/views/animation/ink_drop_impl_unittest.cc

Issue 1937353002: Rename of InkDropAnimationController classes to InkDrop. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed tdanderson@ comments from patch set 2. Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « ui/views/animation/ink_drop_impl.cc ('k') | ui/views/animation/test/ink_drop_impl_test_api.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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_animation_controller_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/thread_task_runner_handle.h" 9 #include "base/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_animation_controller_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 InkDropAnimationControllerImpl class is also tested by the 17 // NOTE: The InkDropImpl class is also tested by the InkDropFactoryTest tests.
18 // InkDropAnimationControllerFactoryTest tests. 18 class InkDropImplTest : public testing::Test {
19 class InkDropAnimationControllerImplTest : public testing::Test {
20 public: 19 public:
21 InkDropAnimationControllerImplTest(); 20 InkDropImplTest();
22 ~InkDropAnimationControllerImplTest() override; 21 ~InkDropImplTest() override;
23 22
24 protected: 23 protected:
25 TestInkDropHost ink_drop_host_; 24 TestInkDropHost ink_drop_host_;
26 25
27 // The test target. 26 // The test target.
28 InkDropAnimationControllerImpl ink_drop_animation_controller_; 27 InkDropImpl ink_drop_;
29 28
30 // Allows privileged access to the the |ink_drop_hover_|. 29 // Allows privileged access to the the |ink_drop_hover_|.
31 test::InkDropAnimationControllerImplTestApi test_api_; 30 test::InkDropImplTestApi test_api_;
32 31
33 // Used to control the tasks scheduled by the InkDropAnimationControllerImpl's 32 // Used to control the tasks scheduled by the InkDropImpl's Timer.
34 // Timer.
35 scoped_refptr<base::TestSimpleTaskRunner> task_runner_; 33 scoped_refptr<base::TestSimpleTaskRunner> task_runner_;
36 34
37 // Required by base::Timer's. 35 // Required by base::Timer's.
38 std::unique_ptr<base::ThreadTaskRunnerHandle> thread_task_runner_handle_; 36 std::unique_ptr<base::ThreadTaskRunnerHandle> thread_task_runner_handle_;
39 37
40 private: 38 private:
41 DISALLOW_COPY_AND_ASSIGN(InkDropAnimationControllerImplTest); 39 DISALLOW_COPY_AND_ASSIGN(InkDropImplTest);
42 }; 40 };
43 41
44 InkDropAnimationControllerImplTest::InkDropAnimationControllerImplTest() 42 InkDropImplTest::InkDropImplTest()
45 : ink_drop_animation_controller_(&ink_drop_host_), 43 : ink_drop_(&ink_drop_host_),
46 test_api_(&ink_drop_animation_controller_), 44 test_api_(&ink_drop_),
47 task_runner_(new base::TestSimpleTaskRunner), 45 task_runner_(new base::TestSimpleTaskRunner),
48 thread_task_runner_handle_( 46 thread_task_runner_handle_(
49 new base::ThreadTaskRunnerHandle(task_runner_)) { 47 new base::ThreadTaskRunnerHandle(task_runner_)) {
50 ink_drop_host_.set_disable_timers_for_test(true); 48 ink_drop_host_.set_disable_timers_for_test(true);
51 } 49 }
52 50
53 InkDropAnimationControllerImplTest::~InkDropAnimationControllerImplTest() {} 51 InkDropImplTest::~InkDropImplTest() {}
54 52
55 TEST_F(InkDropAnimationControllerImplTest, SetHoveredIsFadingInOrVisible) { 53 TEST_F(InkDropImplTest, SetHoveredIsFadingInOrVisible) {
56 ink_drop_host_.set_should_show_hover(true); 54 ink_drop_host_.set_should_show_hover(true);
57 55
58 ink_drop_animation_controller_.SetHovered(true); 56 ink_drop_.SetHovered(true);
59 EXPECT_TRUE(test_api_.IsHoverFadingInOrVisible()); 57 EXPECT_TRUE(test_api_.IsHoverFadingInOrVisible());
60 58
61 test_api_.CompleteAnimations(); 59 test_api_.CompleteAnimations();
62 60
63 ink_drop_animation_controller_.SetHovered(false); 61 ink_drop_.SetHovered(false);
64 EXPECT_FALSE(test_api_.IsHoverFadingInOrVisible()); 62 EXPECT_FALSE(test_api_.IsHoverFadingInOrVisible());
65 } 63 }
66 64
67 TEST_F(InkDropAnimationControllerImplTest, 65 TEST_F(InkDropImplTest, HoverDoesntFadeInAfterAnimationIfHoverNotSet) {
68 HoverDoesntFadeInAfterAnimationIfHoverNotSet) {
69 ink_drop_host_.set_should_show_hover(true); 66 ink_drop_host_.set_should_show_hover(true);
70 ink_drop_animation_controller_.SetHovered(false); 67 ink_drop_.SetHovered(false);
71 ink_drop_animation_controller_.AnimateToState(InkDropState::ACTION_TRIGGERED); 68 ink_drop_.AnimateToState(InkDropState::ACTION_TRIGGERED);
72 test_api_.CompleteAnimations(); 69 test_api_.CompleteAnimations();
73 70
74 EXPECT_FALSE(task_runner_->HasPendingTask()); 71 EXPECT_FALSE(task_runner_->HasPendingTask());
75 EXPECT_FALSE(test_api_.IsHoverFadingInOrVisible()); 72 EXPECT_FALSE(test_api_.IsHoverFadingInOrVisible());
76 } 73 }
77 74
78 TEST_F(InkDropAnimationControllerImplTest, 75 TEST_F(InkDropImplTest, HoverFadesInAfterAnimationWhenHostIsHovered) {
79 HoverFadesInAfterAnimationWhenHostIsHovered) {
80 ink_drop_host_.set_should_show_hover(true); 76 ink_drop_host_.set_should_show_hover(true);
81 ink_drop_animation_controller_.SetHovered(true); 77 ink_drop_.SetHovered(true);
82 ink_drop_animation_controller_.AnimateToState(InkDropState::ACTION_TRIGGERED); 78 ink_drop_.AnimateToState(InkDropState::ACTION_TRIGGERED);
83 test_api_.CompleteAnimations(); 79 test_api_.CompleteAnimations();
84 80
85 EXPECT_TRUE(task_runner_->HasPendingTask()); 81 EXPECT_TRUE(task_runner_->HasPendingTask());
86 82
87 task_runner_->RunPendingTasks(); 83 task_runner_->RunPendingTasks();
88 84
89 EXPECT_TRUE(test_api_.IsHoverFadingInOrVisible()); 85 EXPECT_TRUE(test_api_.IsHoverFadingInOrVisible());
90 } 86 }
91 87
92 TEST_F(InkDropAnimationControllerImplTest, 88 TEST_F(InkDropImplTest, HoverDoesntFadeInAfterAnimationWhenHostIsNotHovered) {
93 HoverDoesntFadeInAfterAnimationWhenHostIsNotHovered) {
94 ink_drop_host_.set_should_show_hover(false); 89 ink_drop_host_.set_should_show_hover(false);
95 ink_drop_animation_controller_.SetHovered(true); 90 ink_drop_.SetHovered(true);
96 ink_drop_animation_controller_.AnimateToState(InkDropState::ACTION_TRIGGERED); 91 ink_drop_.AnimateToState(InkDropState::ACTION_TRIGGERED);
97 test_api_.CompleteAnimations(); 92 test_api_.CompleteAnimations();
98 93
99 EXPECT_TRUE(task_runner_->HasPendingTask()); 94 EXPECT_TRUE(task_runner_->HasPendingTask());
100 95
101 task_runner_->RunPendingTasks(); 96 task_runner_->RunPendingTasks();
102 97
103 EXPECT_FALSE(test_api_.IsHoverFadingInOrVisible()); 98 EXPECT_FALSE(test_api_.IsHoverFadingInOrVisible());
104 } 99 }
105 100
106 TEST_F(InkDropAnimationControllerImplTest, 101 TEST_F(InkDropImplTest, HoveredStateNotVisibleOrFadingInAfterAnimateToState) {
107 HoveredStateNotVisibleOrFadingInAfterAnimateToState) {
108 ink_drop_host_.set_should_show_hover(true); 102 ink_drop_host_.set_should_show_hover(true);
109 103
110 ink_drop_animation_controller_.SetHovered(true); 104 ink_drop_.SetHovered(true);
111 test_api_.CompleteAnimations(); 105 test_api_.CompleteAnimations();
112 EXPECT_TRUE(test_api_.IsHoverFadingInOrVisible()); 106 EXPECT_TRUE(test_api_.IsHoverFadingInOrVisible());
113 107
114 ink_drop_animation_controller_.AnimateToState(InkDropState::ACTION_TRIGGERED); 108 ink_drop_.AnimateToState(InkDropState::ACTION_TRIGGERED);
115 EXPECT_FALSE(test_api_.IsHoverFadingInOrVisible()); 109 EXPECT_FALSE(test_api_.IsHoverFadingInOrVisible());
116 } 110 }
117 111
118 // Verifies that there is not a crash when setting hovered state and the host 112 // Verifies that there is not a crash when setting hovered state and the host
119 // returns null for the hover. 113 // returns null for the hover.
120 TEST_F(InkDropAnimationControllerImplTest, 114 TEST_F(InkDropImplTest, SetHoveredFalseWorksWhenNoInkDropHoverExists) {
121 SetHoveredFalseWorksWhenNoInkDropHoverExists) {
122 ink_drop_host_.set_should_show_hover(false); 115 ink_drop_host_.set_should_show_hover(false);
123 ink_drop_animation_controller_.SetHovered(true); 116 ink_drop_.SetHovered(true);
124 EXPECT_FALSE(test_api_.hover()); 117 EXPECT_FALSE(test_api_.hover());
125 ink_drop_animation_controller_.SetHovered(false); 118 ink_drop_.SetHovered(false);
126 EXPECT_FALSE(test_api_.hover()); 119 EXPECT_FALSE(test_api_.hover());
127 } 120 }
128 121
129 TEST_F(InkDropAnimationControllerImplTest, HoverFadesOutOnSnapToActivated) { 122 TEST_F(InkDropImplTest, HoverFadesOutOnSnapToActivated) {
130 ink_drop_host_.set_should_show_hover(true); 123 ink_drop_host_.set_should_show_hover(true);
131 ink_drop_animation_controller_.SetHovered(true); 124 ink_drop_.SetHovered(true);
132 test_api_.CompleteAnimations(); 125 test_api_.CompleteAnimations();
133 126
134 EXPECT_TRUE(test_api_.IsHoverFadingInOrVisible()); 127 EXPECT_TRUE(test_api_.IsHoverFadingInOrVisible());
135 128
136 ink_drop_animation_controller_.SnapToActivated(); 129 ink_drop_.SnapToActivated();
137 130
138 EXPECT_FALSE(test_api_.IsHoverFadingInOrVisible()); 131 EXPECT_FALSE(test_api_.IsHoverFadingInOrVisible());
139 } 132 }
140 133
141 TEST_F(InkDropAnimationControllerImplTest, LayersRemovedFromHostAfterHover) { 134 TEST_F(InkDropImplTest, LayersRemovedFromHostAfterHover) {
142 ink_drop_host_.set_should_show_hover(true); 135 ink_drop_host_.set_should_show_hover(true);
143 136
144 EXPECT_EQ(0, ink_drop_host_.num_ink_drop_layers()); 137 EXPECT_EQ(0, ink_drop_host_.num_ink_drop_layers());
145 138
146 ink_drop_animation_controller_.SetHovered(true); 139 ink_drop_.SetHovered(true);
147 EXPECT_EQ(1, ink_drop_host_.num_ink_drop_layers()); 140 EXPECT_EQ(1, ink_drop_host_.num_ink_drop_layers());
148 141
149 test_api_.CompleteAnimations(); 142 test_api_.CompleteAnimations();
150 143
151 ink_drop_animation_controller_.SetHovered(false); 144 ink_drop_.SetHovered(false);
152 EXPECT_EQ(1, ink_drop_host_.num_ink_drop_layers()); 145 EXPECT_EQ(1, ink_drop_host_.num_ink_drop_layers());
153 146
154 test_api_.CompleteAnimations(); 147 test_api_.CompleteAnimations();
155 EXPECT_EQ(0, ink_drop_host_.num_ink_drop_layers()); 148 EXPECT_EQ(0, ink_drop_host_.num_ink_drop_layers());
156 } 149 }
157 150
158 TEST_F(InkDropAnimationControllerImplTest, LayersRemovedFromHostAfterInkDrop) { 151 TEST_F(InkDropImplTest, LayersRemovedFromHostAfterInkDrop) {
159 ink_drop_host_.set_should_show_hover(true); 152 ink_drop_host_.set_should_show_hover(true);
160 153
161 EXPECT_EQ(0, ink_drop_host_.num_ink_drop_layers()); 154 EXPECT_EQ(0, ink_drop_host_.num_ink_drop_layers());
162 155
163 ink_drop_animation_controller_.AnimateToState(InkDropState::ACTION_PENDING); 156 ink_drop_.AnimateToState(InkDropState::ACTION_PENDING);
164 EXPECT_EQ(1, ink_drop_host_.num_ink_drop_layers()); 157 EXPECT_EQ(1, ink_drop_host_.num_ink_drop_layers());
165 158
166 ink_drop_animation_controller_.AnimateToState(InkDropState::HIDDEN); 159 ink_drop_.AnimateToState(InkDropState::HIDDEN);
167 EXPECT_EQ(1, ink_drop_host_.num_ink_drop_layers()); 160 EXPECT_EQ(1, ink_drop_host_.num_ink_drop_layers());
168 161
169 test_api_.CompleteAnimations(); 162 test_api_.CompleteAnimations();
170 EXPECT_EQ(0, ink_drop_host_.num_ink_drop_layers()); 163 EXPECT_EQ(0, ink_drop_host_.num_ink_drop_layers());
171 } 164 }
172 165
173 TEST_F(InkDropAnimationControllerImplTest, 166 TEST_F(InkDropImplTest, LayersAddedToHostWhenHoverOrInkDropVisible) {
174 LayersAddedToHostWhenHoverOrInkDropVisible) {
175 ink_drop_host_.set_should_show_hover(true); 167 ink_drop_host_.set_should_show_hover(true);
176 168
177 EXPECT_EQ(0, ink_drop_host_.num_ink_drop_layers()); 169 EXPECT_EQ(0, ink_drop_host_.num_ink_drop_layers());
178 170
179 ink_drop_animation_controller_.SetHovered(true); 171 ink_drop_.SetHovered(true);
180 EXPECT_EQ(1, ink_drop_host_.num_ink_drop_layers()); 172 EXPECT_EQ(1, ink_drop_host_.num_ink_drop_layers());
181 173
182 ink_drop_animation_controller_.AnimateToState(InkDropState::ACTION_PENDING); 174 ink_drop_.AnimateToState(InkDropState::ACTION_PENDING);
183 EXPECT_EQ(1, ink_drop_host_.num_ink_drop_layers()); 175 EXPECT_EQ(1, ink_drop_host_.num_ink_drop_layers());
184 176
185 ink_drop_animation_controller_.AnimateToState(InkDropState::HIDDEN); 177 ink_drop_.AnimateToState(InkDropState::HIDDEN);
186 EXPECT_EQ(1, ink_drop_host_.num_ink_drop_layers()); 178 EXPECT_EQ(1, ink_drop_host_.num_ink_drop_layers());
187 179
188 test_api_.CompleteAnimations(); 180 test_api_.CompleteAnimations();
189 EXPECT_EQ(0, ink_drop_host_.num_ink_drop_layers()); 181 EXPECT_EQ(0, ink_drop_host_.num_ink_drop_layers());
190 182
191 EXPECT_TRUE(task_runner_->HasPendingTask()); 183 EXPECT_TRUE(task_runner_->HasPendingTask());
192 task_runner_->RunPendingTasks(); 184 task_runner_->RunPendingTasks();
193 185
194 // Hover should be fading back in. 186 // Hover should be fading back in.
195 EXPECT_TRUE(test_api_.HasActiveAnimations()); 187 EXPECT_TRUE(test_api_.HasActiveAnimations());
196 EXPECT_EQ(1, ink_drop_host_.num_ink_drop_layers()); 188 EXPECT_EQ(1, ink_drop_host_.num_ink_drop_layers());
197 } 189 }
198 190
199 TEST_F(InkDropAnimationControllerImplTest, 191 TEST_F(InkDropImplTest, LayersNotAddedToHostWhenHoverTimeFires) {
200 LayersNotAddedToHostWhenHoverTimeFires) {
201 ink_drop_host_.set_should_show_hover(true); 192 ink_drop_host_.set_should_show_hover(true);
202 193
203 EXPECT_EQ(0, ink_drop_host_.num_ink_drop_layers()); 194 EXPECT_EQ(0, ink_drop_host_.num_ink_drop_layers());
204 195
205 ink_drop_animation_controller_.SetHovered(true); 196 ink_drop_.SetHovered(true);
206 EXPECT_EQ(1, ink_drop_host_.num_ink_drop_layers()); 197 EXPECT_EQ(1, ink_drop_host_.num_ink_drop_layers());
207 198
208 ink_drop_animation_controller_.AnimateToState(InkDropState::ACTION_PENDING); 199 ink_drop_.AnimateToState(InkDropState::ACTION_PENDING);
209 EXPECT_EQ(1, ink_drop_host_.num_ink_drop_layers()); 200 EXPECT_EQ(1, ink_drop_host_.num_ink_drop_layers());
210 201
211 ink_drop_animation_controller_.AnimateToState(InkDropState::HIDDEN); 202 ink_drop_.AnimateToState(InkDropState::HIDDEN);
212 test_api_.CompleteAnimations(); 203 test_api_.CompleteAnimations();
213 EXPECT_EQ(0, ink_drop_host_.num_ink_drop_layers()); 204 EXPECT_EQ(0, ink_drop_host_.num_ink_drop_layers());
214 205
215 ink_drop_host_.set_should_show_hover(false); 206 ink_drop_host_.set_should_show_hover(false);
216 207
217 EXPECT_TRUE(task_runner_->HasPendingTask()); 208 EXPECT_TRUE(task_runner_->HasPendingTask());
218 task_runner_->RunPendingTasks(); 209 task_runner_->RunPendingTasks();
219 210
220 EXPECT_EQ(0, ink_drop_host_.num_ink_drop_layers()); 211 EXPECT_EQ(0, ink_drop_host_.num_ink_drop_layers());
221 } 212 }
222 213
223 TEST_F(InkDropAnimationControllerImplTest, 214 TEST_F(InkDropImplTest, LayersArentRemovedWhenPreemptingFadeOut) {
224 LayersArentRemovedWhenPreemptingFadeOut) {
225 ink_drop_host_.set_should_show_hover(true); 215 ink_drop_host_.set_should_show_hover(true);
226 216
227 EXPECT_EQ(0, ink_drop_host_.num_ink_drop_layers()); 217 EXPECT_EQ(0, ink_drop_host_.num_ink_drop_layers());
228 218
229 ink_drop_animation_controller_.SetHovered(true); 219 ink_drop_.SetHovered(true);
230 EXPECT_EQ(1, ink_drop_host_.num_ink_drop_layers()); 220 EXPECT_EQ(1, ink_drop_host_.num_ink_drop_layers());
231 221
232 test_api_.CompleteAnimations(); 222 test_api_.CompleteAnimations();
233 223
234 ink_drop_animation_controller_.SetHovered(false); 224 ink_drop_.SetHovered(false);
235 EXPECT_EQ(1, ink_drop_host_.num_ink_drop_layers()); 225 EXPECT_EQ(1, ink_drop_host_.num_ink_drop_layers());
236 226
237 ink_drop_animation_controller_.SetHovered(true); 227 ink_drop_.SetHovered(true);
238 EXPECT_EQ(1, ink_drop_host_.num_ink_drop_layers()); 228 EXPECT_EQ(1, ink_drop_host_.num_ink_drop_layers());
239 } 229 }
240 230
241 } // namespace views 231 } // namespace views
OLDNEW
« no previous file with comments | « ui/views/animation/ink_drop_impl.cc ('k') | ui/views/animation/test/ink_drop_impl_test_api.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698