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/basictypes.h" | 9 #include "base/basictypes.h" |
10 #include "base/compiler_specific.h" | 10 #include "base/compiler_specific.h" |
11 #include "base/message_loop/message_loop.h" | 11 #include "base/message_loop/message_loop.h" |
12 #include "base/strings/stringprintf.h" | 12 #include "base/strings/stringprintf.h" |
13 #include "testing/gtest/include/gtest/gtest.h" | 13 #include "testing/gtest/include/gtest/gtest.h" |
14 #include "ui/app_list/pagination_model_observer.h" | 14 #include "ui/app_list/pagination_model_observer.h" |
15 | 15 |
16 namespace app_list { | 16 namespace app_list { |
17 namespace test { | 17 namespace test { |
18 | 18 |
19 class TestPaginationModelObserver : public PaginationModelObserver { | 19 class TestPaginationModelObserver : public PaginationModelObserver { |
20 public: | 20 public: |
21 TestPaginationModelObserver() | 21 TestPaginationModelObserver() |
22 : model_(NULL), | 22 : model_(NULL), |
23 expected_page_selection_(0), | 23 expected_page_selection_(0), |
24 expected_transition_start_(0), | 24 expected_transition_start_(0), |
25 expected_transition_end_(0), | 25 expected_transition_end_(0), |
26 transition_page_(-1) { | 26 transition_page_(-1) { |
27 Reset(); | 27 Reset(); |
28 } | 28 } |
29 virtual ~TestPaginationModelObserver() {} | 29 ~TestPaginationModelObserver() override {} |
30 | 30 |
31 void Reset() { | 31 void Reset() { |
32 selection_count_ = 0; | 32 selection_count_ = 0; |
33 transition_start_count_ = 0; | 33 transition_start_count_ = 0; |
34 transition_end_count_ = 0; | 34 transition_end_count_ = 0; |
35 selected_pages_.clear(); | 35 selected_pages_.clear(); |
36 } | 36 } |
37 | 37 |
38 void set_model(PaginationModel* model) { model_ = model; } | 38 void set_model(PaginationModel* model) { model_ = model; } |
39 | 39 |
(...skipping 14 matching lines...) Expand all Loading... |
54 int transition_end_count() const { return transition_end_count_; } | 54 int transition_end_count() const { return transition_end_count_; } |
55 | 55 |
56 private: | 56 private: |
57 void AppendSelectedPage(int page) { | 57 void AppendSelectedPage(int page) { |
58 if (selected_pages_.length()) | 58 if (selected_pages_.length()) |
59 selected_pages_.append(std::string(" ")); | 59 selected_pages_.append(std::string(" ")); |
60 selected_pages_.append(base::StringPrintf("%d", page)); | 60 selected_pages_.append(base::StringPrintf("%d", page)); |
61 } | 61 } |
62 | 62 |
63 // PaginationModelObserver overrides: | 63 // PaginationModelObserver overrides: |
64 virtual void TotalPagesChanged() override {} | 64 void TotalPagesChanged() override {} |
65 virtual void SelectedPageChanged(int old_selected, | 65 void SelectedPageChanged(int old_selected, int new_selected) override { |
66 int new_selected) override { | |
67 AppendSelectedPage(new_selected); | 66 AppendSelectedPage(new_selected); |
68 ++selection_count_; | 67 ++selection_count_; |
69 if (expected_page_selection_ && | 68 if (expected_page_selection_ && |
70 selection_count_ == expected_page_selection_) { | 69 selection_count_ == expected_page_selection_) { |
71 base::MessageLoop::current()->Quit(); | 70 base::MessageLoop::current()->Quit(); |
72 } | 71 } |
73 } | 72 } |
74 | 73 |
75 virtual void TransitionStarted() override { | 74 void TransitionStarted() override {} |
76 } | |
77 | 75 |
78 virtual void TransitionChanged() override { | 76 void TransitionChanged() override { |
79 if (transition_page_ == -1 || | 77 if (transition_page_ == -1 || |
80 model_->transition().target_page == transition_page_) { | 78 model_->transition().target_page == transition_page_) { |
81 if (model_->transition().progress == 0) | 79 if (model_->transition().progress == 0) |
82 ++transition_start_count_; | 80 ++transition_start_count_; |
83 if (model_->transition().progress == 1) | 81 if (model_->transition().progress == 1) |
84 ++transition_end_count_; | 82 ++transition_end_count_; |
85 } | 83 } |
86 | 84 |
87 if ((expected_transition_start_ && | 85 if ((expected_transition_start_ && |
88 transition_start_count_ == expected_transition_start_) || | 86 transition_start_count_ == expected_transition_start_) || |
(...skipping 336 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
425 EXPECT_EQ(1, pagination_.selected_page()); | 423 EXPECT_EQ(1, pagination_.selected_page()); |
426 | 424 |
427 // But if the currently selected_page exceeds the total number of pages, | 425 // But if the currently selected_page exceeds the total number of pages, |
428 // it automatically switches to the last page. | 426 // it automatically switches to the last page. |
429 pagination_.SetTotalPages(1); | 427 pagination_.SetTotalPages(1); |
430 EXPECT_EQ(0, pagination_.selected_page()); | 428 EXPECT_EQ(0, pagination_.selected_page()); |
431 } | 429 } |
432 | 430 |
433 } // namespace test | 431 } // namespace test |
434 } // namespace app_list | 432 } // namespace app_list |
OLD | NEW |