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 "chrome/browser/android/data_usage/data_use_ui_tab_model.h" | 5 #include "chrome/browser/android/data_usage/data_use_ui_tab_model.h" |
6 | 6 |
7 #include <stdint.h> | 7 #include <stdint.h> |
8 | 8 |
9 #include "base/run_loop.h" | 9 #include "base/run_loop.h" |
10 #include "base/single_thread_task_runner.h" | 10 #include "base/single_thread_task_runner.h" |
(...skipping 10 matching lines...) Expand all Loading... |
21 #include "testing/gtest/include/gtest/gtest.h" | 21 #include "testing/gtest/include/gtest/gtest.h" |
22 #include "ui/base/page_transition_types.h" | 22 #include "ui/base/page_transition_types.h" |
23 #include "url/gurl.h" | 23 #include "url/gurl.h" |
24 | 24 |
25 namespace chrome { | 25 namespace chrome { |
26 | 26 |
27 namespace android { | 27 namespace android { |
28 | 28 |
29 namespace { | 29 namespace { |
30 | 30 |
| 31 const char kFooLabel[] = "foo_label"; |
| 32 const char kFooPackage[] = "com.foo"; |
| 33 |
31 class TestDataUseTabModel : public DataUseTabModel { | 34 class TestDataUseTabModel : public DataUseTabModel { |
32 public: | 35 public: |
33 TestDataUseTabModel() {} | 36 TestDataUseTabModel() {} |
34 ~TestDataUseTabModel() override {} | 37 ~TestDataUseTabModel() override {} |
35 | 38 |
36 using DataUseTabModel::NotifyObserversOfTrackingStarting; | 39 using DataUseTabModel::NotifyObserversOfTrackingStarting; |
37 using DataUseTabModel::NotifyObserversOfTrackingEnding; | 40 using DataUseTabModel::NotifyObserversOfTrackingEnding; |
38 }; | 41 }; |
39 | 42 |
40 class DataUseUITabModelTest : public testing::Test { | 43 class DataUseUITabModelTest : public testing::Test { |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
87 scoped_ptr<data_usage::DataUseAggregator> data_use_aggregator_; | 90 scoped_ptr<data_usage::DataUseAggregator> data_use_aggregator_; |
88 scoped_ptr<ExternalDataUseObserver> external_data_use_observer_; | 91 scoped_ptr<ExternalDataUseObserver> external_data_use_observer_; |
89 scoped_ptr<TestDataUseTabModel> data_use_tab_model_; | 92 scoped_ptr<TestDataUseTabModel> data_use_tab_model_; |
90 }; | 93 }; |
91 | 94 |
92 } // namespace | 95 } // namespace |
93 | 96 |
94 // Tests that DataUseTabModel is notified of tab closure and navigation events, | 97 // Tests that DataUseTabModel is notified of tab closure and navigation events, |
95 // and DataUseTabModel notifies DataUseUITabModel. | 98 // and DataUseTabModel notifies DataUseUITabModel. |
96 TEST_F(DataUseUITabModelTest, ReportTabEventsTest) { | 99 TEST_F(DataUseUITabModelTest, ReportTabEventsTest) { |
97 const char kFooLabel[] = "foo_label"; | |
98 const char kFooPackage[] = "com.foo"; | |
99 | |
100 std::vector<std::string> url_regexes; | 100 std::vector<std::string> url_regexes; |
101 url_regexes.push_back( | 101 url_regexes.push_back( |
102 "http://www[.]foo[.]com/#q=.*|https://www[.]foo[.]com/#q=.*"); | 102 "http://www[.]foo[.]com/#q=.*|https://www[.]foo[.]com/#q=.*"); |
103 RegisterURLRegexes(std::vector<std::string>(url_regexes.size(), kFooPackage), | 103 RegisterURLRegexes(std::vector<std::string>(url_regexes.size(), kFooPackage), |
104 url_regexes, | 104 url_regexes, |
105 std::vector<std::string>(url_regexes.size(), kFooLabel)); | 105 std::vector<std::string>(url_regexes.size(), kFooLabel)); |
106 | 106 |
107 const struct { | 107 const struct { |
108 ui::PageTransition transition_type; | 108 ui::PageTransition transition_type; |
109 std::string expected_label; | 109 std::string expected_label; |
(...skipping 10 matching lines...) Expand all Loading... |
120 }; | 120 }; |
121 | 121 |
122 SessionID::id_type foo_tab_id = 100; | 122 SessionID::id_type foo_tab_id = 100; |
123 | 123 |
124 for (size_t i = 0; i < arraysize(tests); ++i) { | 124 for (size_t i = 0; i < arraysize(tests); ++i) { |
125 // Start a new tab. | 125 // Start a new tab. |
126 ++foo_tab_id; | 126 ++foo_tab_id; |
127 data_use_ui_tab_model()->ReportBrowserNavigation( | 127 data_use_ui_tab_model()->ReportBrowserNavigation( |
128 GURL("https://www.foo.com/#q=abc"), tests[i].transition_type, | 128 GURL("https://www.foo.com/#q=abc"), tests[i].transition_type, |
129 foo_tab_id); | 129 foo_tab_id); |
130 // Wait for DataUseUITabModel to notify DataUseTabModel, which should notify | |
131 // DataUseUITabModel back. | |
132 base::RunLoop().RunUntilIdle(); | |
133 | 130 |
134 // |data_use_ui_tab_model| should receive callback about starting of | 131 // |data_use_ui_tab_model| should receive callback about starting of |
135 // tracking of data usage for |foo_tab_id|. | 132 // tracking of data usage for |foo_tab_id|. |
136 EXPECT_EQ(!tests[i].expected_label.empty(), | 133 EXPECT_EQ(!tests[i].expected_label.empty(), |
137 data_use_ui_tab_model()->HasDataUseTrackingStarted(foo_tab_id)) | 134 data_use_ui_tab_model()->HasDataUseTrackingStarted(foo_tab_id)) |
138 << i; | 135 << i; |
139 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingStarted(foo_tab_id)) | 136 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingStarted(foo_tab_id)) |
140 << i; | 137 << i; |
141 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingEnded(foo_tab_id)) | 138 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingEnded(foo_tab_id)) |
142 << i; | 139 << i; |
143 | 140 |
144 std::string got_label; | 141 std::string got_label; |
145 data_use_tab_model()->GetLabelForTabAtTime( | 142 data_use_tab_model()->GetLabelForTabAtTime( |
146 foo_tab_id, base::TimeTicks::Now(), &got_label); | 143 foo_tab_id, base::TimeTicks::Now(), &got_label); |
147 EXPECT_EQ(tests[i].expected_label, got_label) << i; | 144 EXPECT_EQ(tests[i].expected_label, got_label) << i; |
148 | 145 |
149 // Report closure of tab. | 146 // Report closure of tab. |
150 data_use_ui_tab_model()->ReportTabClosure(foo_tab_id); | 147 data_use_ui_tab_model()->ReportTabClosure(foo_tab_id); |
151 base::RunLoop().RunUntilIdle(); | |
152 | 148 |
153 // DataUse object should not be labeled. | 149 // DataUse object should not be labeled. |
154 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingEnded(foo_tab_id)); | 150 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingEnded(foo_tab_id)); |
155 data_use_tab_model()->GetLabelForTabAtTime( | 151 data_use_tab_model()->GetLabelForTabAtTime( |
156 foo_tab_id, base::TimeTicks::Now() + base::TimeDelta::FromMinutes(10), | 152 foo_tab_id, base::TimeTicks::Now() + base::TimeDelta::FromMinutes(10), |
157 &got_label); | 153 &got_label); |
158 EXPECT_EQ(std::string(), got_label) << i; | 154 EXPECT_EQ(std::string(), got_label) << i; |
159 } | 155 } |
160 | 156 |
161 const SessionID::id_type bar_tab_id = foo_tab_id + 1; | 157 const SessionID::id_type bar_tab_id = foo_tab_id + 1; |
162 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingStarted(bar_tab_id)); | 158 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingStarted(bar_tab_id)); |
163 data_use_ui_tab_model()->ReportCustomTabInitialNavigation( | 159 data_use_ui_tab_model()->ReportCustomTabInitialNavigation( |
164 bar_tab_id, std::string(), kFooPackage); | 160 bar_tab_id, kFooPackage, std::string()); |
165 base::RunLoop().RunUntilIdle(); | |
166 | 161 |
167 // |data_use_ui_tab_model| should receive callback about starting of | 162 // |data_use_ui_tab_model| should receive callback about starting of |
168 // tracking of data usage for |bar_tab_id|. | 163 // tracking of data usage for |bar_tab_id|. |
169 EXPECT_TRUE(data_use_ui_tab_model()->HasDataUseTrackingStarted(bar_tab_id)); | 164 EXPECT_TRUE(data_use_ui_tab_model()->HasDataUseTrackingStarted(bar_tab_id)); |
170 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingStarted(bar_tab_id)); | 165 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingStarted(bar_tab_id)); |
171 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingEnded(bar_tab_id)); | 166 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingEnded(bar_tab_id)); |
172 | 167 |
173 data_use_ui_tab_model()->ReportTabClosure(bar_tab_id); | 168 data_use_ui_tab_model()->ReportTabClosure(bar_tab_id); |
174 base::RunLoop().RunUntilIdle(); | |
175 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingEnded(bar_tab_id)); | 169 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingEnded(bar_tab_id)); |
176 } | 170 } |
177 | 171 |
178 // Tests if the Entrance/Exit UI state is tracked correctly. | 172 // Tests if the Entrance/Exit UI state is tracked correctly. |
179 TEST_F(DataUseUITabModelTest, EntranceExitState) { | 173 TEST_F(DataUseUITabModelTest, EntranceExitState) { |
180 const SessionID::id_type kFooTabId = 1; | 174 const SessionID::id_type kFooTabId = 1; |
181 const SessionID::id_type kBarTabId = 2; | 175 const SessionID::id_type kBarTabId = 2; |
182 const SessionID::id_type kBazTabId = 3; | 176 const SessionID::id_type kBazTabId = 3; |
183 | 177 |
184 // HasDataUseTrackingStarted should return true only once. | 178 // HasDataUseTrackingStarted should return true only once. |
185 data_use_tab_model()->NotifyObserversOfTrackingStarting(kFooTabId); | 179 data_use_tab_model()->NotifyObserversOfTrackingStarting(kFooTabId); |
186 base::RunLoop().RunUntilIdle(); | |
187 EXPECT_TRUE(data_use_ui_tab_model()->HasDataUseTrackingStarted(kFooTabId)); | 180 EXPECT_TRUE(data_use_ui_tab_model()->HasDataUseTrackingStarted(kFooTabId)); |
188 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingStarted(kFooTabId)); | 181 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingStarted(kFooTabId)); |
189 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingEnded(kFooTabId)); | 182 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingEnded(kFooTabId)); |
190 | 183 |
191 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingStarted(kBarTabId)); | 184 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingStarted(kBarTabId)); |
192 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingEnded(kBarTabId)); | 185 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingEnded(kBarTabId)); |
193 | 186 |
194 // HasDataUseTrackingEnded should return true only once. | 187 // HasDataUseTrackingEnded should return true only once. |
195 data_use_tab_model()->NotifyObserversOfTrackingEnding(kFooTabId); | 188 data_use_tab_model()->NotifyObserversOfTrackingEnding(kFooTabId); |
196 base::RunLoop().RunUntilIdle(); | |
197 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingStarted(kFooTabId)); | 189 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingStarted(kFooTabId)); |
198 EXPECT_TRUE(data_use_ui_tab_model()->HasDataUseTrackingEnded(kFooTabId)); | 190 EXPECT_TRUE(data_use_ui_tab_model()->HasDataUseTrackingEnded(kFooTabId)); |
199 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingEnded(kFooTabId)); | 191 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingEnded(kFooTabId)); |
200 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingStarted(kFooTabId)); | 192 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingStarted(kFooTabId)); |
201 | 193 |
202 // The tab enters the tracking state again. | 194 // The tab enters the tracking state again. |
203 data_use_tab_model()->NotifyObserversOfTrackingStarting(kFooTabId); | 195 data_use_tab_model()->NotifyObserversOfTrackingStarting(kFooTabId); |
204 base::RunLoop().RunUntilIdle(); | |
205 EXPECT_TRUE(data_use_ui_tab_model()->HasDataUseTrackingStarted(kFooTabId)); | 196 EXPECT_TRUE(data_use_ui_tab_model()->HasDataUseTrackingStarted(kFooTabId)); |
206 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingStarted(kFooTabId)); | 197 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingStarted(kFooTabId)); |
207 | 198 |
208 // The tab exits the tracking state. | 199 // The tab exits the tracking state. |
209 data_use_tab_model()->NotifyObserversOfTrackingEnding(kFooTabId); | 200 data_use_tab_model()->NotifyObserversOfTrackingEnding(kFooTabId); |
210 base::RunLoop().RunUntilIdle(); | |
211 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingStarted(kFooTabId)); | 201 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingStarted(kFooTabId)); |
212 | 202 |
213 // The tab enters the tracking state again. | 203 // The tab enters the tracking state again. |
214 data_use_tab_model()->NotifyObserversOfTrackingStarting(kFooTabId); | 204 data_use_tab_model()->NotifyObserversOfTrackingStarting(kFooTabId); |
215 base::RunLoop().RunUntilIdle(); | |
216 data_use_tab_model()->NotifyObserversOfTrackingStarting(kFooTabId); | 205 data_use_tab_model()->NotifyObserversOfTrackingStarting(kFooTabId); |
217 base::RunLoop().RunUntilIdle(); | |
218 EXPECT_TRUE(data_use_ui_tab_model()->HasDataUseTrackingStarted(kFooTabId)); | 206 EXPECT_TRUE(data_use_ui_tab_model()->HasDataUseTrackingStarted(kFooTabId)); |
219 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingStarted(kFooTabId)); | 207 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingStarted(kFooTabId)); |
220 | 208 |
221 // ShowExit should return true only once. | 209 // ShowExit should return true only once. |
222 data_use_tab_model()->NotifyObserversOfTrackingEnding(kBarTabId); | 210 data_use_tab_model()->NotifyObserversOfTrackingEnding(kBarTabId); |
223 base::RunLoop().RunUntilIdle(); | |
224 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingStarted(kBarTabId)); | 211 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingStarted(kBarTabId)); |
225 EXPECT_TRUE(data_use_ui_tab_model()->HasDataUseTrackingEnded(kBarTabId)); | 212 EXPECT_TRUE(data_use_ui_tab_model()->HasDataUseTrackingEnded(kBarTabId)); |
226 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingEnded(kBarTabId)); | 213 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingEnded(kBarTabId)); |
227 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingStarted(kBarTabId)); | 214 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingStarted(kBarTabId)); |
228 | 215 |
229 data_use_ui_tab_model()->ReportTabClosure(kFooTabId); | 216 data_use_ui_tab_model()->ReportTabClosure(kFooTabId); |
230 data_use_ui_tab_model()->ReportTabClosure(kBarTabId); | 217 data_use_ui_tab_model()->ReportTabClosure(kBarTabId); |
231 | 218 |
232 // HasDataUseTrackingStarted/Ended should return false for closed tabs. | 219 // HasDataUseTrackingStarted/Ended should return false for closed tabs. |
233 data_use_tab_model()->NotifyObserversOfTrackingStarting(kBazTabId); | 220 data_use_tab_model()->NotifyObserversOfTrackingStarting(kBazTabId); |
234 base::RunLoop().RunUntilIdle(); | |
235 data_use_ui_tab_model()->ReportTabClosure(kBazTabId); | 221 data_use_ui_tab_model()->ReportTabClosure(kBazTabId); |
236 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingStarted(kBazTabId)); | 222 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingStarted(kBazTabId)); |
237 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingEnded(kBazTabId)); | 223 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingEnded(kBazTabId)); |
238 } | 224 } |
239 | 225 |
| 226 // Tests if the Entrance/Exit UI state is tracked correctly. |
| 227 TEST_F(DataUseUITabModelTest, EntranceExitStateWithDialogBox) { |
| 228 const SessionID::id_type kFooTabId = 1; |
| 229 |
| 230 std::vector<std::string> url_regexes; |
| 231 url_regexes.push_back( |
| 232 "http://www[.]foo[.]com/#q=.*|https://www[.]foo[.]com/#q=.*"); |
| 233 RegisterURLRegexes(std::vector<std::string>(url_regexes.size(), kFooPackage), |
| 234 url_regexes, |
| 235 std::vector<std::string>(url_regexes.size(), kFooLabel)); |
| 236 |
| 237 SessionID::id_type foo_tab_id = kFooTabId; |
| 238 |
| 239 const struct { |
| 240 // True if a dialog box was shown to the user. It may not be shown if the |
| 241 // user has previously selected the option to opt out. |
| 242 bool continue_dialog_box_shown; |
| 243 bool user_proceeded_with_navigation; |
| 244 } tests[] = { |
| 245 {false, false}, {true, true}, {true, false}, |
| 246 }; |
| 247 |
| 248 for (size_t i = 0; i < arraysize(tests); ++i) { |
| 249 // Start a new tab. |
| 250 ++foo_tab_id; |
| 251 data_use_ui_tab_model()->ReportBrowserNavigation( |
| 252 GURL("https://www.foo.com/#q=abc"), ui::PAGE_TRANSITION_GENERATED, |
| 253 foo_tab_id); |
| 254 |
| 255 // |data_use_ui_tab_model| should receive callback about starting of |
| 256 // tracking of data usage for |foo_tab_id|. |
| 257 EXPECT_TRUE(data_use_ui_tab_model()->HasDataUseTrackingStarted(foo_tab_id)) |
| 258 << i; |
| 259 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingStarted(foo_tab_id)) |
| 260 << i; |
| 261 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingEnded(foo_tab_id)) |
| 262 << i; |
| 263 |
| 264 std::string got_label; |
| 265 data_use_tab_model()->GetLabelForTabAtTime( |
| 266 foo_tab_id, base::TimeTicks::Now(), &got_label); |
| 267 EXPECT_EQ(kFooLabel, got_label) << i; |
| 268 |
| 269 // Tab enters non-tracking state. |
| 270 data_use_ui_tab_model()->ReportBrowserNavigation( |
| 271 GURL("https://www.bar.com/#q=abc"), |
| 272 ui::PageTransition::PAGE_TRANSITION_TYPED, foo_tab_id); |
| 273 |
| 274 EXPECT_TRUE(data_use_ui_tab_model()->HasDataUseTrackingEnded(foo_tab_id)) |
| 275 << i; |
| 276 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingEnded(foo_tab_id)) |
| 277 << i; |
| 278 |
| 279 // Tab enters tracking state. |
| 280 data_use_ui_tab_model()->ReportBrowserNavigation( |
| 281 GURL("https://www.foo.com/#q=abc"), ui::PAGE_TRANSITION_GENERATED, |
| 282 foo_tab_id); |
| 283 |
| 284 EXPECT_TRUE(data_use_ui_tab_model()->HasDataUseTrackingStarted(foo_tab_id)) |
| 285 << i; |
| 286 |
| 287 // Tab may enter non-tracking state. |
| 288 EXPECT_TRUE(data_use_ui_tab_model()->WouldDataUseTrackingEnd( |
| 289 "https://www.bar.com/#q=abc", ui::PageTransition::PAGE_TRANSITION_TYPED, |
| 290 foo_tab_id)); |
| 291 if (tests[i].continue_dialog_box_shown && |
| 292 tests[i].user_proceeded_with_navigation) { |
| 293 data_use_ui_tab_model()->UserClickedContinueOnDialogBox(foo_tab_id); |
| 294 } |
| 295 |
| 296 if (tests[i].user_proceeded_with_navigation) { |
| 297 data_use_ui_tab_model()->ReportBrowserNavigation( |
| 298 GURL("https://www.bar.com/#q=abc"), |
| 299 ui::PageTransition::PAGE_TRANSITION_TYPED, foo_tab_id); |
| 300 } |
| 301 |
| 302 const std::string expected_label = |
| 303 tests[i].user_proceeded_with_navigation ? "" : kFooLabel; |
| 304 data_use_tab_model()->GetLabelForTabAtTime( |
| 305 foo_tab_id, base::TimeTicks::Now(), &got_label); |
| 306 EXPECT_EQ(expected_label, got_label) << i; |
| 307 |
| 308 if (tests[i].user_proceeded_with_navigation) { |
| 309 // No UI element should be shown afterwards if the dialog box was shown |
| 310 // before. |
| 311 EXPECT_NE(tests[i].continue_dialog_box_shown, |
| 312 data_use_ui_tab_model()->HasDataUseTrackingEnded(foo_tab_id)) |
| 313 << i; |
| 314 } else { |
| 315 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingEnded(foo_tab_id)) |
| 316 << i; |
| 317 } |
| 318 } |
| 319 } |
| 320 |
240 // Checks if page transition type is converted correctly. | 321 // Checks if page transition type is converted correctly. |
241 TEST_F(DataUseUITabModelTest, ConvertTransitionType) { | 322 TEST_F(DataUseUITabModelTest, ConvertTransitionType) { |
242 DataUseTabModel::TransitionType transition_type; | 323 DataUseTabModel::TransitionType transition_type; |
243 EXPECT_TRUE(data_use_ui_tab_model()->ConvertTransitionType( | 324 EXPECT_TRUE(data_use_ui_tab_model()->ConvertTransitionType( |
244 ui::PageTransition(ui::PAGE_TRANSITION_TYPED), &transition_type)); | 325 ui::PageTransition(ui::PAGE_TRANSITION_TYPED), &transition_type)); |
245 EXPECT_EQ(DataUseTabModel::TRANSITION_OMNIBOX_NAVIGATION, transition_type); | 326 EXPECT_EQ(DataUseTabModel::TRANSITION_OMNIBOX_NAVIGATION, transition_type); |
246 EXPECT_TRUE(data_use_ui_tab_model()->ConvertTransitionType( | 327 EXPECT_TRUE(data_use_ui_tab_model()->ConvertTransitionType( |
247 ui::PageTransition(ui::PAGE_TRANSITION_TYPED | 0xFF00), | 328 ui::PageTransition(ui::PAGE_TRANSITION_TYPED | 0xFF00), |
248 &transition_type)); | 329 &transition_type)); |
249 EXPECT_EQ(DataUseTabModel::TRANSITION_OMNIBOX_NAVIGATION, transition_type); | 330 EXPECT_EQ(DataUseTabModel::TRANSITION_OMNIBOX_NAVIGATION, transition_type); |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
315 EXPECT_FALSE(data_use_ui_tab_model()->ConvertTransitionType( | 396 EXPECT_FALSE(data_use_ui_tab_model()->ConvertTransitionType( |
316 ui::PageTransition(ui::PAGE_TRANSITION_MANUAL_SUBFRAME), | 397 ui::PageTransition(ui::PAGE_TRANSITION_MANUAL_SUBFRAME), |
317 &transition_type)); | 398 &transition_type)); |
318 EXPECT_FALSE(data_use_ui_tab_model()->ConvertTransitionType( | 399 EXPECT_FALSE(data_use_ui_tab_model()->ConvertTransitionType( |
319 ui::PageTransition(ui::PAGE_TRANSITION_FORM_SUBMIT), &transition_type)); | 400 ui::PageTransition(ui::PAGE_TRANSITION_FORM_SUBMIT), &transition_type)); |
320 } | 401 } |
321 | 402 |
322 } // namespace android | 403 } // namespace android |
323 | 404 |
324 } // namespace chrome | 405 } // namespace chrome |
OLD | NEW |