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

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

Issue 101573003: Add the navigation redirect-chain to Sync sessions proto for offline analysis. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix android unit test (state_serializer_unittests.cc). Created 6 years, 11 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
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"
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
42 content::PAGE_TRANSITION_HOME_PAGE | 42 content::PAGE_TRANSITION_HOME_PAGE |
43 content::PAGE_TRANSITION_CLIENT_REDIRECT); 43 content::PAGE_TRANSITION_CLIENT_REDIRECT);
44 const bool kHasPostData = true; 44 const bool kHasPostData = true;
45 const int64 kPostID = 100; 45 const int64 kPostID = 100;
46 const GURL kOriginalRequestURL("http://www.original-request.com"); 46 const GURL kOriginalRequestURL("http://www.original-request.com");
47 const bool kIsOverridingUserAgent = true; 47 const bool kIsOverridingUserAgent = true;
48 const base::Time kTimestamp = syncer::ProtoTimeToTime(100); 48 const base::Time kTimestamp = syncer::ProtoTimeToTime(100);
49 const base::string16 kSearchTerms = base::ASCIIToUTF16("my search terms"); 49 const base::string16 kSearchTerms = base::ASCIIToUTF16("my search terms");
50 const GURL kFaviconURL("http://virtual-url.com/favicon.ico"); 50 const GURL kFaviconURL("http://virtual-url.com/favicon.ico");
51 const int kHttpStatusCode = 404; 51 const int kHttpStatusCode = 404;
52 const GURL kRedirectURL0("http://go/redirect0");
53 const GURL kRedirectURL1("http://go/redirect1");
52 54
53 const int kPageID = 10; 55 const int kPageID = 10;
54 56
55 // Create a NavigationEntry from the constants above. 57 // Create a NavigationEntry from the constants above.
56 scoped_ptr<content::NavigationEntry> MakeNavigationEntryForTest() { 58 scoped_ptr<content::NavigationEntry> MakeNavigationEntryForTest() {
57 scoped_ptr<content::NavigationEntry> navigation_entry( 59 scoped_ptr<content::NavigationEntry> navigation_entry(
58 content::NavigationEntry::Create()); 60 content::NavigationEntry::Create());
59 navigation_entry->SetReferrer(kReferrer); 61 navigation_entry->SetReferrer(kReferrer);
60 navigation_entry->SetVirtualURL(kVirtualURL); 62 navigation_entry->SetVirtualURL(kVirtualURL);
61 navigation_entry->SetTitle(kTitle); 63 navigation_entry->SetTitle(kTitle);
62 navigation_entry->SetPageState(kPageState); 64 navigation_entry->SetPageState(kPageState);
63 navigation_entry->SetTransitionType(kTransitionType); 65 navigation_entry->SetTransitionType(kTransitionType);
64 navigation_entry->SetHasPostData(kHasPostData); 66 navigation_entry->SetHasPostData(kHasPostData);
65 navigation_entry->SetPostID(kPostID); 67 navigation_entry->SetPostID(kPostID);
66 navigation_entry->SetOriginalRequestURL(kOriginalRequestURL); 68 navigation_entry->SetOriginalRequestURL(kOriginalRequestURL);
67 navigation_entry->SetIsOverridingUserAgent(kIsOverridingUserAgent); 69 navigation_entry->SetIsOverridingUserAgent(kIsOverridingUserAgent);
68 navigation_entry->SetTimestamp(kTimestamp); 70 navigation_entry->SetTimestamp(kTimestamp);
69 navigation_entry->SetExtraData(kSearchTermsKey, kSearchTerms); 71 navigation_entry->SetExtraData(kSearchTermsKey, kSearchTerms);
70 navigation_entry->GetFavicon().valid = true; 72 navigation_entry->GetFavicon().valid = true;
71 navigation_entry->GetFavicon().url = kFaviconURL; 73 navigation_entry->GetFavicon().url = kFaviconURL;
72 navigation_entry->SetHttpStatusCode(kHttpStatusCode); 74 navigation_entry->SetHttpStatusCode(kHttpStatusCode);
75 std::vector<GURL> redirect_chain;
76 redirect_chain.push_back(kRedirectURL0);
77 redirect_chain.push_back(kRedirectURL1);
78 redirect_chain.push_back(kVirtualURL);
79 navigation_entry->SetRedirectChain(redirect_chain);
73 return navigation_entry.Pass(); 80 return navigation_entry.Pass();
74 } 81 }
75 82
76 // Create a sync_pb::TabNavigation from the constants above. 83 // Create a sync_pb::TabNavigation from the constants above.
77 sync_pb::TabNavigation MakeSyncDataForTest() { 84 sync_pb::TabNavigation MakeSyncDataForTest() {
78 sync_pb::TabNavigation sync_data; 85 sync_pb::TabNavigation sync_data;
79 sync_data.set_virtual_url(kVirtualURL.spec()); 86 sync_data.set_virtual_url(kVirtualURL.spec());
80 sync_data.set_referrer(kReferrer.url.spec()); 87 sync_data.set_referrer(kReferrer.url.spec());
81 sync_data.set_referrer_policy(blink::WebReferrerPolicyOrigin); 88 sync_data.set_referrer_policy(blink::WebReferrerPolicyOrigin);
82 sync_data.set_title(base::UTF16ToUTF8(kTitle)); 89 sync_data.set_title(base::UTF16ToUTF8(kTitle));
83 sync_data.set_state(kPageState.ToEncodedData()); 90 sync_data.set_state(kPageState.ToEncodedData());
84 sync_data.set_page_transition( 91 sync_data.set_page_transition(
85 sync_pb::SyncEnums_PageTransition_AUTO_SUBFRAME); 92 sync_pb::SyncEnums_PageTransition_AUTO_SUBFRAME);
86 sync_data.set_unique_id(kUniqueID); 93 sync_data.set_unique_id(kUniqueID);
87 sync_data.set_timestamp_msec(syncer::TimeToProtoTime(kTimestamp)); 94 sync_data.set_timestamp_msec(syncer::TimeToProtoTime(kTimestamp));
88 sync_data.set_redirect_type(sync_pb::SyncEnums::CLIENT_REDIRECT); 95 sync_data.set_redirect_type(sync_pb::SyncEnums::CLIENT_REDIRECT);
89 sync_data.set_navigation_home_page(true); 96 sync_data.set_navigation_home_page(true);
90 sync_data.set_search_terms(base::UTF16ToUTF8(kSearchTerms)); 97 sync_data.set_search_terms(base::UTF16ToUTF8(kSearchTerms));
91 sync_data.set_favicon_url(kFaviconURL.spec()); 98 sync_data.set_favicon_url(kFaviconURL.spec());
92 sync_data.set_http_status_code(kHttpStatusCode); 99 sync_data.set_http_status_code(kHttpStatusCode);
100 // The redirect chain only syncs one way.
93 return sync_data; 101 return sync_data;
94 } 102 }
95 103
96 // Create a default SerializedNavigationEntry. All its fields should be 104 // Create a default SerializedNavigationEntry. All its fields should be
97 // initialized to their respective default values. 105 // initialized to their respective default values.
98 TEST(SerializedNavigationEntryTest, DefaultInitializer) { 106 TEST(SerializedNavigationEntryTest, DefaultInitializer) {
99 const SerializedNavigationEntry navigation; 107 const SerializedNavigationEntry navigation;
100 EXPECT_EQ(-1, navigation.index()); 108 EXPECT_EQ(-1, navigation.index());
101 EXPECT_EQ(0, navigation.unique_id()); 109 EXPECT_EQ(0, navigation.unique_id());
102 EXPECT_EQ(GURL(), navigation.referrer().url); 110 EXPECT_EQ(GURL(), navigation.referrer().url);
103 EXPECT_EQ(blink::WebReferrerPolicyDefault, navigation.referrer().policy); 111 EXPECT_EQ(blink::WebReferrerPolicyDefault, navigation.referrer().policy);
104 EXPECT_EQ(GURL(), navigation.virtual_url()); 112 EXPECT_EQ(GURL(), navigation.virtual_url());
105 EXPECT_TRUE(navigation.title().empty()); 113 EXPECT_TRUE(navigation.title().empty());
106 EXPECT_FALSE(navigation.page_state().IsValid()); 114 EXPECT_FALSE(navigation.page_state().IsValid());
107 EXPECT_EQ(content::PAGE_TRANSITION_TYPED, navigation.transition_type()); 115 EXPECT_EQ(content::PAGE_TRANSITION_TYPED, navigation.transition_type());
108 EXPECT_FALSE(navigation.has_post_data()); 116 EXPECT_FALSE(navigation.has_post_data());
109 EXPECT_EQ(-1, navigation.post_id()); 117 EXPECT_EQ(-1, navigation.post_id());
110 EXPECT_EQ(GURL(), navigation.original_request_url()); 118 EXPECT_EQ(GURL(), navigation.original_request_url());
111 EXPECT_FALSE(navigation.is_overriding_user_agent()); 119 EXPECT_FALSE(navigation.is_overriding_user_agent());
112 EXPECT_TRUE(navigation.timestamp().is_null()); 120 EXPECT_TRUE(navigation.timestamp().is_null());
113 EXPECT_TRUE(navigation.search_terms().empty()); 121 EXPECT_TRUE(navigation.search_terms().empty());
114 EXPECT_FALSE(navigation.favicon_url().is_valid()); 122 EXPECT_FALSE(navigation.favicon_url().is_valid());
115 EXPECT_EQ(0, navigation.http_status_code()); 123 EXPECT_EQ(0, navigation.http_status_code());
124 EXPECT_EQ(0U, navigation.redirect_chain().size());
116 } 125 }
117 126
118 // Create a SerializedNavigationEntry from a NavigationEntry. All its fields 127 // Create a SerializedNavigationEntry from a NavigationEntry. All its fields
119 // should match the NavigationEntry's. 128 // should match the NavigationEntry's.
120 TEST(SerializedNavigationEntryTest, FromNavigationEntry) { 129 TEST(SerializedNavigationEntryTest, FromNavigationEntry) {
121 const scoped_ptr<content::NavigationEntry> navigation_entry( 130 const scoped_ptr<content::NavigationEntry> navigation_entry(
122 MakeNavigationEntryForTest()); 131 MakeNavigationEntryForTest());
123 132
124 const SerializedNavigationEntry& navigation = 133 const SerializedNavigationEntry& navigation =
125 SerializedNavigationEntry::FromNavigationEntry(kIndex, *navigation_entry); 134 SerializedNavigationEntry::FromNavigationEntry(kIndex, *navigation_entry);
126 135
127 EXPECT_EQ(kIndex, navigation.index()); 136 EXPECT_EQ(kIndex, navigation.index());
128 137
129 EXPECT_EQ(navigation_entry->GetUniqueID(), navigation.unique_id()); 138 EXPECT_EQ(navigation_entry->GetUniqueID(), navigation.unique_id());
130 EXPECT_EQ(kReferrer.url, navigation.referrer().url); 139 EXPECT_EQ(kReferrer.url, navigation.referrer().url);
131 EXPECT_EQ(kReferrer.policy, navigation.referrer().policy); 140 EXPECT_EQ(kReferrer.policy, navigation.referrer().policy);
132 EXPECT_EQ(kVirtualURL, navigation.virtual_url()); 141 EXPECT_EQ(kVirtualURL, navigation.virtual_url());
133 EXPECT_EQ(kTitle, navigation.title()); 142 EXPECT_EQ(kTitle, navigation.title());
134 EXPECT_EQ(kPageState, navigation.page_state()); 143 EXPECT_EQ(kPageState, navigation.page_state());
135 EXPECT_EQ(kTransitionType, navigation.transition_type()); 144 EXPECT_EQ(kTransitionType, navigation.transition_type());
136 EXPECT_EQ(kHasPostData, navigation.has_post_data()); 145 EXPECT_EQ(kHasPostData, navigation.has_post_data());
137 EXPECT_EQ(kPostID, navigation.post_id()); 146 EXPECT_EQ(kPostID, navigation.post_id());
138 EXPECT_EQ(kOriginalRequestURL, navigation.original_request_url()); 147 EXPECT_EQ(kOriginalRequestURL, navigation.original_request_url());
139 EXPECT_EQ(kIsOverridingUserAgent, navigation.is_overriding_user_agent()); 148 EXPECT_EQ(kIsOverridingUserAgent, navigation.is_overriding_user_agent());
140 EXPECT_EQ(kTimestamp, navigation.timestamp()); 149 EXPECT_EQ(kTimestamp, navigation.timestamp());
141 EXPECT_EQ(kFaviconURL, navigation.favicon_url()); 150 EXPECT_EQ(kFaviconURL, navigation.favicon_url());
142 EXPECT_EQ(kHttpStatusCode, navigation.http_status_code()); 151 EXPECT_EQ(kHttpStatusCode, navigation.http_status_code());
152 EXPECT_EQ(3U, navigation.redirect_chain().size());
153 EXPECT_EQ(kRedirectURL0, navigation.redirect_chain().at(0));
154 EXPECT_EQ(kRedirectURL1, navigation.redirect_chain().at(1));
155 EXPECT_EQ(kVirtualURL, navigation.redirect_chain().at(2));
143 } 156 }
144 157
145 // Create a SerializedNavigationEntry from a sync_pb::TabNavigation. All its 158 // Create a SerializedNavigationEntry from a sync_pb::TabNavigation. All its
146 // fields should match the protocol buffer's if it exists there, and 159 // fields should match the protocol buffer's if it exists there, and
147 // sbould be set to the default value otherwise. 160 // sbould be set to the default value otherwise.
148 TEST(SerializedNavigationEntryTest, FromSyncData) { 161 TEST(SerializedNavigationEntryTest, FromSyncData) {
149 const sync_pb::TabNavigation sync_data = MakeSyncDataForTest(); 162 const sync_pb::TabNavigation sync_data = MakeSyncDataForTest();
150 163
151 const SerializedNavigationEntry& navigation = 164 const SerializedNavigationEntry& navigation =
152 SerializedNavigationEntry::FromSyncData(kIndex, sync_data); 165 SerializedNavigationEntry::FromSyncData(kIndex, sync_data);
153 166
154 EXPECT_EQ(kIndex, navigation.index()); 167 EXPECT_EQ(kIndex, navigation.index());
155 EXPECT_EQ(kUniqueID, navigation.unique_id()); 168 EXPECT_EQ(kUniqueID, navigation.unique_id());
156 EXPECT_EQ(kReferrer.url, navigation.referrer().url); 169 EXPECT_EQ(kReferrer.url, navigation.referrer().url);
157 EXPECT_EQ(blink::WebReferrerPolicyOrigin, navigation.referrer().policy); 170 EXPECT_EQ(blink::WebReferrerPolicyOrigin, navigation.referrer().policy);
158 EXPECT_EQ(kVirtualURL, navigation.virtual_url()); 171 EXPECT_EQ(kVirtualURL, navigation.virtual_url());
159 EXPECT_EQ(kTitle, navigation.title()); 172 EXPECT_EQ(kTitle, navigation.title());
160 EXPECT_EQ(kPageState, navigation.page_state()); 173 EXPECT_EQ(kPageState, navigation.page_state());
161 EXPECT_EQ(kTransitionType, navigation.transition_type()); 174 EXPECT_EQ(kTransitionType, navigation.transition_type());
162 EXPECT_FALSE(navigation.has_post_data()); 175 EXPECT_FALSE(navigation.has_post_data());
163 EXPECT_EQ(-1, navigation.post_id()); 176 EXPECT_EQ(-1, navigation.post_id());
164 EXPECT_EQ(GURL(), navigation.original_request_url()); 177 EXPECT_EQ(GURL(), navigation.original_request_url());
165 EXPECT_FALSE(navigation.is_overriding_user_agent()); 178 EXPECT_FALSE(navigation.is_overriding_user_agent());
166 EXPECT_TRUE(navigation.timestamp().is_null()); 179 EXPECT_TRUE(navigation.timestamp().is_null());
167 EXPECT_EQ(kSearchTerms, navigation.search_terms()); 180 EXPECT_EQ(kSearchTerms, navigation.search_terms());
168 EXPECT_EQ(kFaviconURL, navigation.favicon_url()); 181 EXPECT_EQ(kFaviconURL, navigation.favicon_url());
169 EXPECT_EQ(kHttpStatusCode, navigation.http_status_code()); 182 EXPECT_EQ(kHttpStatusCode, navigation.http_status_code());
183 // The redirect chain only syncs one way.
170 } 184 }
171 185
172 // Create a SerializedNavigationEntry, pickle it, then create another one by 186 // Create a SerializedNavigationEntry, pickle it, then create another one by
173 // unpickling. The new one should match the old one except for fields 187 // unpickling. The new one should match the old one except for fields
174 // that aren't pickled, which should be set to default values. 188 // that aren't pickled, which should be set to default values.
175 TEST(SerializedNavigationEntryTest, Pickle) { 189 TEST(SerializedNavigationEntryTest, Pickle) {
176 const SerializedNavigationEntry& old_navigation = 190 const SerializedNavigationEntry& old_navigation =
177 SerializedNavigationEntry::FromNavigationEntry( 191 SerializedNavigationEntry::FromNavigationEntry(
178 kIndex, *MakeNavigationEntryForTest()); 192 kIndex, *MakeNavigationEntryForTest());
179 193
(...skipping 13 matching lines...) Expand all
193 EXPECT_EQ(kTitle, new_navigation.title()); 207 EXPECT_EQ(kTitle, new_navigation.title());
194 EXPECT_FALSE(new_navigation.page_state().IsValid()); 208 EXPECT_FALSE(new_navigation.page_state().IsValid());
195 EXPECT_EQ(kTransitionType, new_navigation.transition_type()); 209 EXPECT_EQ(kTransitionType, new_navigation.transition_type());
196 EXPECT_EQ(kHasPostData, new_navigation.has_post_data()); 210 EXPECT_EQ(kHasPostData, new_navigation.has_post_data());
197 EXPECT_EQ(-1, new_navigation.post_id()); 211 EXPECT_EQ(-1, new_navigation.post_id());
198 EXPECT_EQ(kOriginalRequestURL, new_navigation.original_request_url()); 212 EXPECT_EQ(kOriginalRequestURL, new_navigation.original_request_url());
199 EXPECT_EQ(kIsOverridingUserAgent, new_navigation.is_overriding_user_agent()); 213 EXPECT_EQ(kIsOverridingUserAgent, new_navigation.is_overriding_user_agent());
200 EXPECT_EQ(kTimestamp, new_navigation.timestamp()); 214 EXPECT_EQ(kTimestamp, new_navigation.timestamp());
201 EXPECT_EQ(kSearchTerms, new_navigation.search_terms()); 215 EXPECT_EQ(kSearchTerms, new_navigation.search_terms());
202 EXPECT_EQ(kHttpStatusCode, new_navigation.http_status_code()); 216 EXPECT_EQ(kHttpStatusCode, new_navigation.http_status_code());
217 EXPECT_EQ(3U, new_navigation.redirect_chain().size());
218 EXPECT_EQ(kRedirectURL0, new_navigation.redirect_chain().at(0));
219 EXPECT_EQ(kRedirectURL1, new_navigation.redirect_chain().at(1));
220 EXPECT_EQ(kVirtualURL, new_navigation.redirect_chain().at(2));
221
203 } 222 }
204 223
205 // Create a NavigationEntry, then create another one by converting to 224 // Create a NavigationEntry, then create another one by converting to
206 // a SerializedNavigationEntry and back. The new one should match the old one 225 // a SerializedNavigationEntry and back. The new one should match the old one
207 // except for fields that aren't preserved, which should be set to 226 // except for fields that aren't preserved, which should be set to
208 // expected values. 227 // expected values.
209 TEST(SerializedNavigationEntryTest, ToNavigationEntry) { 228 TEST(SerializedNavigationEntryTest, ToNavigationEntry) {
210 const scoped_ptr<content::NavigationEntry> old_navigation_entry( 229 const scoped_ptr<content::NavigationEntry> old_navigation_entry(
211 MakeNavigationEntryForTest()); 230 MakeNavigationEntryForTest());
212 231
(...skipping 15 matching lines...) Expand all
228 EXPECT_EQ(kHasPostData, new_navigation_entry->GetHasPostData()); 247 EXPECT_EQ(kHasPostData, new_navigation_entry->GetHasPostData());
229 EXPECT_EQ(kPostID, new_navigation_entry->GetPostID()); 248 EXPECT_EQ(kPostID, new_navigation_entry->GetPostID());
230 EXPECT_EQ(kOriginalRequestURL, 249 EXPECT_EQ(kOriginalRequestURL,
231 new_navigation_entry->GetOriginalRequestURL()); 250 new_navigation_entry->GetOriginalRequestURL());
232 EXPECT_EQ(kIsOverridingUserAgent, 251 EXPECT_EQ(kIsOverridingUserAgent,
233 new_navigation_entry->GetIsOverridingUserAgent()); 252 new_navigation_entry->GetIsOverridingUserAgent());
234 base::string16 search_terms; 253 base::string16 search_terms;
235 new_navigation_entry->GetExtraData(kSearchTermsKey, &search_terms); 254 new_navigation_entry->GetExtraData(kSearchTermsKey, &search_terms);
236 EXPECT_EQ(kSearchTerms, search_terms); 255 EXPECT_EQ(kSearchTerms, search_terms);
237 EXPECT_EQ(kHttpStatusCode, new_navigation_entry->GetHttpStatusCode()); 256 EXPECT_EQ(kHttpStatusCode, new_navigation_entry->GetHttpStatusCode());
257 EXPECT_EQ(3U, new_navigation_entry->GetRedirectChain().size());
258 EXPECT_EQ(kRedirectURL0, new_navigation_entry->GetRedirectChain().at(0));
259 EXPECT_EQ(kRedirectURL1, new_navigation_entry->GetRedirectChain().at(1));
260 EXPECT_EQ(kVirtualURL, new_navigation_entry->GetRedirectChain().at(2));
261
238 } 262 }
239 263
240 // Create a NavigationEntry, convert it to a SerializedNavigationEntry, then 264 // Create a NavigationEntry, convert it to a SerializedNavigationEntry, then
241 // create a sync protocol buffer from it. The protocol buffer should 265 // create a sync protocol buffer from it. The protocol buffer should
242 // have matching fields to the NavigationEntry (when applicable). 266 // have matching fields to the NavigationEntry (when applicable).
243 TEST(SerializedNavigationEntryTest, ToSyncData) { 267 TEST(SerializedNavigationEntryTest, ToSyncData) {
244 const scoped_ptr<content::NavigationEntry> navigation_entry( 268 const scoped_ptr<content::NavigationEntry> navigation_entry(
245 MakeNavigationEntryForTest()); 269 MakeNavigationEntryForTest());
246 270
247 const SerializedNavigationEntry& navigation = 271 const SerializedNavigationEntry& navigation =
248 SerializedNavigationEntry::FromNavigationEntry(kIndex, *navigation_entry); 272 SerializedNavigationEntry::FromNavigationEntry(kIndex, *navigation_entry);
249 273
250 const sync_pb::TabNavigation sync_data = navigation.ToSyncData(); 274 const sync_pb::TabNavigation sync_data = navigation.ToSyncData();
251 275
252 EXPECT_EQ(kVirtualURL.spec(), sync_data.virtual_url()); 276 EXPECT_EQ(kVirtualURL.spec(), sync_data.virtual_url());
253 EXPECT_EQ(kReferrer.url.spec(), sync_data.referrer()); 277 EXPECT_EQ(kReferrer.url.spec(), sync_data.referrer());
254 EXPECT_EQ(kTitle, base::ASCIIToUTF16(sync_data.title())); 278 EXPECT_EQ(kTitle, base::ASCIIToUTF16(sync_data.title()));
255 EXPECT_TRUE(sync_data.state().empty()); 279 EXPECT_TRUE(sync_data.state().empty());
256 EXPECT_EQ(sync_pb::SyncEnums_PageTransition_AUTO_SUBFRAME, 280 EXPECT_EQ(sync_pb::SyncEnums_PageTransition_AUTO_SUBFRAME,
257 sync_data.page_transition()); 281 sync_data.page_transition());
258 EXPECT_TRUE(sync_data.has_redirect_type()); 282 EXPECT_TRUE(sync_data.has_redirect_type());
259 EXPECT_EQ(navigation_entry->GetUniqueID(), sync_data.unique_id()); 283 EXPECT_EQ(navigation_entry->GetUniqueID(), sync_data.unique_id());
260 EXPECT_EQ(syncer::TimeToProtoTime(kTimestamp), sync_data.timestamp_msec()); 284 EXPECT_EQ(syncer::TimeToProtoTime(kTimestamp), sync_data.timestamp_msec());
261 EXPECT_EQ(kTimestamp.ToInternalValue(), sync_data.global_id()); 285 EXPECT_EQ(kTimestamp.ToInternalValue(), sync_data.global_id());
262 EXPECT_EQ(kFaviconURL.spec(), sync_data.favicon_url()); 286 EXPECT_EQ(kFaviconURL.spec(), sync_data.favicon_url());
263 EXPECT_EQ(kHttpStatusCode, sync_data.http_status_code()); 287 EXPECT_EQ(kHttpStatusCode, sync_data.http_status_code());
288 // The proto navigation redirects don't include the final chain entry
289 // (because it didn't redirect) so the lengths should differ by 1.
290 EXPECT_EQ(3, sync_data.navigation_redirect_size() + 1);
291 EXPECT_EQ(navigation_entry->GetRedirectChain().at(0).spec(),
292 sync_data.navigation_redirect(0).url());
293 EXPECT_EQ(navigation_entry->GetRedirectChain().at(1).spec(),
294 sync_data.navigation_redirect(1).url());
264 } 295 }
265 296
266 // Ensure all transition types and qualifiers are converted to/from the sync 297 // Ensure all transition types and qualifiers are converted to/from the sync
267 // SerializedNavigationEntry representation properly. 298 // SerializedNavigationEntry representation properly.
268 TEST(SerializedNavigationEntryTest, TransitionTypes) { 299 TEST(SerializedNavigationEntryTest, TransitionTypes) {
269 scoped_ptr<content::NavigationEntry> navigation_entry( 300 scoped_ptr<content::NavigationEntry> navigation_entry(
270 MakeNavigationEntryForTest()); 301 MakeNavigationEntryForTest());
271 for (uint32 core_type = content::PAGE_TRANSITION_LINK; 302 for (uint32 core_type = content::PAGE_TRANSITION_LINK;
272 core_type != content::PAGE_TRANSITION_LAST_CORE; ++core_type) { 303 core_type != content::PAGE_TRANSITION_LAST_CORE; ++core_type) {
273 // Because qualifier is a uint32, left shifting will eventually overflow 304 // Because qualifier is a uint32, left shifting will eventually overflow
(...skipping 17 matching lines...) Expand all
291 const content::PageTransition constructed_transition = 322 const content::PageTransition constructed_transition =
292 constructed_nav.transition_type(); 323 constructed_nav.transition_type();
293 324
294 EXPECT_EQ(transition, constructed_transition); 325 EXPECT_EQ(transition, constructed_transition);
295 } 326 }
296 } 327 }
297 } 328 }
298 329
299 } // namespace 330 } // namespace
300 } // namespace sessions 331 } // namespace sessions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698