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

Side by Side Diff: chrome/browser/android/data_usage/data_use_ui_tab_model_unittest.cc

Issue 1811173002: DataUseTabModel should check the URL to differentiate history navigation (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed tbansal comments Created 4 years, 9 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 | « chrome/browser/android/data_usage/data_use_ui_tab_model.cc ('k') | no next file » | 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 "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 <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include "base/macros.h" 10 #include "base/macros.h"
11 #include "base/run_loop.h" 11 #include "base/run_loop.h"
12 #include "base/single_thread_task_runner.h" 12 #include "base/single_thread_task_runner.h"
13 #include "chrome/browser/android/data_usage/data_use_tab_model.h" 13 #include "chrome/browser/android/data_usage/data_use_tab_model.h"
14 #include "chrome/browser/android/data_usage/data_use_ui_tab_model_factory.h" 14 #include "chrome/browser/android/data_usage/data_use_ui_tab_model_factory.h"
15 #include "chrome/browser/android/data_usage/external_data_use_observer.h" 15 #include "chrome/browser/android/data_usage/external_data_use_observer.h"
16 #include "chrome/browser/profiles/profile.h" 16 #include "chrome/browser/profiles/profile.h"
17 #include "chrome/browser/sessions/session_tab_helper.h" 17 #include "chrome/browser/sessions/session_tab_helper.h"
18 #include "chrome/common/url_constants.h"
18 #include "components/data_usage/core/data_use_aggregator.h" 19 #include "components/data_usage/core/data_use_aggregator.h"
19 #include "components/data_usage/core/data_use_amortizer.h" 20 #include "components/data_usage/core/data_use_amortizer.h"
20 #include "components/data_usage/core/data_use_annotator.h" 21 #include "components/data_usage/core/data_use_annotator.h"
21 #include "content/public/browser/browser_thread.h" 22 #include "content/public/browser/browser_thread.h"
22 #include "content/public/test/test_browser_thread_bundle.h" 23 #include "content/public/test/test_browser_thread_bundle.h"
23 #include "testing/gtest/include/gtest/gtest.h" 24 #include "testing/gtest/include/gtest/gtest.h"
24 #include "ui/base/page_transition_types.h" 25 #include "ui/base/page_transition_types.h"
25 #include "url/gurl.h" 26 #include "url/gurl.h"
26 27
27 namespace chrome { 28 namespace chrome {
(...skipping 320 matching lines...) Expand 10 before | Expand all | Expand 10 after
348 } else { 349 } else {
349 EXPECT_FALSE(data_use_ui_tab_model()->CheckAndResetDataUseTrackingEnded( 350 EXPECT_FALSE(data_use_ui_tab_model()->CheckAndResetDataUseTrackingEnded(
350 foo_tab_id)) 351 foo_tab_id))
351 << i; 352 << i;
352 } 353 }
353 } 354 }
354 } 355 }
355 356
356 // Checks if page transition type is converted correctly. 357 // Checks if page transition type is converted correctly.
357 TEST_F(DataUseUITabModelTest, ConvertTransitionType) { 358 TEST_F(DataUseUITabModelTest, ConvertTransitionType) {
358 DataUseTabModel::TransitionType transition_type; 359 const struct {
359 EXPECT_TRUE(data_use_ui_tab_model()->ConvertTransitionType( 360 ui::PageTransition page_transition;
360 ui::PageTransition(ui::PAGE_TRANSITION_TYPED), &transition_type)); 361 const std::string url;
361 EXPECT_EQ(DataUseTabModel::TRANSITION_OMNIBOX_NAVIGATION, transition_type); 362 bool expected_return;
362 EXPECT_TRUE(data_use_ui_tab_model()->ConvertTransitionType( 363 DataUseTabModel::TransitionType expected_transition_type;
363 ui::PageTransition(ui::PAGE_TRANSITION_TYPED | 0xFF00), 364 } tests[] = {
364 &transition_type)); 365 {ui::PageTransition(ui::PAGE_TRANSITION_TYPED), std::string(), true,
365 EXPECT_EQ(DataUseTabModel::TRANSITION_OMNIBOX_NAVIGATION, transition_type); 366 DataUseTabModel::TRANSITION_OMNIBOX_NAVIGATION},
366 EXPECT_TRUE(data_use_ui_tab_model()->ConvertTransitionType( 367 {ui::PageTransition(ui::PAGE_TRANSITION_TYPED | 0xFF00), std::string(),
367 ui::PageTransition(ui::PAGE_TRANSITION_TYPED | 0xFFFF00), 368 true, DataUseTabModel::TRANSITION_OMNIBOX_NAVIGATION},
368 &transition_type)); 369 {ui::PageTransition(ui::PAGE_TRANSITION_TYPED | 0xFFFF00), std::string(),
369 EXPECT_EQ(DataUseTabModel::TRANSITION_OMNIBOX_NAVIGATION, transition_type); 370 true, DataUseTabModel::TRANSITION_OMNIBOX_NAVIGATION},
370 EXPECT_TRUE(data_use_ui_tab_model()->ConvertTransitionType( 371 {ui::PageTransition(ui::PAGE_TRANSITION_TYPED | 0x12FFFF00),
371 ui::PageTransition(ui::PAGE_TRANSITION_TYPED | 0x12FFFF00), 372 std::string(), true, DataUseTabModel::TRANSITION_OMNIBOX_NAVIGATION},
372 &transition_type)); 373 {ui::PageTransition(ui::PAGE_TRANSITION_AUTO_BOOKMARK), std::string(),
373 EXPECT_EQ(DataUseTabModel::TRANSITION_OMNIBOX_NAVIGATION, transition_type); 374 true, DataUseTabModel::TRANSITION_BOOKMARK},
375 {ui::PageTransition(ui::PAGE_TRANSITION_AUTO_BOOKMARK | 0xFF00),
376 std::string(), true, DataUseTabModel::TRANSITION_BOOKMARK},
377 {ui::PageTransition(ui::PAGE_TRANSITION_AUTO_BOOKMARK | 0xFFFF00),
378 std::string(), true, DataUseTabModel::TRANSITION_BOOKMARK},
379 {ui::PageTransition(ui::PAGE_TRANSITION_AUTO_BOOKMARK | 0x12FFFF00),
380 std::string(), true, DataUseTabModel::TRANSITION_BOOKMARK},
381 {ui::PageTransition(ui::PAGE_TRANSITION_GENERATED), std::string(), true,
382 DataUseTabModel::TRANSITION_OMNIBOX_SEARCH},
383 {ui::PageTransition(ui::PAGE_TRANSITION_GENERATED | 0xFF00),
384 std::string(), true, DataUseTabModel::TRANSITION_OMNIBOX_SEARCH},
385 {ui::PageTransition(ui::PAGE_TRANSITION_GENERATED | 0xFFFF00),
386 std::string(), true, DataUseTabModel::TRANSITION_OMNIBOX_SEARCH},
387 {ui::PageTransition(ui::PAGE_TRANSITION_GENERATED | 0x12FFFF00),
388 std::string(), true, DataUseTabModel::TRANSITION_OMNIBOX_SEARCH},
389 {ui::PageTransition(ui::PAGE_TRANSITION_RELOAD), std::string(), true,
390 DataUseTabModel::TRANSITION_RELOAD},
391 {ui::PageTransition(ui::PAGE_TRANSITION_RELOAD | 0xFF00), std::string(),
392 true, DataUseTabModel::TRANSITION_RELOAD},
393 {ui::PageTransition(ui::PAGE_TRANSITION_RELOAD | 0xFFFF00), std::string(),
394 true, DataUseTabModel::TRANSITION_RELOAD},
395 {ui::PageTransition(ui::PAGE_TRANSITION_RELOAD | 0x12FFFF00),
396 std::string(), true, DataUseTabModel::TRANSITION_RELOAD},
374 397
375 EXPECT_TRUE(data_use_ui_tab_model()->ConvertTransitionType( 398 // Navigating back or forward.
376 ui::PageTransition(ui::PAGE_TRANSITION_AUTO_BOOKMARK), &transition_type)); 399 {ui::PageTransition(ui::PAGE_TRANSITION_RELOAD |
377 EXPECT_EQ(DataUseTabModel::TRANSITION_BOOKMARK, transition_type); 400 ui::PAGE_TRANSITION_FORWARD_BACK),
378 EXPECT_TRUE(data_use_ui_tab_model()->ConvertTransitionType( 401 std::string(), false},
379 ui::PageTransition(ui::PAGE_TRANSITION_AUTO_BOOKMARK | 0xFF00), 402 {ui::PageTransition(ui::PAGE_TRANSITION_RELOAD |
380 &transition_type)); 403 ui::PAGE_TRANSITION_AUTO_SUBFRAME),
381 EXPECT_EQ(DataUseTabModel::TRANSITION_BOOKMARK, transition_type); 404 std::string(), false},
382 EXPECT_TRUE(data_use_ui_tab_model()->ConvertTransitionType( 405 {ui::PageTransition(ui::PAGE_TRANSITION_RELOAD |
383 ui::PageTransition(ui::PAGE_TRANSITION_AUTO_BOOKMARK | 0xFFFF00), 406 ui::PAGE_TRANSITION_MANUAL_SUBFRAME),
384 &transition_type)); 407 std::string(), false},
385 EXPECT_EQ(DataUseTabModel::TRANSITION_BOOKMARK, transition_type); 408 {ui::PageTransition(ui::PAGE_TRANSITION_RELOAD |
386 EXPECT_TRUE(data_use_ui_tab_model()->ConvertTransitionType( 409 ui::PAGE_TRANSITION_FORM_SUBMIT),
387 ui::PageTransition(ui::PAGE_TRANSITION_AUTO_BOOKMARK | 0x12FFFF00), 410 std::string(), false},
388 &transition_type));
389 EXPECT_EQ(DataUseTabModel::TRANSITION_BOOKMARK, transition_type);
390 411
391 EXPECT_TRUE(data_use_ui_tab_model()->ConvertTransitionType( 412 // Navigating history.
392 ui::PageTransition(ui::PAGE_TRANSITION_GENERATED), &transition_type)); 413 {ui::PageTransition(ui::PAGE_TRANSITION_AUTO_TOPLEVEL),
393 EXPECT_EQ(DataUseTabModel::TRANSITION_OMNIBOX_SEARCH, transition_type); 414 kChromeUIHistoryFrameURL, true,
394 EXPECT_TRUE(data_use_ui_tab_model()->ConvertTransitionType( 415 DataUseTabModel::TRANSITION_HISTORY_ITEM},
395 ui::PageTransition(ui::PAGE_TRANSITION_GENERATED | 0xFF00), 416 {ui::PageTransition(ui::PAGE_TRANSITION_AUTO_TOPLEVEL),
396 &transition_type)); 417 kChromeUIHistoryURL, true, DataUseTabModel::TRANSITION_HISTORY_ITEM},
397 EXPECT_EQ(DataUseTabModel::TRANSITION_OMNIBOX_SEARCH, transition_type); 418 {ui::PageTransition(ui::PAGE_TRANSITION_AUTO_TOPLEVEL), std::string(),
398 EXPECT_TRUE(data_use_ui_tab_model()->ConvertTransitionType( 419 false},
399 ui::PageTransition(ui::PAGE_TRANSITION_GENERATED | 0xFFFF00), 420 };
400 &transition_type));
401 EXPECT_EQ(DataUseTabModel::TRANSITION_OMNIBOX_SEARCH, transition_type);
402 EXPECT_TRUE(data_use_ui_tab_model()->ConvertTransitionType(
403 ui::PageTransition(ui::PAGE_TRANSITION_GENERATED | 0x12FFFF00),
404 &transition_type));
405 EXPECT_EQ(DataUseTabModel::TRANSITION_OMNIBOX_SEARCH, transition_type);
406 421
407 EXPECT_TRUE(data_use_ui_tab_model()->ConvertTransitionType( 422 for (const auto& test : tests) {
408 ui::PageTransition(ui::PAGE_TRANSITION_RELOAD), &transition_type)); 423 DataUseTabModel::TransitionType transition_type;
409 EXPECT_EQ(DataUseTabModel::TRANSITION_RELOAD, transition_type); 424 EXPECT_EQ(test.expected_return,
410 EXPECT_TRUE(data_use_ui_tab_model()->ConvertTransitionType( 425 data_use_ui_tab_model()->ConvertTransitionType(
411 ui::PageTransition(ui::PAGE_TRANSITION_RELOAD | 0xFF00), 426 test.page_transition, GURL(test.url), &transition_type));
412 &transition_type)); 427 if (test.expected_return)
413 EXPECT_EQ(DataUseTabModel::TRANSITION_RELOAD, transition_type); 428 EXPECT_EQ(test.expected_transition_type, transition_type);
414 EXPECT_TRUE(data_use_ui_tab_model()->ConvertTransitionType( 429 }
415 ui::PageTransition(ui::PAGE_TRANSITION_RELOAD | 0xFFFF00),
416 &transition_type));
417 EXPECT_EQ(DataUseTabModel::TRANSITION_RELOAD, transition_type);
418 EXPECT_TRUE(data_use_ui_tab_model()->ConvertTransitionType(
419 ui::PageTransition(ui::PAGE_TRANSITION_RELOAD | 0x12FFFF00),
420 &transition_type));
421 EXPECT_EQ(DataUseTabModel::TRANSITION_RELOAD, transition_type);
422
423 // Navigating back or forward.
424 EXPECT_FALSE(data_use_ui_tab_model()->ConvertTransitionType(
425 ui::PageTransition(ui::PAGE_TRANSITION_RELOAD |
426 ui::PAGE_TRANSITION_FORWARD_BACK),
427 &transition_type));
428
429 EXPECT_FALSE(data_use_ui_tab_model()->ConvertTransitionType(
430 ui::PageTransition(ui::PAGE_TRANSITION_AUTO_SUBFRAME), &transition_type));
431 EXPECT_FALSE(data_use_ui_tab_model()->ConvertTransitionType(
432 ui::PageTransition(ui::PAGE_TRANSITION_MANUAL_SUBFRAME),
433 &transition_type));
434 EXPECT_FALSE(data_use_ui_tab_model()->ConvertTransitionType(
435 ui::PageTransition(ui::PAGE_TRANSITION_FORM_SUBMIT), &transition_type));
436 } 430 }
437 431
438 } // namespace android 432 } // namespace android
439 433
440 } // namespace chrome 434 } // namespace chrome
OLDNEW
« no previous file with comments | « chrome/browser/android/data_usage/data_use_ui_tab_model.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698