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

Unified Diff: components/sync_sessions/task_tracker_unittest.cc

Issue 2776633003: Add taskid for navigation, created in session sync (Closed)
Patch Set: Created 3 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 side-by-side diff with in-line comments
Download patch
Index: components/sync_sessions/task_tracker_unittest.cc
diff --git a/components/sync_sessions/task_tracker_unittest.cc b/components/sync_sessions/task_tracker_unittest.cc
new file mode 100644
index 0000000000000000000000000000000000000000..33517e199b01ed256bf15047db2f9a272a779f89
--- /dev/null
+++ b/components/sync_sessions/task_tracker_unittest.cc
@@ -0,0 +1,67 @@
+// Copyright 2017 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "components/sync_sessions/task_tracker.h"
+
+#include "testing/gmock/include/gmock/gmock.h"
+#include "testing/gtest/include/gtest/gtest.h"
+
+using testing::ElementsAre;
+
+namespace sync_sessions {
+
+namespace {
+const int kTab1 = 15;
+const int kTab2 = 25;
+}
+
+TEST(TaskTrackerTest, GetTabTasks) {
+ TaskTracker task_tracker;
+ TabTasks* tab_tasks = task_tracker.GetTabTasks(kTab1);
+ ASSERT_NE(tab_tasks, nullptr);
+ ASSERT_EQ(task_tracker.GetTabTasks(kTab1), tab_tasks);
+ ASSERT_NE(task_tracker.GetTabTasks(kTab2), tab_tasks);
+}
+
+TEST(TaskTrackerTest, UpdateTasksWithinTab) {
+ TaskTracker task_tracker;
+ TabTasks* tab_tasks = task_tracker.GetTabTasks(kTab1);
+ tab_tasks->UpdateTask(0, ui::PageTransition::PAGE_TRANSITION_KEYWORD, 1);
+ ASSERT_THAT(tab_tasks->GetTaskIdAtNav(0), ElementsAre(1));
+
+ // ignoring this update
+ tab_tasks->UpdateTask(0, ui::PageTransition::PAGE_TRANSITION_RELOAD, 2);
+ ASSERT_THAT(tab_tasks->GetTaskIdAtNav(0), ElementsAre(1));
+
+ // adding two tasks from two clicks
+ tab_tasks->UpdateTask(1, ui::PageTransition::PAGE_TRANSITION_LINK, 3);
+ ASSERT_THAT(tab_tasks->GetTaskIdAtNav(0), ElementsAre(1));
+ ASSERT_THAT(tab_tasks->GetTaskIdAtNav(1), ElementsAre(1, 3));
+ tab_tasks->UpdateTask(2, ui::PageTransition::PAGE_TRANSITION_LINK, 4);
+ ASSERT_THAT(tab_tasks->GetTaskIdAtNav(0), ElementsAre(1));
+ ASSERT_THAT(tab_tasks->GetTaskIdAtNav(1), ElementsAre(1, 3));
+ ASSERT_THAT(tab_tasks->GetTaskIdAtNav(2), ElementsAre(1, 3, 4));
+
+ // back to task 1
+ tab_tasks->UpdateTask(0, ui::PageTransition::PAGE_TRANSITION_FORWARD_BACK, 5);
+ ASSERT_THAT(tab_tasks->GetTaskIdAtNav(0), ElementsAre(1));
+ ASSERT_THAT(tab_tasks->GetTaskIdAtNav(1), ElementsAre(1, 3));
+ ASSERT_THAT(tab_tasks->GetTaskIdAtNav(2), ElementsAre(1, 3, 4));
+
+ // forward to task 4
+ tab_tasks->UpdateTask(2, ui::PageTransition::PAGE_TRANSITION_FORWARD_BACK, 6);
+ ASSERT_THAT(tab_tasks->GetTaskIdAtNav(0), ElementsAre(1));
+ ASSERT_THAT(tab_tasks->GetTaskIdAtNav(1), ElementsAre(1, 3));
+ ASSERT_THAT(tab_tasks->GetTaskIdAtNav(2), ElementsAre(1, 3, 4));
+
+ // back to task 1 and have a new task by clicking
+ tab_tasks->UpdateTask(0, ui::PageTransition::PAGE_TRANSITION_FORWARD_BACK, 7);
+ tab_tasks->UpdateTask(1, ui::PageTransition::PAGE_TRANSITION_LINK, 8);
+ ASSERT_THAT(tab_tasks->GetTaskIdAtNav(0), ElementsAre(1));
+ ASSERT_THAT(tab_tasks->GetTaskIdAtNav(0), ElementsAre(1));
+ ASSERT_THAT(tab_tasks->GetTaskIdAtNav(1), ElementsAre(1, 8));
+ ASSERT_EQ(tab_tasks->GetNavigationsNum(), 2);
+}
+
+} // namespace sync_sessions
« 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