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

Side by Side Diff: components/sessions/serialized_navigation_entry_unittest.cc

Issue 658073004: Rewrites SerializedNavigationEntry to not have any //content member variables. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebased. Created 6 years, 2 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 | « components/sessions/serialized_navigation_entry_test_helper.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 (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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 "components/sessions/serialized_navigation_entry.h" 5 #include "components/sessions/serialized_navigation_entry.h"
6 6
7 #include <cstddef> 7 #include <cstddef>
8 #include <string> 8 #include <string>
9 9
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
11 #include "base/memory/scoped_ptr.h" 11 #include "base/memory/scoped_ptr.h"
12 #include "base/pickle.h" 12 #include "base/pickle.h"
13 #include "base/strings/string16.h" 13 #include "base/strings/string16.h"
14 #include "base/strings/string_number_conversions.h" 14 #include "base/strings/string_number_conversions.h"
15 #include "base/strings/utf_string_conversions.h" 15 #include "base/strings/utf_string_conversions.h"
16 #include "base/time/time.h" 16 #include "base/time/time.h"
17 #include "content/public/browser/favicon_status.h" 17 #include "content/public/browser/favicon_status.h"
18 #include "content/public/browser/navigation_entry.h" 18 #include "content/public/browser/navigation_entry.h"
19 #include "content/public/common/page_state.h"
19 #include "content/public/common/referrer.h" 20 #include "content/public/common/referrer.h"
20 #include "sync/protocol/session_specifics.pb.h" 21 #include "sync/protocol/session_specifics.pb.h"
21 #include "sync/util/time.h" 22 #include "sync/util/time.h"
22 #include "testing/gtest/include/gtest/gtest.h" 23 #include "testing/gtest/include/gtest/gtest.h"
23 #include "third_party/WebKit/public/platform/WebReferrerPolicy.h" 24 #include "third_party/WebKit/public/platform/WebReferrerPolicy.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 sessions { 28 namespace sessions {
28 namespace { 29 namespace {
29 30
30 const int kIndex = 3; 31 const int kIndex = 3;
31 const int kUniqueID = 50; 32 const int kUniqueID = 50;
32 const content::Referrer kReferrer = 33 const GURL kReferrerURL = GURL("http://www.referrer.com");
33 content::Referrer(GURL("http://www.referrer.com"), 34 const int kReferrerPolicy = blink::WebReferrerPolicyAlways;
34 blink::WebReferrerPolicyAlways);
35 const GURL kVirtualURL("http://www.virtual-url.com"); 35 const GURL kVirtualURL("http://www.virtual-url.com");
36 const base::string16 kTitle = base::ASCIIToUTF16("title"); 36 const base::string16 kTitle = base::ASCIIToUTF16("title");
37 const content::PageState kPageState = 37 const std::string kEncodedPageState = "page state";
38 content::PageState::CreateFromEncodedData("page state");
39 const ui::PageTransition kTransitionType = 38 const ui::PageTransition kTransitionType =
40 ui::PageTransitionFromInt( 39 ui::PageTransitionFromInt(
41 ui::PAGE_TRANSITION_AUTO_SUBFRAME | 40 ui::PAGE_TRANSITION_AUTO_SUBFRAME |
42 ui::PAGE_TRANSITION_HOME_PAGE | 41 ui::PAGE_TRANSITION_HOME_PAGE |
43 ui::PAGE_TRANSITION_CLIENT_REDIRECT); 42 ui::PAGE_TRANSITION_CLIENT_REDIRECT);
44 const bool kHasPostData = true; 43 const bool kHasPostData = true;
45 const int64 kPostID = 100; 44 const int64 kPostID = 100;
46 const GURL kOriginalRequestURL("http://www.original-request.com"); 45 const GURL kOriginalRequestURL("http://www.original-request.com");
47 const bool kIsOverridingUserAgent = true; 46 const bool kIsOverridingUserAgent = true;
48 const base::Time kTimestamp = syncer::ProtoTimeToTime(100); 47 const base::Time kTimestamp = syncer::ProtoTimeToTime(100);
49 const base::string16 kSearchTerms = base::ASCIIToUTF16("my search terms"); 48 const base::string16 kSearchTerms = base::ASCIIToUTF16("my search terms");
50 const GURL kFaviconURL("http://virtual-url.com/favicon.ico"); 49 const GURL kFaviconURL("http://virtual-url.com/favicon.ico");
51 const int kHttpStatusCode = 404; 50 const int kHttpStatusCode = 404;
52 const GURL kRedirectURL0("http://go/redirect0"); 51 const GURL kRedirectURL0("http://go/redirect0");
53 const GURL kRedirectURL1("http://go/redirect1"); 52 const GURL kRedirectURL1("http://go/redirect1");
54 const GURL kOtherURL("http://other.com"); 53 const GURL kOtherURL("http://other.com");
55 54
56 const int kPageID = 10; 55 const int kPageID = 10;
57 56
58 // Create a NavigationEntry from the constants above. 57 // Create a NavigationEntry from the constants above.
59 scoped_ptr<content::NavigationEntry> MakeNavigationEntryForTest() { 58 scoped_ptr<content::NavigationEntry> MakeNavigationEntryForTest() {
60 scoped_ptr<content::NavigationEntry> navigation_entry( 59 scoped_ptr<content::NavigationEntry> navigation_entry(
61 content::NavigationEntry::Create()); 60 content::NavigationEntry::Create());
62 navigation_entry->SetReferrer(kReferrer); 61 navigation_entry->SetReferrer(content::Referrer(
62 kReferrerURL,
63 static_cast<blink::WebReferrerPolicy>(kReferrerPolicy)));
63 navigation_entry->SetVirtualURL(kVirtualURL); 64 navigation_entry->SetVirtualURL(kVirtualURL);
64 navigation_entry->SetTitle(kTitle); 65 navigation_entry->SetTitle(kTitle);
65 navigation_entry->SetPageState(kPageState); 66 navigation_entry->SetPageState(
67 content::PageState::CreateFromEncodedData(kEncodedPageState));
66 navigation_entry->SetTransitionType(kTransitionType); 68 navigation_entry->SetTransitionType(kTransitionType);
67 navigation_entry->SetHasPostData(kHasPostData); 69 navigation_entry->SetHasPostData(kHasPostData);
68 navigation_entry->SetPostID(kPostID); 70 navigation_entry->SetPostID(kPostID);
69 navigation_entry->SetOriginalRequestURL(kOriginalRequestURL); 71 navigation_entry->SetOriginalRequestURL(kOriginalRequestURL);
70 navigation_entry->SetIsOverridingUserAgent(kIsOverridingUserAgent); 72 navigation_entry->SetIsOverridingUserAgent(kIsOverridingUserAgent);
71 navigation_entry->SetTimestamp(kTimestamp); 73 navigation_entry->SetTimestamp(kTimestamp);
72 navigation_entry->SetExtraData(kSearchTermsKey, kSearchTerms); 74 navigation_entry->SetExtraData(kSearchTermsKey, kSearchTerms);
73 navigation_entry->GetFavicon().valid = true; 75 navigation_entry->GetFavicon().valid = true;
74 navigation_entry->GetFavicon().url = kFaviconURL; 76 navigation_entry->GetFavicon().url = kFaviconURL;
75 navigation_entry->SetHttpStatusCode(kHttpStatusCode); 77 navigation_entry->SetHttpStatusCode(kHttpStatusCode);
76 std::vector<GURL> redirect_chain; 78 std::vector<GURL> redirect_chain;
77 redirect_chain.push_back(kRedirectURL0); 79 redirect_chain.push_back(kRedirectURL0);
78 redirect_chain.push_back(kRedirectURL1); 80 redirect_chain.push_back(kRedirectURL1);
79 redirect_chain.push_back(kVirtualURL); 81 redirect_chain.push_back(kVirtualURL);
80 navigation_entry->SetRedirectChain(redirect_chain); 82 navigation_entry->SetRedirectChain(redirect_chain);
81 return navigation_entry.Pass(); 83 return navigation_entry.Pass();
82 } 84 }
83 85
84 // Create a sync_pb::TabNavigation from the constants above. 86 // Create a sync_pb::TabNavigation from the constants above.
85 sync_pb::TabNavigation MakeSyncDataForTest() { 87 sync_pb::TabNavigation MakeSyncDataForTest() {
86 sync_pb::TabNavigation sync_data; 88 sync_pb::TabNavigation sync_data;
87 sync_data.set_virtual_url(kVirtualURL.spec()); 89 sync_data.set_virtual_url(kVirtualURL.spec());
88 sync_data.set_referrer(kReferrer.url.spec()); 90 sync_data.set_referrer(kReferrerURL.spec());
89 sync_data.set_referrer_policy(blink::WebReferrerPolicyOrigin); 91 sync_data.set_referrer_policy(blink::WebReferrerPolicyOrigin);
90 sync_data.set_title(base::UTF16ToUTF8(kTitle)); 92 sync_data.set_title(base::UTF16ToUTF8(kTitle));
91 sync_data.set_state(kPageState.ToEncodedData()); 93 sync_data.set_state(kEncodedPageState);
92 sync_data.set_page_transition( 94 sync_data.set_page_transition(
93 sync_pb::SyncEnums_PageTransition_AUTO_SUBFRAME); 95 sync_pb::SyncEnums_PageTransition_AUTO_SUBFRAME);
94 sync_data.set_unique_id(kUniqueID); 96 sync_data.set_unique_id(kUniqueID);
95 sync_data.set_timestamp_msec(syncer::TimeToProtoTime(kTimestamp)); 97 sync_data.set_timestamp_msec(syncer::TimeToProtoTime(kTimestamp));
96 sync_data.set_redirect_type(sync_pb::SyncEnums::CLIENT_REDIRECT); 98 sync_data.set_redirect_type(sync_pb::SyncEnums::CLIENT_REDIRECT);
97 sync_data.set_navigation_home_page(true); 99 sync_data.set_navigation_home_page(true);
98 sync_data.set_search_terms(base::UTF16ToUTF8(kSearchTerms)); 100 sync_data.set_search_terms(base::UTF16ToUTF8(kSearchTerms));
99 sync_data.set_favicon_url(kFaviconURL.spec()); 101 sync_data.set_favicon_url(kFaviconURL.spec());
100 sync_data.set_http_status_code(kHttpStatusCode); 102 sync_data.set_http_status_code(kHttpStatusCode);
101 // The redirect chain only syncs one way. 103 // The redirect chain only syncs one way.
102 return sync_data; 104 return sync_data;
103 } 105 }
104 106
105 // Create a default SerializedNavigationEntry. All its fields should be 107 // Create a default SerializedNavigationEntry. All its fields should be
106 // initialized to their respective default values. 108 // initialized to their respective default values.
107 TEST(SerializedNavigationEntryTest, DefaultInitializer) { 109 TEST(SerializedNavigationEntryTest, DefaultInitializer) {
108 const SerializedNavigationEntry navigation; 110 const SerializedNavigationEntry navigation;
109 EXPECT_EQ(-1, navigation.index()); 111 EXPECT_EQ(-1, navigation.index());
110 EXPECT_EQ(0, navigation.unique_id()); 112 EXPECT_EQ(0, navigation.unique_id());
111 EXPECT_EQ(GURL(), navigation.referrer().url); 113 EXPECT_EQ(GURL(), navigation.referrer_url());
112 EXPECT_EQ(blink::WebReferrerPolicyDefault, navigation.referrer().policy); 114 EXPECT_EQ(blink::WebReferrerPolicyDefault, navigation.referrer_policy());
113 EXPECT_EQ(GURL(), navigation.virtual_url()); 115 EXPECT_EQ(GURL(), navigation.virtual_url());
114 EXPECT_TRUE(navigation.title().empty()); 116 EXPECT_TRUE(navigation.title().empty());
115 EXPECT_FALSE(navigation.page_state().IsValid()); 117 EXPECT_EQ(std::string(), navigation.encoded_page_state());
116 EXPECT_EQ(ui::PAGE_TRANSITION_TYPED, navigation.transition_type()); 118 EXPECT_EQ(ui::PAGE_TRANSITION_TYPED, navigation.transition_type());
117 EXPECT_FALSE(navigation.has_post_data()); 119 EXPECT_FALSE(navigation.has_post_data());
118 EXPECT_EQ(-1, navigation.post_id()); 120 EXPECT_EQ(-1, navigation.post_id());
119 EXPECT_EQ(GURL(), navigation.original_request_url()); 121 EXPECT_EQ(GURL(), navigation.original_request_url());
120 EXPECT_FALSE(navigation.is_overriding_user_agent()); 122 EXPECT_FALSE(navigation.is_overriding_user_agent());
121 EXPECT_TRUE(navigation.timestamp().is_null()); 123 EXPECT_TRUE(navigation.timestamp().is_null());
122 EXPECT_TRUE(navigation.search_terms().empty()); 124 EXPECT_TRUE(navigation.search_terms().empty());
123 EXPECT_FALSE(navigation.favicon_url().is_valid()); 125 EXPECT_FALSE(navigation.favicon_url().is_valid());
124 EXPECT_EQ(0, navigation.http_status_code()); 126 EXPECT_EQ(0, navigation.http_status_code());
125 EXPECT_EQ(0U, navigation.redirect_chain().size()); 127 EXPECT_EQ(0U, navigation.redirect_chain().size());
126 } 128 }
127 129
128 // Create a SerializedNavigationEntry from a NavigationEntry. All its fields 130 // Create a SerializedNavigationEntry from a NavigationEntry. All its fields
129 // should match the NavigationEntry's. 131 // should match the NavigationEntry's.
130 TEST(SerializedNavigationEntryTest, FromNavigationEntry) { 132 TEST(SerializedNavigationEntryTest, FromNavigationEntry) {
131 const scoped_ptr<content::NavigationEntry> navigation_entry( 133 const scoped_ptr<content::NavigationEntry> navigation_entry(
132 MakeNavigationEntryForTest()); 134 MakeNavigationEntryForTest());
133 135
134 const SerializedNavigationEntry& navigation = 136 const SerializedNavigationEntry& navigation =
135 SerializedNavigationEntry::FromNavigationEntry(kIndex, *navigation_entry); 137 SerializedNavigationEntry::FromNavigationEntry(kIndex, *navigation_entry);
136 138
137 EXPECT_EQ(kIndex, navigation.index()); 139 EXPECT_EQ(kIndex, navigation.index());
138 140
139 EXPECT_EQ(navigation_entry->GetUniqueID(), navigation.unique_id()); 141 EXPECT_EQ(navigation_entry->GetUniqueID(), navigation.unique_id());
140 EXPECT_EQ(kReferrer.url, navigation.referrer().url); 142 EXPECT_EQ(kReferrerURL, navigation.referrer_url());
141 EXPECT_EQ(kReferrer.policy, navigation.referrer().policy); 143 EXPECT_EQ(kReferrerPolicy, navigation.referrer_policy());
142 EXPECT_EQ(kVirtualURL, navigation.virtual_url()); 144 EXPECT_EQ(kVirtualURL, navigation.virtual_url());
143 EXPECT_EQ(kTitle, navigation.title()); 145 EXPECT_EQ(kTitle, navigation.title());
144 EXPECT_EQ(kPageState, navigation.page_state()); 146 EXPECT_EQ(kEncodedPageState, navigation.encoded_page_state());
145 EXPECT_EQ(kTransitionType, navigation.transition_type()); 147 EXPECT_EQ(kTransitionType, navigation.transition_type());
146 EXPECT_EQ(kHasPostData, navigation.has_post_data()); 148 EXPECT_EQ(kHasPostData, navigation.has_post_data());
147 EXPECT_EQ(kPostID, navigation.post_id()); 149 EXPECT_EQ(kPostID, navigation.post_id());
148 EXPECT_EQ(kOriginalRequestURL, navigation.original_request_url()); 150 EXPECT_EQ(kOriginalRequestURL, navigation.original_request_url());
149 EXPECT_EQ(kIsOverridingUserAgent, navigation.is_overriding_user_agent()); 151 EXPECT_EQ(kIsOverridingUserAgent, navigation.is_overriding_user_agent());
150 EXPECT_EQ(kTimestamp, navigation.timestamp()); 152 EXPECT_EQ(kTimestamp, navigation.timestamp());
151 EXPECT_EQ(kFaviconURL, navigation.favicon_url()); 153 EXPECT_EQ(kFaviconURL, navigation.favicon_url());
152 EXPECT_EQ(kHttpStatusCode, navigation.http_status_code()); 154 EXPECT_EQ(kHttpStatusCode, navigation.http_status_code());
153 ASSERT_EQ(3U, navigation.redirect_chain().size()); 155 ASSERT_EQ(3U, navigation.redirect_chain().size());
154 EXPECT_EQ(kRedirectURL0, navigation.redirect_chain()[0]); 156 EXPECT_EQ(kRedirectURL0, navigation.redirect_chain()[0]);
155 EXPECT_EQ(kRedirectURL1, navigation.redirect_chain()[1]); 157 EXPECT_EQ(kRedirectURL1, navigation.redirect_chain()[1]);
156 EXPECT_EQ(kVirtualURL, navigation.redirect_chain()[2]); 158 EXPECT_EQ(kVirtualURL, navigation.redirect_chain()[2]);
157 } 159 }
158 160
159 // Create a SerializedNavigationEntry from a sync_pb::TabNavigation. All its 161 // Create a SerializedNavigationEntry from a sync_pb::TabNavigation. All its
160 // fields should match the protocol buffer's if it exists there, and 162 // fields should match the protocol buffer's if it exists there, and
161 // sbould be set to the default value otherwise. 163 // sbould be set to the default value otherwise.
162 TEST(SerializedNavigationEntryTest, FromSyncData) { 164 TEST(SerializedNavigationEntryTest, FromSyncData) {
163 const sync_pb::TabNavigation sync_data = MakeSyncDataForTest(); 165 const sync_pb::TabNavigation sync_data = MakeSyncDataForTest();
164 166
165 const SerializedNavigationEntry& navigation = 167 const SerializedNavigationEntry& navigation =
166 SerializedNavigationEntry::FromSyncData(kIndex, sync_data); 168 SerializedNavigationEntry::FromSyncData(kIndex, sync_data);
167 169
168 EXPECT_EQ(kIndex, navigation.index()); 170 EXPECT_EQ(kIndex, navigation.index());
169 EXPECT_EQ(kUniqueID, navigation.unique_id()); 171 EXPECT_EQ(kUniqueID, navigation.unique_id());
170 EXPECT_EQ(kReferrer.url, navigation.referrer().url); 172 EXPECT_EQ(kReferrerURL, navigation.referrer_url());
171 EXPECT_EQ(blink::WebReferrerPolicyOrigin, navigation.referrer().policy); 173 EXPECT_EQ(blink::WebReferrerPolicyOrigin, navigation.referrer_policy());
172 EXPECT_EQ(kVirtualURL, navigation.virtual_url()); 174 EXPECT_EQ(kVirtualURL, navigation.virtual_url());
173 EXPECT_EQ(kTitle, navigation.title()); 175 EXPECT_EQ(kTitle, navigation.title());
174 EXPECT_EQ(kPageState, navigation.page_state()); 176 EXPECT_EQ(kEncodedPageState, navigation.encoded_page_state());
175 EXPECT_EQ(kTransitionType, navigation.transition_type()); 177 EXPECT_EQ(kTransitionType, navigation.transition_type());
176 EXPECT_FALSE(navigation.has_post_data()); 178 EXPECT_FALSE(navigation.has_post_data());
177 EXPECT_EQ(-1, navigation.post_id()); 179 EXPECT_EQ(-1, navigation.post_id());
178 EXPECT_EQ(GURL(), navigation.original_request_url()); 180 EXPECT_EQ(GURL(), navigation.original_request_url());
179 EXPECT_FALSE(navigation.is_overriding_user_agent()); 181 EXPECT_FALSE(navigation.is_overriding_user_agent());
180 EXPECT_TRUE(navigation.timestamp().is_null()); 182 EXPECT_TRUE(navigation.timestamp().is_null());
181 EXPECT_EQ(kSearchTerms, navigation.search_terms()); 183 EXPECT_EQ(kSearchTerms, navigation.search_terms());
182 EXPECT_EQ(kFaviconURL, navigation.favicon_url()); 184 EXPECT_EQ(kFaviconURL, navigation.favicon_url());
183 EXPECT_EQ(kHttpStatusCode, navigation.http_status_code()); 185 EXPECT_EQ(kHttpStatusCode, navigation.http_status_code());
184 // The redirect chain only syncs one way. 186 // The redirect chain only syncs one way.
(...skipping 10 matching lines...) Expand all
195 Pickle pickle; 197 Pickle pickle;
196 old_navigation.WriteToPickle(30000, &pickle); 198 old_navigation.WriteToPickle(30000, &pickle);
197 199
198 SerializedNavigationEntry new_navigation; 200 SerializedNavigationEntry new_navigation;
199 PickleIterator pickle_iterator(pickle); 201 PickleIterator pickle_iterator(pickle);
200 EXPECT_TRUE(new_navigation.ReadFromPickle(&pickle_iterator)); 202 EXPECT_TRUE(new_navigation.ReadFromPickle(&pickle_iterator));
201 203
202 EXPECT_EQ(kIndex, new_navigation.index()); 204 EXPECT_EQ(kIndex, new_navigation.index());
203 205
204 EXPECT_EQ(0, new_navigation.unique_id()); 206 EXPECT_EQ(0, new_navigation.unique_id());
205 EXPECT_EQ(kReferrer.url, new_navigation.referrer().url); 207 EXPECT_EQ(kReferrerURL, new_navigation.referrer_url());
206 EXPECT_EQ(kReferrer.policy, new_navigation.referrer().policy); 208 EXPECT_EQ(kReferrerPolicy, new_navigation.referrer_policy());
207 EXPECT_EQ(kVirtualURL, new_navigation.virtual_url()); 209 EXPECT_EQ(kVirtualURL, new_navigation.virtual_url());
208 EXPECT_EQ(kTitle, new_navigation.title()); 210 EXPECT_EQ(kTitle, new_navigation.title());
209 EXPECT_FALSE(new_navigation.page_state().IsValid()); 211 EXPECT_EQ(std::string(), new_navigation.encoded_page_state());
210 EXPECT_EQ(kTransitionType, new_navigation.transition_type()); 212 EXPECT_EQ(kTransitionType, new_navigation.transition_type());
211 EXPECT_EQ(kHasPostData, new_navigation.has_post_data()); 213 EXPECT_EQ(kHasPostData, new_navigation.has_post_data());
212 EXPECT_EQ(-1, new_navigation.post_id()); 214 EXPECT_EQ(-1, new_navigation.post_id());
213 EXPECT_EQ(kOriginalRequestURL, new_navigation.original_request_url()); 215 EXPECT_EQ(kOriginalRequestURL, new_navigation.original_request_url());
214 EXPECT_EQ(kIsOverridingUserAgent, new_navigation.is_overriding_user_agent()); 216 EXPECT_EQ(kIsOverridingUserAgent, new_navigation.is_overriding_user_agent());
215 EXPECT_EQ(kTimestamp, new_navigation.timestamp()); 217 EXPECT_EQ(kTimestamp, new_navigation.timestamp());
216 EXPECT_EQ(kSearchTerms, new_navigation.search_terms()); 218 EXPECT_EQ(kSearchTerms, new_navigation.search_terms());
217 EXPECT_EQ(kHttpStatusCode, new_navigation.http_status_code()); 219 EXPECT_EQ(kHttpStatusCode, new_navigation.http_status_code());
218 EXPECT_EQ(0U, new_navigation.redirect_chain().size()); 220 EXPECT_EQ(0U, new_navigation.redirect_chain().size());
219 } 221 }
220 222
221 // Create a NavigationEntry, then create another one by converting to 223 // Create a NavigationEntry, then create another one by converting to
222 // a SerializedNavigationEntry and back. The new one should match the old one 224 // a SerializedNavigationEntry and back. The new one should match the old one
223 // except for fields that aren't preserved, which should be set to 225 // except for fields that aren't preserved, which should be set to
224 // expected values. 226 // expected values.
225 TEST(SerializedNavigationEntryTest, ToNavigationEntry) { 227 TEST(SerializedNavigationEntryTest, ToNavigationEntry) {
226 const scoped_ptr<content::NavigationEntry> old_navigation_entry( 228 const scoped_ptr<content::NavigationEntry> old_navigation_entry(
227 MakeNavigationEntryForTest()); 229 MakeNavigationEntryForTest());
228 230
229 const SerializedNavigationEntry& navigation = 231 const SerializedNavigationEntry& navigation =
230 SerializedNavigationEntry::FromNavigationEntry(kIndex, 232 SerializedNavigationEntry::FromNavigationEntry(kIndex,
231 *old_navigation_entry); 233 *old_navigation_entry);
232 234
233 const scoped_ptr<content::NavigationEntry> new_navigation_entry( 235 const scoped_ptr<content::NavigationEntry> new_navigation_entry(
234 navigation.ToNavigationEntry(kPageID, NULL)); 236 navigation.ToNavigationEntry(kPageID, NULL));
235 237
236 EXPECT_EQ(kReferrer.url, new_navigation_entry->GetReferrer().url); 238 EXPECT_EQ(kReferrerURL, new_navigation_entry->GetReferrer().url);
237 EXPECT_EQ(kReferrer.policy, new_navigation_entry->GetReferrer().policy); 239 EXPECT_EQ(kReferrerPolicy, new_navigation_entry->GetReferrer().policy);
238 EXPECT_EQ(kVirtualURL, new_navigation_entry->GetVirtualURL()); 240 EXPECT_EQ(kVirtualURL, new_navigation_entry->GetVirtualURL());
239 EXPECT_EQ(kTitle, new_navigation_entry->GetTitle()); 241 EXPECT_EQ(kTitle, new_navigation_entry->GetTitle());
240 EXPECT_EQ(kPageState, new_navigation_entry->GetPageState()); 242 EXPECT_EQ(kEncodedPageState,
243 new_navigation_entry->GetPageState().ToEncodedData());
241 EXPECT_EQ(kPageID, new_navigation_entry->GetPageID()); 244 EXPECT_EQ(kPageID, new_navigation_entry->GetPageID());
242 EXPECT_EQ(ui::PAGE_TRANSITION_RELOAD, 245 EXPECT_EQ(ui::PAGE_TRANSITION_RELOAD,
243 new_navigation_entry->GetTransitionType()); 246 new_navigation_entry->GetTransitionType());
244 EXPECT_EQ(kHasPostData, new_navigation_entry->GetHasPostData()); 247 EXPECT_EQ(kHasPostData, new_navigation_entry->GetHasPostData());
245 EXPECT_EQ(kPostID, new_navigation_entry->GetPostID()); 248 EXPECT_EQ(kPostID, new_navigation_entry->GetPostID());
246 EXPECT_EQ(kOriginalRequestURL, 249 EXPECT_EQ(kOriginalRequestURL,
247 new_navigation_entry->GetOriginalRequestURL()); 250 new_navigation_entry->GetOriginalRequestURL());
248 EXPECT_EQ(kIsOverridingUserAgent, 251 EXPECT_EQ(kIsOverridingUserAgent,
249 new_navigation_entry->GetIsOverridingUserAgent()); 252 new_navigation_entry->GetIsOverridingUserAgent());
250 base::string16 search_terms; 253 base::string16 search_terms;
(...skipping 12 matching lines...) Expand all
263 TEST(SerializedNavigationEntryTest, ToSyncData) { 266 TEST(SerializedNavigationEntryTest, ToSyncData) {
264 const scoped_ptr<content::NavigationEntry> navigation_entry( 267 const scoped_ptr<content::NavigationEntry> navigation_entry(
265 MakeNavigationEntryForTest()); 268 MakeNavigationEntryForTest());
266 269
267 const SerializedNavigationEntry& navigation = 270 const SerializedNavigationEntry& navigation =
268 SerializedNavigationEntry::FromNavigationEntry(kIndex, *navigation_entry); 271 SerializedNavigationEntry::FromNavigationEntry(kIndex, *navigation_entry);
269 272
270 const sync_pb::TabNavigation sync_data = navigation.ToSyncData(); 273 const sync_pb::TabNavigation sync_data = navigation.ToSyncData();
271 274
272 EXPECT_EQ(kVirtualURL.spec(), sync_data.virtual_url()); 275 EXPECT_EQ(kVirtualURL.spec(), sync_data.virtual_url());
273 EXPECT_EQ(kReferrer.url.spec(), sync_data.referrer()); 276 EXPECT_EQ(kReferrerURL.spec(), sync_data.referrer());
274 EXPECT_EQ(kTitle, base::ASCIIToUTF16(sync_data.title())); 277 EXPECT_EQ(kTitle, base::ASCIIToUTF16(sync_data.title()));
275 EXPECT_TRUE(sync_data.state().empty()); 278 EXPECT_TRUE(sync_data.state().empty());
276 EXPECT_EQ(sync_pb::SyncEnums_PageTransition_AUTO_SUBFRAME, 279 EXPECT_EQ(sync_pb::SyncEnums_PageTransition_AUTO_SUBFRAME,
277 sync_data.page_transition()); 280 sync_data.page_transition());
278 EXPECT_TRUE(sync_data.has_redirect_type()); 281 EXPECT_TRUE(sync_data.has_redirect_type());
279 EXPECT_EQ(navigation_entry->GetUniqueID(), sync_data.unique_id()); 282 EXPECT_EQ(navigation_entry->GetUniqueID(), sync_data.unique_id());
280 EXPECT_EQ(syncer::TimeToProtoTime(kTimestamp), sync_data.timestamp_msec()); 283 EXPECT_EQ(syncer::TimeToProtoTime(kTimestamp), sync_data.timestamp_msec());
281 EXPECT_EQ(kTimestamp.ToInternalValue(), sync_data.global_id()); 284 EXPECT_EQ(kTimestamp.ToInternalValue(), sync_data.global_id());
282 EXPECT_EQ(kFaviconURL.spec(), sync_data.favicon_url()); 285 EXPECT_EQ(kFaviconURL.spec(), sync_data.favicon_url());
283 EXPECT_EQ(kHttpStatusCode, sync_data.http_status_code()); 286 EXPECT_EQ(kHttpStatusCode, sync_data.http_status_code());
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
359 sync_data.set_referrer_policy(blink::WebReferrerPolicyNever); 362 sync_data.set_referrer_policy(blink::WebReferrerPolicyNever);
360 content::PageState page_state = 363 content::PageState page_state =
361 content::PageState::CreateFromURL(kVirtualURL); 364 content::PageState::CreateFromURL(kVirtualURL);
362 sync_data.set_state(page_state.ToEncodedData()); 365 sync_data.set_state(page_state.ToEncodedData());
363 366
364 const SerializedNavigationEntry& navigation = 367 const SerializedNavigationEntry& navigation =
365 SerializedNavigationEntry::FromSyncData(kIndex, sync_data); 368 SerializedNavigationEntry::FromSyncData(kIndex, sync_data);
366 369
367 EXPECT_EQ(kIndex, navigation.index()); 370 EXPECT_EQ(kIndex, navigation.index());
368 EXPECT_EQ(kUniqueID, navigation.unique_id()); 371 EXPECT_EQ(kUniqueID, navigation.unique_id());
369 EXPECT_EQ(GURL(), navigation.referrer().url); 372 EXPECT_EQ(GURL(), navigation.referrer_url());
370 EXPECT_EQ(blink::WebReferrerPolicyDefault, navigation.referrer().policy); 373 EXPECT_EQ(blink::WebReferrerPolicyDefault, navigation.referrer_policy());
371 EXPECT_EQ(kVirtualURL, navigation.virtual_url()); 374 EXPECT_EQ(kVirtualURL, navigation.virtual_url());
372 EXPECT_EQ(kTitle, navigation.title()); 375 EXPECT_EQ(kTitle, navigation.title());
373 EXPECT_EQ(page_state, navigation.page_state()); 376 EXPECT_EQ(page_state.ToEncodedData(), navigation.encoded_page_state());
374 EXPECT_EQ(kTransitionType, navigation.transition_type()); 377 EXPECT_EQ(kTransitionType, navigation.transition_type());
375 EXPECT_FALSE(navigation.has_post_data()); 378 EXPECT_FALSE(navigation.has_post_data());
376 EXPECT_EQ(-1, navigation.post_id()); 379 EXPECT_EQ(-1, navigation.post_id());
377 EXPECT_EQ(GURL(), navigation.original_request_url()); 380 EXPECT_EQ(GURL(), navigation.original_request_url());
378 EXPECT_FALSE(navigation.is_overriding_user_agent()); 381 EXPECT_FALSE(navigation.is_overriding_user_agent());
379 EXPECT_TRUE(navigation.timestamp().is_null()); 382 EXPECT_TRUE(navigation.timestamp().is_null());
380 EXPECT_EQ(kSearchTerms, navigation.search_terms()); 383 EXPECT_EQ(kSearchTerms, navigation.search_terms());
381 EXPECT_EQ(kFaviconURL, navigation.favicon_url()); 384 EXPECT_EQ(kFaviconURL, navigation.favicon_url());
382 EXPECT_EQ(kHttpStatusCode, navigation.http_status_code()); 385 EXPECT_EQ(kHttpStatusCode, navigation.http_status_code());
383 386
384 content::PageState empty_state; 387 content::PageState empty_state;
385 EXPECT_TRUE(empty_state.Equals(empty_state.RemoveReferrer())); 388 EXPECT_TRUE(empty_state.Equals(empty_state.RemoveReferrer()));
386 } 389 }
387 390
388 } // namespace 391 } // namespace
389 } // namespace sessions 392 } // namespace sessions
OLDNEW
« no previous file with comments | « components/sessions/serialized_navigation_entry_test_helper.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698