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

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

Issue 562603002: Move PageTransition from //content/public/common to //ui/base (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 6 years, 3 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"
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_transition_types.h"
20 #include "content/public/common/referrer.h" 19 #include "content/public/common/referrer.h"
21 #include "sync/protocol/session_specifics.pb.h" 20 #include "sync/protocol/session_specifics.pb.h"
22 #include "sync/util/time.h" 21 #include "sync/util/time.h"
23 #include "testing/gtest/include/gtest/gtest.h" 22 #include "testing/gtest/include/gtest/gtest.h"
24 #include "third_party/WebKit/public/platform/WebReferrerPolicy.h" 23 #include "third_party/WebKit/public/platform/WebReferrerPolicy.h"
24 #include "ui/base/page_transition_types.h"
25 #include "url/gurl.h" 25 #include "url/gurl.h"
26 26
27 namespace sessions { 27 namespace sessions {
28 namespace { 28 namespace {
29 29
30 const int kIndex = 3; 30 const int kIndex = 3;
31 const int kUniqueID = 50; 31 const int kUniqueID = 50;
32 const content::Referrer kReferrer = 32 const content::Referrer kReferrer =
33 content::Referrer(GURL("http://www.referrer.com"), 33 content::Referrer(GURL("http://www.referrer.com"),
34 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 content::PageState kPageState =
38 content::PageState::CreateFromEncodedData("page state"); 38 content::PageState::CreateFromEncodedData("page state");
39 const content::PageTransition kTransitionType = 39 const ui::PageTransition kTransitionType =
40 static_cast<content::PageTransition>( 40 ui::PageTransitionFromInt(
41 content::PAGE_TRANSITION_AUTO_SUBFRAME | 41 ui::PAGE_TRANSITION_AUTO_SUBFRAME |
42 content::PAGE_TRANSITION_HOME_PAGE | 42 ui::PAGE_TRANSITION_HOME_PAGE |
43 content::PAGE_TRANSITION_CLIENT_REDIRECT); 43 ui::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"); 52 const GURL kRedirectURL0("http://go/redirect0");
53 const GURL kRedirectURL1("http://go/redirect1"); 53 const GURL kRedirectURL1("http://go/redirect1");
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
106 // initialized to their respective default values. 106 // initialized to their respective default values.
107 TEST(SerializedNavigationEntryTest, DefaultInitializer) { 107 TEST(SerializedNavigationEntryTest, DefaultInitializer) {
108 const SerializedNavigationEntry navigation; 108 const SerializedNavigationEntry navigation;
109 EXPECT_EQ(-1, navigation.index()); 109 EXPECT_EQ(-1, navigation.index());
110 EXPECT_EQ(0, navigation.unique_id()); 110 EXPECT_EQ(0, navigation.unique_id());
111 EXPECT_EQ(GURL(), navigation.referrer().url); 111 EXPECT_EQ(GURL(), navigation.referrer().url);
112 EXPECT_EQ(blink::WebReferrerPolicyDefault, navigation.referrer().policy); 112 EXPECT_EQ(blink::WebReferrerPolicyDefault, navigation.referrer().policy);
113 EXPECT_EQ(GURL(), navigation.virtual_url()); 113 EXPECT_EQ(GURL(), navigation.virtual_url());
114 EXPECT_TRUE(navigation.title().empty()); 114 EXPECT_TRUE(navigation.title().empty());
115 EXPECT_FALSE(navigation.page_state().IsValid()); 115 EXPECT_FALSE(navigation.page_state().IsValid());
116 EXPECT_EQ(content::PAGE_TRANSITION_TYPED, navigation.transition_type()); 116 EXPECT_EQ(ui::PAGE_TRANSITION_TYPED, navigation.transition_type());
117 EXPECT_FALSE(navigation.has_post_data()); 117 EXPECT_FALSE(navigation.has_post_data());
118 EXPECT_EQ(-1, navigation.post_id()); 118 EXPECT_EQ(-1, navigation.post_id());
119 EXPECT_EQ(GURL(), navigation.original_request_url()); 119 EXPECT_EQ(GURL(), navigation.original_request_url());
120 EXPECT_FALSE(navigation.is_overriding_user_agent()); 120 EXPECT_FALSE(navigation.is_overriding_user_agent());
121 EXPECT_TRUE(navigation.timestamp().is_null()); 121 EXPECT_TRUE(navigation.timestamp().is_null());
122 EXPECT_TRUE(navigation.search_terms().empty()); 122 EXPECT_TRUE(navigation.search_terms().empty());
123 EXPECT_FALSE(navigation.favicon_url().is_valid()); 123 EXPECT_FALSE(navigation.favicon_url().is_valid());
124 EXPECT_EQ(0, navigation.http_status_code()); 124 EXPECT_EQ(0, navigation.http_status_code());
125 EXPECT_EQ(0U, navigation.redirect_chain().size()); 125 EXPECT_EQ(0U, navigation.redirect_chain().size());
126 } 126 }
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
232 232
233 const scoped_ptr<content::NavigationEntry> new_navigation_entry( 233 const scoped_ptr<content::NavigationEntry> new_navigation_entry(
234 navigation.ToNavigationEntry(kPageID, NULL)); 234 navigation.ToNavigationEntry(kPageID, NULL));
235 235
236 EXPECT_EQ(kReferrer.url, new_navigation_entry->GetReferrer().url); 236 EXPECT_EQ(kReferrer.url, new_navigation_entry->GetReferrer().url);
237 EXPECT_EQ(kReferrer.policy, new_navigation_entry->GetReferrer().policy); 237 EXPECT_EQ(kReferrer.policy, new_navigation_entry->GetReferrer().policy);
238 EXPECT_EQ(kVirtualURL, new_navigation_entry->GetVirtualURL()); 238 EXPECT_EQ(kVirtualURL, new_navigation_entry->GetVirtualURL());
239 EXPECT_EQ(kTitle, new_navigation_entry->GetTitle()); 239 EXPECT_EQ(kTitle, new_navigation_entry->GetTitle());
240 EXPECT_EQ(kPageState, new_navigation_entry->GetPageState()); 240 EXPECT_EQ(kPageState, new_navigation_entry->GetPageState());
241 EXPECT_EQ(kPageID, new_navigation_entry->GetPageID()); 241 EXPECT_EQ(kPageID, new_navigation_entry->GetPageID());
242 EXPECT_EQ(content::PAGE_TRANSITION_RELOAD, 242 EXPECT_EQ(ui::PAGE_TRANSITION_RELOAD,
243 new_navigation_entry->GetTransitionType()); 243 new_navigation_entry->GetTransitionType());
244 EXPECT_EQ(kHasPostData, new_navigation_entry->GetHasPostData()); 244 EXPECT_EQ(kHasPostData, new_navigation_entry->GetHasPostData());
245 EXPECT_EQ(kPostID, new_navigation_entry->GetPostID()); 245 EXPECT_EQ(kPostID, new_navigation_entry->GetPostID());
246 EXPECT_EQ(kOriginalRequestURL, 246 EXPECT_EQ(kOriginalRequestURL,
247 new_navigation_entry->GetOriginalRequestURL()); 247 new_navigation_entry->GetOriginalRequestURL());
248 EXPECT_EQ(kIsOverridingUserAgent, 248 EXPECT_EQ(kIsOverridingUserAgent,
249 new_navigation_entry->GetIsOverridingUserAgent()); 249 new_navigation_entry->GetIsOverridingUserAgent());
250 base::string16 search_terms; 250 base::string16 search_terms;
251 new_navigation_entry->GetExtraData(kSearchTermsKey, &search_terms); 251 new_navigation_entry->GetExtraData(kSearchTermsKey, &search_terms);
252 EXPECT_EQ(kSearchTerms, search_terms); 252 EXPECT_EQ(kSearchTerms, search_terms);
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
316 sync_data.navigation_redirect(0).url()); 316 sync_data.navigation_redirect(0).url());
317 EXPECT_EQ(navigation_entry->GetRedirectChain()[1].spec(), 317 EXPECT_EQ(navigation_entry->GetRedirectChain()[1].spec(),
318 sync_data.navigation_redirect(1).url()); 318 sync_data.navigation_redirect(1).url());
319 } 319 }
320 320
321 // Ensure all transition types and qualifiers are converted to/from the sync 321 // Ensure all transition types and qualifiers are converted to/from the sync
322 // SerializedNavigationEntry representation properly. 322 // SerializedNavigationEntry representation properly.
323 TEST(SerializedNavigationEntryTest, TransitionTypes) { 323 TEST(SerializedNavigationEntryTest, TransitionTypes) {
324 scoped_ptr<content::NavigationEntry> navigation_entry( 324 scoped_ptr<content::NavigationEntry> navigation_entry(
325 MakeNavigationEntryForTest()); 325 MakeNavigationEntryForTest());
326 for (uint32 core_type = content::PAGE_TRANSITION_LINK; 326 for (uint32 core_type = ui::PAGE_TRANSITION_LINK;
327 core_type != content::PAGE_TRANSITION_LAST_CORE; ++core_type) { 327 core_type != ui::PAGE_TRANSITION_LAST_CORE; ++core_type) {
328 // Because qualifier is a uint32, left shifting will eventually overflow 328 // Because qualifier is a uint32, left shifting will eventually overflow
329 // and hit zero again. SERVER_REDIRECT, as the last qualifier and also 329 // and hit zero again. SERVER_REDIRECT, as the last qualifier and also
330 // in place of the sign bit, is therefore the last transition before 330 // in place of the sign bit, is therefore the last transition before
331 // breaking. 331 // breaking.
332 for (uint32 qualifier = content::PAGE_TRANSITION_FORWARD_BACK; 332 for (uint32 qualifier = ui::PAGE_TRANSITION_FORWARD_BACK;
333 qualifier != 0; qualifier <<= 1) { 333 qualifier != 0; qualifier <<= 1) {
334 if (qualifier == 0x08000000) 334 if (qualifier == 0x08000000)
335 continue; // 0x08000000 is not a valid qualifier. 335 continue; // 0x08000000 is not a valid qualifier.
336 content::PageTransition transition = 336 ui::PageTransition transition =
337 static_cast<content::PageTransition>(core_type | qualifier); 337 ui::PageTransitionFromInt(core_type | qualifier);
338 338
339 navigation_entry->SetTransitionType(transition); 339 navigation_entry->SetTransitionType(transition);
340 const SerializedNavigationEntry& navigation = 340 const SerializedNavigationEntry& navigation =
341 SerializedNavigationEntry::FromNavigationEntry(kIndex, 341 SerializedNavigationEntry::FromNavigationEntry(kIndex,
342 *navigation_entry); 342 *navigation_entry);
343 const sync_pb::TabNavigation& sync_data = navigation.ToSyncData(); 343 const sync_pb::TabNavigation& sync_data = navigation.ToSyncData();
344 const SerializedNavigationEntry& constructed_nav = 344 const SerializedNavigationEntry& constructed_nav =
345 SerializedNavigationEntry::FromSyncData(kIndex, sync_data); 345 SerializedNavigationEntry::FromSyncData(kIndex, sync_data);
346 const content::PageTransition constructed_transition = 346 const ui::PageTransition constructed_transition =
347 constructed_nav.transition_type(); 347 constructed_nav.transition_type();
348 348
349 EXPECT_EQ(transition, constructed_transition); 349 EXPECT_EQ(transition, constructed_transition);
350 } 350 }
351 } 351 }
352 } 352 }
353 353
354 // Tests that the input data is sanitized when a SerializedNavigationEntry 354 // Tests that the input data is sanitized when a SerializedNavigationEntry
355 // is created from a pickle format. 355 // is created from a pickle format.
356 TEST(SerializedNavigationEntryTest, Sanitize) { 356 TEST(SerializedNavigationEntryTest, Sanitize) {
(...skipping 23 matching lines...) Expand all
380 EXPECT_EQ(kSearchTerms, navigation.search_terms()); 380 EXPECT_EQ(kSearchTerms, navigation.search_terms());
381 EXPECT_EQ(kFaviconURL, navigation.favicon_url()); 381 EXPECT_EQ(kFaviconURL, navigation.favicon_url());
382 EXPECT_EQ(kHttpStatusCode, navigation.http_status_code()); 382 EXPECT_EQ(kHttpStatusCode, navigation.http_status_code());
383 383
384 content::PageState empty_state; 384 content::PageState empty_state;
385 EXPECT_TRUE(empty_state.Equals(empty_state.RemoveReferrer())); 385 EXPECT_TRUE(empty_state.Equals(empty_state.RemoveReferrer()));
386 } 386 }
387 387
388 } // namespace 388 } // namespace
389 } // namespace sessions 389 } // namespace sessions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698