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

Side by Side Diff: components/sync_sessions/task_tracker_unittest.cc

Issue 2776633003: Add taskid for navigation, created in session sync (Closed)
Patch Set: initialize task id by global id Created 3 years, 8 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
OLDNEW
(Empty)
1 // Copyright 2017 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "components/sync_sessions/task_tracker.h"
6
7 #include <utility>
8
9 #include "testing/gmock/include/gmock/gmock.h"
10 #include "testing/gtest/include/gtest/gtest.h"
11
12 using testing::ElementsAre;
13
14 namespace sync_sessions {
15
16 namespace {
17 const int kTab1 = 15;
18 const int kTab2 = 25;
19 } // namespace
20
21 TEST(TaskTrackerTest, GetTabTasks) {
22 TaskTracker task_tracker;
23 TabTasks* tab_tasks = task_tracker.GetTabTasks(kTab1);
24 ASSERT_NE(tab_tasks, nullptr);
25 EXPECT_EQ(task_tracker.GetTabTasks(kTab1), tab_tasks);
26 EXPECT_NE(task_tracker.GetTabTasks(kTab2), tab_tasks);
27 }
28
29 TEST(TaskTrackerTest, CleanTabTasks) {
30 TaskTracker task_tracker;
31 TabTasks* tab_tasks = task_tracker.GetTabTasks(kTab1);
32 ASSERT_NE(tab_tasks, nullptr);
33 ASSERT_FALSE(task_tracker.local_tab_tasks_map_.empty());
34
35 task_tracker.CleanTabTasks(kTab1);
36 EXPECT_TRUE(task_tracker.local_tab_tasks_map_.empty());
37 }
38
39 TEST(TaskTrackerTest, UpdateTasksWithMultipleClicks) {
40 TaskTracker task_tracker;
41 TabTasks* tab_tasks = task_tracker.GetTabTasks(kTab1);
42
43 tab_tasks->UpdateWithNavigation(1, ui::PageTransition::PAGE_TRANSITION_TYPED,
44 100);
45 EXPECT_THAT(tab_tasks->GetTaskIdsForNavigation(1), ElementsAre(100));
46
47 tab_tasks->UpdateWithNavigation(2, ui::PageTransition::PAGE_TRANSITION_LINK,
48 200);
49 EXPECT_THAT(tab_tasks->GetTaskIdsForNavigation(1), ElementsAre(100));
50 EXPECT_THAT(tab_tasks->GetTaskIdsForNavigation(2), ElementsAre(100, 200));
51
52 tab_tasks->UpdateWithNavigation(3, ui::PageTransition::PAGE_TRANSITION_LINK,
53 300);
54 EXPECT_THAT(tab_tasks->GetTaskIdsForNavigation(1), ElementsAre(100));
55 EXPECT_THAT(tab_tasks->GetTaskIdsForNavigation(2), ElementsAre(100, 200));
56 EXPECT_THAT(tab_tasks->GetTaskIdsForNavigation(3),
57 ElementsAre(100, 200, 300));
58 }
59
60 TEST(TaskTrackerTest, UpdateTasksWithMultipleClicksAndTypes) {
61 TaskTracker task_tracker;
62 TabTasks* tab_tasks = task_tracker.GetTabTasks(kTab1);
63
64 tab_tasks->UpdateWithNavigation(1, ui::PAGE_TRANSITION_LINK, 100);
65 tab_tasks->UpdateWithNavigation(2, ui::PAGE_TRANSITION_LINK, 200);
66 tab_tasks->UpdateWithNavigation(3, ui::PAGE_TRANSITION_LINK, 300);
67 tab_tasks->UpdateWithNavigation(4, ui::PAGE_TRANSITION_TYPED, 400);
68 tab_tasks->UpdateWithNavigation(5, ui::PAGE_TRANSITION_LINK, 500);
69 tab_tasks->UpdateWithNavigation(6, ui::PAGE_TRANSITION_TYPED, 600);
70 tab_tasks->UpdateWithNavigation(7, ui::PAGE_TRANSITION_LINK, 700);
71
72 EXPECT_THAT(tab_tasks->GetTaskIdsForNavigation(1), ElementsAre(100));
73 EXPECT_THAT(tab_tasks->GetTaskIdsForNavigation(2), ElementsAre(100, 200));
74 EXPECT_THAT(tab_tasks->GetTaskIdsForNavigation(3),
75 ElementsAre(100, 200, 300));
76 EXPECT_THAT(tab_tasks->GetTaskIdsForNavigation(4), ElementsAre(400));
77 EXPECT_THAT(tab_tasks->GetTaskIdsForNavigation(5), ElementsAre(400, 500));
78 EXPECT_THAT(tab_tasks->GetTaskIdsForNavigation(6), ElementsAre(600));
79 EXPECT_THAT(tab_tasks->GetTaskIdsForNavigation(7), ElementsAre(600, 700));
80 }
81
82 TEST(TaskTrackerTest, UpdateTasksWithBackforwards) {
83 TaskTracker task_tracker;
84 TabTasks* tab_tasks = task_tracker.GetTabTasks(kTab1);
85
86 tab_tasks->UpdateWithNavigation(1, ui::PAGE_TRANSITION_TYPED, 100);
87 tab_tasks->UpdateWithNavigation(2, ui::PAGE_TRANSITION_LINK, 200);
88 tab_tasks->UpdateWithNavigation(3, ui::PAGE_TRANSITION_LINK, 300);
89
90 tab_tasks->UpdateWithNavigation(
91 1,
92 ui::PageTransitionFromInt(ui::PAGE_TRANSITION_TYPED |
93 ui::PAGE_TRANSITION_FORWARD_BACK),
94 400);
95 EXPECT_THAT(tab_tasks->GetTaskIdsForNavigation(1), ElementsAre(100));
96 EXPECT_THAT(tab_tasks->GetTaskIdsForNavigation(2), ElementsAre(100, 200));
97 EXPECT_THAT(tab_tasks->GetTaskIdsForNavigation(3),
98 ElementsAre(100, 200, 300));
99
100 tab_tasks->UpdateWithNavigation(
101 3,
102 ui::PageTransitionFromInt(ui::PAGE_TRANSITION_LINK |
103 ui::PAGE_TRANSITION_FORWARD_BACK),
104 500);
105 EXPECT_THAT(tab_tasks->GetTaskIdsForNavigation(1), ElementsAre(100));
106 EXPECT_THAT(tab_tasks->GetTaskIdsForNavigation(2), ElementsAre(100, 200));
107 EXPECT_THAT(tab_tasks->GetTaskIdsForNavigation(3),
108 ElementsAre(100, 200, 300));
109 }
110
111 TEST(TaskTrackerTest, UpdateWithNavigationsWithBackAndForkedNavigation) {
112 TaskTracker task_tracker;
113 TabTasks* tab_tasks = task_tracker.GetTabTasks(kTab1);
114 tab_tasks->UpdateWithNavigation(1, ui::PAGE_TRANSITION_LINK, 100);
115 tab_tasks->UpdateWithNavigation(2, ui::PAGE_TRANSITION_LINK, 200);
116 tab_tasks->UpdateWithNavigation(3, ui::PAGE_TRANSITION_LINK, 300);
117 tab_tasks->UpdateWithNavigation(
118 1,
119 ui::PageTransitionFromInt(ui::PAGE_TRANSITION_LINK |
120 ui::PAGE_TRANSITION_FORWARD_BACK),
121 400);
122 tab_tasks->UpdateWithNavigation(2, ui::PAGE_TRANSITION_LINK, 500);
123 EXPECT_THAT(tab_tasks->GetTaskIdsForNavigation(1), ElementsAre(100));
124 EXPECT_THAT(tab_tasks->GetTaskIdsForNavigation(2), ElementsAre(100, 500));
125 // We don't track navigation at index 3 any more, and it's out of scope now.
126 EXPECT_THAT(tab_tasks->GetNavigationsCount(), 3);
127 }
128
129 } // namespace sync_sessions
OLDNEW
« components/sync_sessions/task_tracker.cc ('K') | « components/sync_sessions/task_tracker.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698