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

Side by Side Diff: chrome/browser/sync/glue/synced_session_util_unittest.cc

Issue 1408643002: [Sync] Componentize synced_tab_delegate (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix test broken by rebase Created 5 years, 1 month 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 2015 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 "chrome/browser/sync/glue/synced_session_util.h"
6
7 #include "base/memory/scoped_ptr.h"
8 #include "components/sessions/core/serialized_navigation_entry_test_helper.h"
9 #include "components/sessions/core/session_types.h"
10 #include "content/public/browser/navigation_entry.h"
11 #include "testing/gtest/include/gtest/gtest.h"
12 #include "url/gurl.h"
13
14 using sessions::SessionTab;
15 using sessions::SessionWindow;
16
17 namespace browser_sync {
18
19 // TODO(skym): Test ShouldSyncSessionTab
20 // TODO(skym): Test SessionWindowHasNoTabsToSync
21
22 namespace {
23
24 static const std::string kValidUrl = "http://www.example.com";
25 static const std::string kInvalidUrl = "invalid.url";
26
27 sessions::SerializedNavigationEntry Entry(std::string url) {
28 return sessions::SerializedNavigationEntryTestHelper::CreateNavigation(url,
29 "");
30 }
31
32 } // namespace
33
34 TEST(SyncedSessionUtilTest, ShouldSyncURL) {
35 EXPECT_TRUE(ShouldSyncURL(GURL(kValidUrl)));
36 EXPECT_TRUE(ShouldSyncURL(GURL("other://anything")));
37 EXPECT_TRUE(ShouldSyncURL(GURL("chrome-other://anything")));
38
39 EXPECT_FALSE(ShouldSyncURL(GURL(kInvalidUrl)));
40 EXPECT_FALSE(ShouldSyncURL(GURL("file://anything")));
41 EXPECT_FALSE(ShouldSyncURL(GURL("chrome://anything")));
42 EXPECT_FALSE(ShouldSyncURL(GURL("chrome-native://anything")));
43 }
44
45 TEST(SyncedSessionUtilTest, ShouldSyncSessionTabValid) {
46 SessionTab tab;
47 tab.navigations.push_back(Entry(kValidUrl));
48 EXPECT_TRUE(ShouldSyncSessionTab(tab));
49 }
50
51 TEST(SyncedSessionUtilTest, ShouldSyncSessionTabEmpty) {
52 SessionTab tab;
53 EXPECT_FALSE(ShouldSyncSessionTab(tab));
54 }
55
56 TEST(SyncedSessionUtilTest, ShouldSyncSessionTabInvalid) {
57 SessionTab tab;
58 tab.navigations.push_back(Entry(kInvalidUrl));
59 EXPECT_FALSE(ShouldSyncSessionTab(tab));
60 }
61
62 TEST(SyncedSessionUtilTest, ShouldSyncSessionTabMultiple) {
63 SessionTab tab;
64 tab.navigations.push_back(Entry(kInvalidUrl));
65 tab.navigations.push_back(Entry(kValidUrl));
66 tab.navigations.push_back(Entry(kInvalidUrl));
67 EXPECT_TRUE(ShouldSyncSessionTab(tab));
68 }
69
70 TEST(SyncedSessionUtilTest, ShouldSyncSessionWindowValid) {
71 scoped_ptr<SessionTab> tab(new SessionTab());
72 tab->navigations.push_back(Entry(kValidUrl));
73
74 SessionWindow window;
75 window.tabs.push_back(tab.release());
76
77 EXPECT_TRUE(ShouldSyncSessionWindow(window));
78 }
79
80 TEST(SyncedSessionUtilTest, ShouldSyncSessionWindowEmpty) {
81 SessionWindow window;
82 EXPECT_FALSE(ShouldSyncSessionWindow(window));
83 }
84
85 TEST(SyncedSessionUtilTest, ShouldSyncSessionWindowInvalid) {
86 scoped_ptr<SessionTab> tab(new SessionTab());
87 tab->navigations.push_back(Entry(kInvalidUrl));
88
89 SessionWindow window;
90 window.tabs.push_back(tab.release());
91
92 EXPECT_FALSE(ShouldSyncSessionWindow(window));
93 }
94
95 TEST(SyncedSessionUtilTest, ShouldSyncSessionWindowMultiple) {
96 scoped_ptr<SessionTab> tab1(new SessionTab());
97 tab1->navigations.push_back(Entry(kInvalidUrl));
98
99 scoped_ptr<SessionTab> tab2(new SessionTab());
100
101 scoped_ptr<SessionTab> tab3(new SessionTab());
102 tab3->navigations.push_back(Entry(kInvalidUrl));
103 tab3->navigations.push_back(Entry(kValidUrl));
104 tab3->navigations.push_back(Entry(kInvalidUrl));
105
106 SessionWindow window;
107 window.tabs.push_back(tab1.release());
108 window.tabs.push_back(tab2.release());
109 window.tabs.push_back(tab3.release());
110
111 EXPECT_TRUE(ShouldSyncSessionWindow(window));
112 }
113
114 } // namespace browser_sync
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698