1c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// Copyright (c) 2013 The Chromium Authors. All rights reserved. 2c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 3c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// found in the LICENSE file. 4c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 5c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "components/sessions/serialized_navigation_entry_test_helper.h" 6c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 7868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "base/strings/utf_string_conversions.h" 8eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#include "base/time/time.h" 9c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "components/sessions/serialized_navigation_entry.h" 10c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "testing/gtest/include/gtest/gtest.h" 11868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "third_party/WebKit/public/platform/WebReferrerPolicy.h" 127dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#include "url/gurl.h" 13c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 14c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)namespace sessions { 15c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 16c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// static 17c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)void SerializedNavigationEntryTestHelper::ExpectNavigationEquals( 18c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) const SerializedNavigationEntry& expected, 19c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) const SerializedNavigationEntry& actual) { 20c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) EXPECT_EQ(expected.referrer_.url, actual.referrer_.url); 21c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) EXPECT_EQ(expected.referrer_.policy, actual.referrer_.policy); 22c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) EXPECT_EQ(expected.virtual_url_, actual.virtual_url_); 23c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) EXPECT_EQ(expected.title_, actual.title_); 2490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) EXPECT_EQ(expected.page_state_, actual.page_state_); 25c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) EXPECT_EQ(expected.transition_type_, actual.transition_type_); 26c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) EXPECT_EQ(expected.has_post_data_, actual.has_post_data_); 27c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) EXPECT_EQ(expected.original_request_url_, actual.original_request_url_); 28c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) EXPECT_EQ(expected.is_overriding_user_agent_, 29c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) actual.is_overriding_user_agent_); 30c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)} 31c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 32c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// static 33c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)SerializedNavigationEntry SerializedNavigationEntryTestHelper::CreateNavigation( 34c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) const std::string& virtual_url, 35c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) const std::string& title) { 36c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) SerializedNavigationEntry navigation; 37c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) navigation.index_ = 0; 38c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) navigation.referrer_ = 39c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) content::Referrer(GURL("http://www.referrer.com"), 40c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) WebKit::WebReferrerPolicyDefault); 41c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) navigation.virtual_url_ = GURL(virtual_url); 42c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) navigation.title_ = UTF8ToUTF16(title); 4390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) navigation.page_state_ = 4490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) content::PageState::CreateFromEncodedData("fake_state"); 45c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) navigation.timestamp_ = base::Time::Now(); 46c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) return navigation; 47c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)} 48c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 49c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// static 5090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)void SerializedNavigationEntryTestHelper::SetPageState( 5190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) const content::PageState& page_state, 52c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) SerializedNavigationEntry* navigation) { 5390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) navigation->page_state_ = page_state; 54c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)} 55c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 56c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// static 57c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)void SerializedNavigationEntryTestHelper::SetHasPostData( 58c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) bool has_post_data, 59c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) SerializedNavigationEntry* navigation) { 60c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) navigation->has_post_data_ = has_post_data; 61c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)} 62c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 63c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// static 64c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)void SerializedNavigationEntryTestHelper::SetOriginalRequestURL( 65c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) const GURL& original_request_url, 66c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) SerializedNavigationEntry* navigation) { 67c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) navigation->original_request_url_ = original_request_url; 68c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)} 69c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 70c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// static 71c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)void SerializedNavigationEntryTestHelper::SetIsOverridingUserAgent( 72c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) bool is_overriding_user_agent, 73c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) SerializedNavigationEntry* navigation) { 74c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) navigation->is_overriding_user_agent_ = is_overriding_user_agent; 75c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)} 76c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 77c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// static 78c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)void SerializedNavigationEntryTestHelper::SetTimestamp( 79c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) base::Time timestamp, 80c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) SerializedNavigationEntry* navigation) { 81c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) navigation->timestamp_ = timestamp; 82c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)} 83c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 84c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)} // namespace sessions 85