OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/app_list/pagination_model.h" | 5 #include "ui/app_list/pagination_model.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 | 8 |
9 #include "base/compiler_specific.h" | 9 #include "base/compiler_specific.h" |
10 #include "base/macros.h" | 10 #include "base/macros.h" |
11 #include "base/message_loop/message_loop.h" | 11 #include "base/message_loop/message_loop.h" |
| 12 #include "base/run_loop.h" |
12 #include "base/strings/string_number_conversions.h" | 13 #include "base/strings/string_number_conversions.h" |
13 #include "testing/gtest/include/gtest/gtest.h" | 14 #include "testing/gtest/include/gtest/gtest.h" |
14 #include "ui/app_list/pagination_model_observer.h" | 15 #include "ui/app_list/pagination_model_observer.h" |
15 | 16 |
16 namespace app_list { | 17 namespace app_list { |
17 namespace test { | 18 namespace test { |
18 | 19 |
19 class TestPaginationModelObserver : public PaginationModelObserver { | 20 class TestPaginationModelObserver : public PaginationModelObserver { |
20 public: | 21 public: |
21 TestPaginationModelObserver() | 22 TestPaginationModelObserver() |
(...skipping 142 matching lines...) Loading... |
164 EXPECT_EQ(4, observer_.selection_count()); | 165 EXPECT_EQ(4, observer_.selection_count()); |
165 EXPECT_EQ(std::string("2 4 3 1"), observer_.selected_pages()); | 166 EXPECT_EQ(std::string("2 4 3 1"), observer_.selected_pages()); |
166 } | 167 } |
167 | 168 |
168 TEST_F(PaginationModelTest, SelectPageAnimated) { | 169 TEST_F(PaginationModelTest, SelectPageAnimated) { |
169 const int kStartPage = 0; | 170 const int kStartPage = 0; |
170 | 171 |
171 // One transition. | 172 // One transition. |
172 SetStartPageAndExpects(kStartPage, 1, 0, 0); | 173 SetStartPageAndExpects(kStartPage, 1, 0, 0); |
173 pagination_.SelectPage(1, true /* animate */); | 174 pagination_.SelectPage(1, true /* animate */); |
174 base::MessageLoop::current()->Run(); | 175 base::RunLoop().Run(); |
175 EXPECT_EQ(1, observer_.transition_start_count()); | 176 EXPECT_EQ(1, observer_.transition_start_count()); |
176 EXPECT_EQ(1, observer_.transition_end_count()); | 177 EXPECT_EQ(1, observer_.transition_end_count()); |
177 EXPECT_EQ(1, observer_.selection_count()); | 178 EXPECT_EQ(1, observer_.selection_count()); |
178 EXPECT_EQ(std::string("1"), observer_.selected_pages()); | 179 EXPECT_EQ(std::string("1"), observer_.selected_pages()); |
179 | 180 |
180 // Two transitions in a row. | 181 // Two transitions in a row. |
181 SetStartPageAndExpects(kStartPage, 2, 0, 0); | 182 SetStartPageAndExpects(kStartPage, 2, 0, 0); |
182 pagination_.SelectPage(1, true /* animate */); | 183 pagination_.SelectPage(1, true /* animate */); |
183 pagination_.SelectPage(3, true /* animate */); | 184 pagination_.SelectPage(3, true /* animate */); |
184 base::MessageLoop::current()->Run(); | 185 base::RunLoop().Run(); |
185 EXPECT_EQ(2, observer_.transition_start_count()); | 186 EXPECT_EQ(2, observer_.transition_start_count()); |
186 EXPECT_EQ(2, observer_.transition_end_count()); | 187 EXPECT_EQ(2, observer_.transition_end_count()); |
187 EXPECT_EQ(2, observer_.selection_count()); | 188 EXPECT_EQ(2, observer_.selection_count()); |
188 EXPECT_EQ(std::string("1 3"), observer_.selected_pages()); | 189 EXPECT_EQ(std::string("1 3"), observer_.selected_pages()); |
189 | 190 |
190 // Transition to same page twice and only one should happen. | 191 // Transition to same page twice and only one should happen. |
191 SetStartPageAndExpects(kStartPage, 1, 0, 0); | 192 SetStartPageAndExpects(kStartPage, 1, 0, 0); |
192 pagination_.SelectPage(1, true /* animate */); | 193 pagination_.SelectPage(1, true /* animate */); |
193 pagination_.SelectPage(1, true /* animate */); // Ignored. | 194 pagination_.SelectPage(1, true /* animate */); // Ignored. |
194 base::MessageLoop::current()->Run(); | 195 base::RunLoop().Run(); |
195 EXPECT_EQ(1, observer_.transition_start_count()); | 196 EXPECT_EQ(1, observer_.transition_start_count()); |
196 EXPECT_EQ(1, observer_.transition_end_count()); | 197 EXPECT_EQ(1, observer_.transition_end_count()); |
197 EXPECT_EQ(1, observer_.selection_count()); | 198 EXPECT_EQ(1, observer_.selection_count()); |
198 EXPECT_EQ(std::string("1"), observer_.selected_pages()); | 199 EXPECT_EQ(std::string("1"), observer_.selected_pages()); |
199 | 200 |
200 // More than two transitions and only the first and last would happen. | 201 // More than two transitions and only the first and last would happen. |
201 SetStartPageAndExpects(kStartPage, 2, 0, 0); | 202 SetStartPageAndExpects(kStartPage, 2, 0, 0); |
202 pagination_.SelectPage(1, true /* animate */); | 203 pagination_.SelectPage(1, true /* animate */); |
203 pagination_.SelectPage(3, true /* animate */); // Ignored | 204 pagination_.SelectPage(3, true /* animate */); // Ignored |
204 pagination_.SelectPage(4, true /* animate */); // Ignored | 205 pagination_.SelectPage(4, true /* animate */); // Ignored |
205 pagination_.SelectPage(2, true /* animate */); | 206 pagination_.SelectPage(2, true /* animate */); |
206 base::MessageLoop::current()->Run(); | 207 base::RunLoop().Run(); |
207 EXPECT_EQ(2, observer_.transition_start_count()); | 208 EXPECT_EQ(2, observer_.transition_start_count()); |
208 EXPECT_EQ(2, observer_.transition_end_count()); | 209 EXPECT_EQ(2, observer_.transition_end_count()); |
209 EXPECT_EQ(2, observer_.selection_count()); | 210 EXPECT_EQ(2, observer_.selection_count()); |
210 EXPECT_EQ(std::string("1 2"), observer_.selected_pages()); | 211 EXPECT_EQ(std::string("1 2"), observer_.selected_pages()); |
211 | 212 |
212 // Multiple transitions with one transition that goes back to the original | 213 // Multiple transitions with one transition that goes back to the original |
213 // and followed by a new transition. Two transitions would happen. The first | 214 // and followed by a new transition. Two transitions would happen. The first |
214 // one will be reversed by the kStart transition and the second one will be | 215 // one will be reversed by the kStart transition and the second one will be |
215 // finished. | 216 // finished. |
216 SetStartPageAndExpects(kStartPage, 1, 0, 0); | 217 SetStartPageAndExpects(kStartPage, 1, 0, 0); |
217 pagination_.SelectPage(1, true /* animate */); | 218 pagination_.SelectPage(1, true /* animate */); |
218 pagination_.SelectPage(2, true /* animate */); // Ignored | 219 pagination_.SelectPage(2, true /* animate */); // Ignored |
219 pagination_.SelectPage(kStartPage, true /* animate */); | 220 pagination_.SelectPage(kStartPage, true /* animate */); |
220 pagination_.SelectPage(3, true /* animate */); | 221 pagination_.SelectPage(3, true /* animate */); |
221 base::MessageLoop::current()->Run(); | 222 base::RunLoop().Run(); |
222 EXPECT_EQ(std::string("3"), observer_.selected_pages()); | 223 EXPECT_EQ(std::string("3"), observer_.selected_pages()); |
223 } | 224 } |
224 | 225 |
225 TEST_F(PaginationModelTest, SimpleScroll) { | 226 TEST_F(PaginationModelTest, SimpleScroll) { |
226 const int kStartPage = 2; | 227 const int kStartPage = 2; |
227 | 228 |
228 // Scroll to the next page (negative delta) and finish it. | 229 // Scroll to the next page (negative delta) and finish it. |
229 SetStartPageAndExpects(kStartPage, 1, 0, 0); | 230 SetStartPageAndExpects(kStartPage, 1, 0, 0); |
230 pagination_.StartScroll(); | 231 pagination_.StartScroll(); |
231 pagination_.UpdateScroll(-0.1); | 232 pagination_.UpdateScroll(-0.1); |
232 EXPECT_EQ(kStartPage + 1, pagination_.transition().target_page); | 233 EXPECT_EQ(kStartPage + 1, pagination_.transition().target_page); |
233 pagination_.EndScroll(false); // Finish transition | 234 pagination_.EndScroll(false); // Finish transition |
234 base::MessageLoop::current()->Run(); | 235 base::RunLoop().Run(); |
235 EXPECT_EQ(1, observer_.selection_count()); | 236 EXPECT_EQ(1, observer_.selection_count()); |
236 | 237 |
237 // Scroll to the previous page (positive delta) and finish it. | 238 // Scroll to the previous page (positive delta) and finish it. |
238 SetStartPageAndExpects(kStartPage, 1, 0, 0); | 239 SetStartPageAndExpects(kStartPage, 1, 0, 0); |
239 pagination_.StartScroll(); | 240 pagination_.StartScroll(); |
240 pagination_.UpdateScroll(0.1); | 241 pagination_.UpdateScroll(0.1); |
241 EXPECT_EQ(kStartPage - 1, pagination_.transition().target_page); | 242 EXPECT_EQ(kStartPage - 1, pagination_.transition().target_page); |
242 pagination_.EndScroll(false); // Finish transition | 243 pagination_.EndScroll(false); // Finish transition |
243 base::MessageLoop::current()->Run(); | 244 base::RunLoop().Run(); |
244 EXPECT_EQ(1, observer_.selection_count()); | 245 EXPECT_EQ(1, observer_.selection_count()); |
245 | 246 |
246 // Scroll to the next page (negative delta) and cancel it. | 247 // Scroll to the next page (negative delta) and cancel it. |
247 SetStartPageAndExpects(kStartPage, 0, 1, 0); | 248 SetStartPageAndExpects(kStartPage, 0, 1, 0); |
248 pagination_.StartScroll(); | 249 pagination_.StartScroll(); |
249 pagination_.UpdateScroll(-0.1); | 250 pagination_.UpdateScroll(-0.1); |
250 EXPECT_EQ(kStartPage + 1, pagination_.transition().target_page); | 251 EXPECT_EQ(kStartPage + 1, pagination_.transition().target_page); |
251 pagination_.EndScroll(true); // Cancel transition | 252 pagination_.EndScroll(true); // Cancel transition |
252 base::MessageLoop::current()->Run(); | 253 base::RunLoop().Run(); |
253 EXPECT_EQ(0, observer_.selection_count()); | 254 EXPECT_EQ(0, observer_.selection_count()); |
254 | 255 |
255 // Scroll to the previous page (position delta) and cancel it. | 256 // Scroll to the previous page (position delta) and cancel it. |
256 SetStartPageAndExpects(kStartPage, 0, 1, 0); | 257 SetStartPageAndExpects(kStartPage, 0, 1, 0); |
257 pagination_.StartScroll(); | 258 pagination_.StartScroll(); |
258 pagination_.UpdateScroll(0.1); | 259 pagination_.UpdateScroll(0.1); |
259 EXPECT_EQ(kStartPage - 1, pagination_.transition().target_page); | 260 EXPECT_EQ(kStartPage - 1, pagination_.transition().target_page); |
260 pagination_.EndScroll(true); // Cancel transition | 261 pagination_.EndScroll(true); // Cancel transition |
261 base::MessageLoop::current()->Run(); | 262 base::RunLoop().Run(); |
262 EXPECT_EQ(0, observer_.selection_count()); | 263 EXPECT_EQ(0, observer_.selection_count()); |
263 } | 264 } |
264 | 265 |
265 TEST_F(PaginationModelTest, ScrollWithTransition) { | 266 TEST_F(PaginationModelTest, ScrollWithTransition) { |
266 const int kStartPage = 2; | 267 const int kStartPage = 2; |
267 | 268 |
268 // Scroll to the next page (negative delta) with a transition in the same | 269 // Scroll to the next page (negative delta) with a transition in the same |
269 // direction. | 270 // direction. |
270 SetStartPageAndExpects(kStartPage, 1, 0, 0); | 271 SetStartPageAndExpects(kStartPage, 1, 0, 0); |
271 pagination_.SetTransition(PaginationModel::Transition(kStartPage + 1, 0.5)); | 272 pagination_.SetTransition(PaginationModel::Transition(kStartPage + 1, 0.5)); |
272 pagination_.StartScroll(); | 273 pagination_.StartScroll(); |
273 pagination_.UpdateScroll(-0.1); | 274 pagination_.UpdateScroll(-0.1); |
274 EXPECT_EQ(kStartPage + 1, pagination_.transition().target_page); | 275 EXPECT_EQ(kStartPage + 1, pagination_.transition().target_page); |
275 EXPECT_EQ(0.6, pagination_.transition().progress); | 276 EXPECT_EQ(0.6, pagination_.transition().progress); |
276 pagination_.EndScroll(false); | 277 pagination_.EndScroll(false); |
277 base::MessageLoop::current()->Run(); | 278 base::RunLoop().Run(); |
278 EXPECT_EQ(1, observer_.selection_count()); | 279 EXPECT_EQ(1, observer_.selection_count()); |
279 | 280 |
280 // Scroll to the next page (negative delta) with a transition in a different | 281 // Scroll to the next page (negative delta) with a transition in a different |
281 // direction. | 282 // direction. |
282 SetStartPageAndExpects(kStartPage, 0, 1, 0); | 283 SetStartPageAndExpects(kStartPage, 0, 1, 0); |
283 pagination_.SetTransition(PaginationModel::Transition(kStartPage - 1, 0.5)); | 284 pagination_.SetTransition(PaginationModel::Transition(kStartPage - 1, 0.5)); |
284 pagination_.StartScroll(); | 285 pagination_.StartScroll(); |
285 pagination_.UpdateScroll(-0.1); | 286 pagination_.UpdateScroll(-0.1); |
286 EXPECT_EQ(kStartPage - 1, pagination_.transition().target_page); | 287 EXPECT_EQ(kStartPage - 1, pagination_.transition().target_page); |
287 EXPECT_EQ(0.4, pagination_.transition().progress); | 288 EXPECT_EQ(0.4, pagination_.transition().progress); |
288 pagination_.EndScroll(true); | 289 pagination_.EndScroll(true); |
289 | 290 |
290 // Scroll to the previous page (positive delta) with a transition in the same | 291 // Scroll to the previous page (positive delta) with a transition in the same |
291 // direction. | 292 // direction. |
292 SetStartPageAndExpects(kStartPage, 1, 0, 0); | 293 SetStartPageAndExpects(kStartPage, 1, 0, 0); |
293 pagination_.SetTransition(PaginationModel::Transition(kStartPage - 1, 0.5)); | 294 pagination_.SetTransition(PaginationModel::Transition(kStartPage - 1, 0.5)); |
294 pagination_.StartScroll(); | 295 pagination_.StartScroll(); |
295 pagination_.UpdateScroll(0.1); | 296 pagination_.UpdateScroll(0.1); |
296 EXPECT_EQ(kStartPage - 1, pagination_.transition().target_page); | 297 EXPECT_EQ(kStartPage - 1, pagination_.transition().target_page); |
297 EXPECT_EQ(0.6, pagination_.transition().progress); | 298 EXPECT_EQ(0.6, pagination_.transition().progress); |
298 pagination_.EndScroll(false); | 299 pagination_.EndScroll(false); |
299 base::MessageLoop::current()->Run(); | 300 base::RunLoop().Run(); |
300 EXPECT_EQ(1, observer_.selection_count()); | 301 EXPECT_EQ(1, observer_.selection_count()); |
301 | 302 |
302 // Scroll to the previous page (positive delta) with a transition in a | 303 // Scroll to the previous page (positive delta) with a transition in a |
303 // different direction. | 304 // different direction. |
304 SetStartPageAndExpects(kStartPage, 0, 1, 0); | 305 SetStartPageAndExpects(kStartPage, 0, 1, 0); |
305 pagination_.SetTransition(PaginationModel::Transition(kStartPage + 1, 0.5)); | 306 pagination_.SetTransition(PaginationModel::Transition(kStartPage + 1, 0.5)); |
306 pagination_.StartScroll(); | 307 pagination_.StartScroll(); |
307 pagination_.UpdateScroll(0.1); | 308 pagination_.UpdateScroll(0.1); |
308 EXPECT_EQ(kStartPage + 1, pagination_.transition().target_page); | 309 EXPECT_EQ(kStartPage + 1, pagination_.transition().target_page); |
309 EXPECT_EQ(0.4, pagination_.transition().progress); | 310 EXPECT_EQ(0.4, pagination_.transition().progress); |
310 pagination_.EndScroll(true); | 311 pagination_.EndScroll(true); |
311 } | 312 } |
312 | 313 |
313 TEST_F(PaginationModelTest, LongScroll) { | 314 TEST_F(PaginationModelTest, LongScroll) { |
314 const int kStartPage = 2; | 315 const int kStartPage = 2; |
315 | 316 |
316 // Scroll to the next page (negative delta) with a transition in the same | 317 // Scroll to the next page (negative delta) with a transition in the same |
317 // direction. And scroll enough to change page twice. | 318 // direction. And scroll enough to change page twice. |
318 SetStartPageAndExpects(kStartPage, 2, 0, 0); | 319 SetStartPageAndExpects(kStartPage, 2, 0, 0); |
319 pagination_.SetTransition(PaginationModel::Transition(kStartPage + 1, 0.5)); | 320 pagination_.SetTransition(PaginationModel::Transition(kStartPage + 1, 0.5)); |
320 pagination_.StartScroll(); | 321 pagination_.StartScroll(); |
321 pagination_.UpdateScroll(-0.1); | 322 pagination_.UpdateScroll(-0.1); |
322 EXPECT_EQ(kStartPage + 1, pagination_.transition().target_page); | 323 EXPECT_EQ(kStartPage + 1, pagination_.transition().target_page); |
323 EXPECT_EQ(0.6, pagination_.transition().progress); | 324 EXPECT_EQ(0.6, pagination_.transition().progress); |
324 pagination_.UpdateScroll(-0.5); | 325 pagination_.UpdateScroll(-0.5); |
325 EXPECT_EQ(1, observer_.selection_count()); | 326 EXPECT_EQ(1, observer_.selection_count()); |
326 pagination_.UpdateScroll(-0.5); | 327 pagination_.UpdateScroll(-0.5); |
327 EXPECT_EQ(kStartPage + 2, pagination_.transition().target_page); | 328 EXPECT_EQ(kStartPage + 2, pagination_.transition().target_page); |
328 pagination_.EndScroll(false); | 329 pagination_.EndScroll(false); |
329 base::MessageLoop::current()->Run(); | 330 base::RunLoop().Run(); |
330 EXPECT_EQ(2, observer_.selection_count()); | 331 EXPECT_EQ(2, observer_.selection_count()); |
331 | 332 |
332 // Scroll to the next page (negative delta) with a transition in a different | 333 // Scroll to the next page (negative delta) with a transition in a different |
333 // direction. And scroll enough to revert it and switch page once. | 334 // direction. And scroll enough to revert it and switch page once. |
334 SetStartPageAndExpects(kStartPage, 1, 0, 0); | 335 SetStartPageAndExpects(kStartPage, 1, 0, 0); |
335 pagination_.SetTransition(PaginationModel::Transition(kStartPage - 1, 0.5)); | 336 pagination_.SetTransition(PaginationModel::Transition(kStartPage - 1, 0.5)); |
336 pagination_.StartScroll(); | 337 pagination_.StartScroll(); |
337 pagination_.UpdateScroll(-0.1); | 338 pagination_.UpdateScroll(-0.1); |
338 EXPECT_EQ(kStartPage - 1, pagination_.transition().target_page); | 339 EXPECT_EQ(kStartPage - 1, pagination_.transition().target_page); |
339 EXPECT_EQ(0.4, pagination_.transition().progress); | 340 EXPECT_EQ(0.4, pagination_.transition().progress); |
340 pagination_.UpdateScroll(-0.5); // This clears the transition. | 341 pagination_.UpdateScroll(-0.5); // This clears the transition. |
341 pagination_.UpdateScroll(-0.5); // This starts a new transition. | 342 pagination_.UpdateScroll(-0.5); // This starts a new transition. |
342 EXPECT_EQ(kStartPage + 1, pagination_.transition().target_page); | 343 EXPECT_EQ(kStartPage + 1, pagination_.transition().target_page); |
343 pagination_.EndScroll(false); | 344 pagination_.EndScroll(false); |
344 base::MessageLoop::current()->Run(); | 345 base::RunLoop().Run(); |
345 EXPECT_EQ(1, observer_.selection_count()); | 346 EXPECT_EQ(1, observer_.selection_count()); |
346 | 347 |
347 // Similar cases as above but in the opposite direction. | 348 // Similar cases as above but in the opposite direction. |
348 // Scroll to the previous page (positive delta) with a transition in the same | 349 // Scroll to the previous page (positive delta) with a transition in the same |
349 // direction. And scroll enough to change page twice. | 350 // direction. And scroll enough to change page twice. |
350 SetStartPageAndExpects(kStartPage, 2, 0, 0); | 351 SetStartPageAndExpects(kStartPage, 2, 0, 0); |
351 pagination_.SetTransition(PaginationModel::Transition(kStartPage - 1, 0.5)); | 352 pagination_.SetTransition(PaginationModel::Transition(kStartPage - 1, 0.5)); |
352 pagination_.StartScroll(); | 353 pagination_.StartScroll(); |
353 pagination_.UpdateScroll(0.1); | 354 pagination_.UpdateScroll(0.1); |
354 EXPECT_EQ(kStartPage - 1, pagination_.transition().target_page); | 355 EXPECT_EQ(kStartPage - 1, pagination_.transition().target_page); |
355 EXPECT_EQ(0.6, pagination_.transition().progress); | 356 EXPECT_EQ(0.6, pagination_.transition().progress); |
356 pagination_.UpdateScroll(0.5); | 357 pagination_.UpdateScroll(0.5); |
357 EXPECT_EQ(1, observer_.selection_count()); | 358 EXPECT_EQ(1, observer_.selection_count()); |
358 pagination_.UpdateScroll(0.5); | 359 pagination_.UpdateScroll(0.5); |
359 EXPECT_EQ(kStartPage - 2, pagination_.transition().target_page); | 360 EXPECT_EQ(kStartPage - 2, pagination_.transition().target_page); |
360 pagination_.EndScroll(false); | 361 pagination_.EndScroll(false); |
361 base::MessageLoop::current()->Run(); | 362 base::RunLoop().Run(); |
362 EXPECT_EQ(2, observer_.selection_count()); | 363 EXPECT_EQ(2, observer_.selection_count()); |
363 | 364 |
364 // Scroll to the previous page (positive delta) with a transition in a | 365 // Scroll to the previous page (positive delta) with a transition in a |
365 // different direction. And scroll enough to revert it and switch page once. | 366 // different direction. And scroll enough to revert it and switch page once. |
366 SetStartPageAndExpects(kStartPage, 1, 0, 0); | 367 SetStartPageAndExpects(kStartPage, 1, 0, 0); |
367 pagination_.SetTransition(PaginationModel::Transition(kStartPage + 1, 0.5)); | 368 pagination_.SetTransition(PaginationModel::Transition(kStartPage + 1, 0.5)); |
368 pagination_.StartScroll(); | 369 pagination_.StartScroll(); |
369 pagination_.UpdateScroll(0.1); | 370 pagination_.UpdateScroll(0.1); |
370 EXPECT_EQ(kStartPage + 1, pagination_.transition().target_page); | 371 EXPECT_EQ(kStartPage + 1, pagination_.transition().target_page); |
371 EXPECT_EQ(0.4, pagination_.transition().progress); | 372 EXPECT_EQ(0.4, pagination_.transition().progress); |
372 pagination_.UpdateScroll(0.5); // This clears the transition. | 373 pagination_.UpdateScroll(0.5); // This clears the transition. |
373 pagination_.UpdateScroll(0.5); // This starts a new transition. | 374 pagination_.UpdateScroll(0.5); // This starts a new transition. |
374 EXPECT_EQ(kStartPage - 1, pagination_.transition().target_page); | 375 EXPECT_EQ(kStartPage - 1, pagination_.transition().target_page); |
375 pagination_.EndScroll(false); | 376 pagination_.EndScroll(false); |
376 base::MessageLoop::current()->Run(); | 377 base::RunLoop().Run(); |
377 EXPECT_EQ(1, observer_.selection_count()); | 378 EXPECT_EQ(1, observer_.selection_count()); |
378 } | 379 } |
379 | 380 |
380 TEST_F(PaginationModelTest, FireTransitionZero) { | 381 TEST_F(PaginationModelTest, FireTransitionZero) { |
381 const int kStartPage = 2; | 382 const int kStartPage = 2; |
382 | 383 |
383 // Scroll to next page then revert the scroll and make sure transition | 384 // Scroll to next page then revert the scroll and make sure transition |
384 // progress 0 is fired when previous scroll is cleared. | 385 // progress 0 is fired when previous scroll is cleared. |
385 SetStartPageAndExpects(kStartPage, 0, 0, 0); | 386 SetStartPageAndExpects(kStartPage, 0, 0, 0); |
386 pagination_.StartScroll(); | 387 pagination_.StartScroll(); |
(...skipping 36 matching lines...) Loading... |
423 EXPECT_EQ(1, pagination_.selected_page()); | 424 EXPECT_EQ(1, pagination_.selected_page()); |
424 | 425 |
425 // But if the currently selected_page exceeds the total number of pages, | 426 // But if the currently selected_page exceeds the total number of pages, |
426 // it automatically switches to the last page. | 427 // it automatically switches to the last page. |
427 pagination_.SetTotalPages(1); | 428 pagination_.SetTotalPages(1); |
428 EXPECT_EQ(0, pagination_.selected_page()); | 429 EXPECT_EQ(0, pagination_.selected_page()); |
429 } | 430 } |
430 | 431 |
431 } // namespace test | 432 } // namespace test |
432 } // namespace app_list | 433 } // namespace app_list |
OLD | NEW |