| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 "base/string16.h" | 5 #include "base/string16.h" |
| 6 #include "base/string_util.h" | 6 #include "base/string_util.h" |
| 7 #include "base/utf_string_conversions.h" | 7 #include "base/utf_string_conversions.h" |
| 8 #include "content/browser/site_instance.h" | 8 #include "content/browser/site_instance.h" |
| 9 #include "content/browser/tab_contents/navigation_entry.h" | 9 #include "content/browser/tab_contents/navigation_entry_impl.h" |
| 10 #include "content/public/browser/ssl_status.h" | 10 #include "content/public/browser/ssl_status.h" |
| 11 #include "testing/gtest/include/gtest/gtest.h" | 11 #include "testing/gtest/include/gtest/gtest.h" |
| 12 | 12 |
| 13 using content::SSLStatus; | 13 namespace content { |
| 14 | 14 |
| 15 class NavigationEntryTest : public testing::Test { | 15 class NavigationEntryTest : public testing::Test { |
| 16 public: | 16 public: |
| 17 NavigationEntryTest() : instance_(NULL) { | 17 NavigationEntryTest() : instance_(NULL) { |
| 18 } | 18 } |
| 19 | 19 |
| 20 virtual void SetUp() { | 20 virtual void SetUp() { |
| 21 entry1_.reset(new NavigationEntry); | 21 entry1_.reset(new NavigationEntryImpl); |
| 22 | 22 |
| 23 instance_ = SiteInstance::CreateSiteInstance(NULL); | 23 instance_ = SiteInstance::CreateSiteInstance(NULL); |
| 24 entry2_.reset(new NavigationEntry( | 24 entry2_.reset(new NavigationEntryImpl( |
| 25 instance_, 3, | 25 instance_, 3, |
| 26 GURL("test:url"), | 26 GURL("test:url"), |
| 27 content::Referrer(GURL("from"), WebKit::WebReferrerPolicyDefault), | 27 Referrer(GURL("from"), WebKit::WebReferrerPolicyDefault), |
| 28 ASCIIToUTF16("title"), | 28 ASCIIToUTF16("title"), |
| 29 content::PAGE_TRANSITION_TYPED, | 29 PAGE_TRANSITION_TYPED, |
| 30 false)); | 30 false)); |
| 31 } | 31 } |
| 32 | 32 |
| 33 virtual void TearDown() { | 33 virtual void TearDown() { |
| 34 } | 34 } |
| 35 | 35 |
| 36 protected: | 36 protected: |
| 37 scoped_ptr<NavigationEntry> entry1_; | 37 scoped_ptr<NavigationEntryImpl> entry1_; |
| 38 scoped_ptr<NavigationEntry> entry2_; | 38 scoped_ptr<NavigationEntryImpl> entry2_; |
| 39 // SiteInstances are deleted when their NavigationEntries are gone. | 39 // SiteInstances are deleted when their NavigationEntries are gone. |
| 40 SiteInstance* instance_; | 40 SiteInstance* instance_; |
| 41 }; | 41 }; |
| 42 | 42 |
| 43 // Test unique ID accessors | 43 // Test unique ID accessors |
| 44 TEST_F(NavigationEntryTest, NavigationEntryUniqueIDs) { | 44 TEST_F(NavigationEntryTest, NavigationEntryUniqueIDs) { |
| 45 // Two entries should have different IDs by default | 45 // Two entries should have different IDs by default |
| 46 EXPECT_NE(entry1_.get()->GetUniqueID(), entry2_.get()->GetUniqueID()); | 46 EXPECT_NE(entry1_.get()->GetUniqueID(), entry2_.get()->GetUniqueID()); |
| 47 | 47 |
| 48 // Can set an entry to have the same ID as another | 48 // Can set an entry to have the same ID as another |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 94 | 94 |
| 95 // Test Favicon inner class construction. | 95 // Test Favicon inner class construction. |
| 96 TEST_F(NavigationEntryTest, NavigationEntryFavicons) { | 96 TEST_F(NavigationEntryTest, NavigationEntryFavicons) { |
| 97 EXPECT_EQ(GURL(), entry1_.get()->GetFavicon().url); | 97 EXPECT_EQ(GURL(), entry1_.get()->GetFavicon().url); |
| 98 EXPECT_FALSE(entry1_.get()->GetFavicon().valid); | 98 EXPECT_FALSE(entry1_.get()->GetFavicon().valid); |
| 99 } | 99 } |
| 100 | 100 |
| 101 // Test SSLStatus inner class | 101 // Test SSLStatus inner class |
| 102 TEST_F(NavigationEntryTest, NavigationEntrySSLStatus) { | 102 TEST_F(NavigationEntryTest, NavigationEntrySSLStatus) { |
| 103 // Default (unknown) | 103 // Default (unknown) |
| 104 EXPECT_EQ(content::SECURITY_STYLE_UNKNOWN, | 104 EXPECT_EQ(SECURITY_STYLE_UNKNOWN, entry1_.get()->GetSSL().security_style); |
| 105 entry1_.get()->GetSSL().security_style); | 105 EXPECT_EQ(SECURITY_STYLE_UNKNOWN, entry2_.get()->GetSSL().security_style); |
| 106 EXPECT_EQ(content::SECURITY_STYLE_UNKNOWN, | |
| 107 entry2_.get()->GetSSL().security_style); | |
| 108 EXPECT_EQ(0, entry1_.get()->GetSSL().cert_id); | 106 EXPECT_EQ(0, entry1_.get()->GetSSL().cert_id); |
| 109 EXPECT_EQ(0U, entry1_.get()->GetSSL().cert_status); | 107 EXPECT_EQ(0U, entry1_.get()->GetSSL().cert_status); |
| 110 EXPECT_EQ(-1, entry1_.get()->GetSSL().security_bits); | 108 EXPECT_EQ(-1, entry1_.get()->GetSSL().security_bits); |
| 111 int content_status = entry1_.get()->GetSSL().content_status; | 109 int content_status = entry1_.get()->GetSSL().content_status; |
| 112 EXPECT_FALSE(!!(content_status & SSLStatus::DISPLAYED_INSECURE_CONTENT)); | 110 EXPECT_FALSE(!!(content_status & SSLStatus::DISPLAYED_INSECURE_CONTENT)); |
| 113 EXPECT_FALSE(!!(content_status & SSLStatus::RAN_INSECURE_CONTENT)); | 111 EXPECT_FALSE(!!(content_status & SSLStatus::RAN_INSECURE_CONTENT)); |
| 114 } | 112 } |
| 115 | 113 |
| 116 // Test other basic accessors | 114 // Test other basic accessors |
| 117 TEST_F(NavigationEntryTest, NavigationEntryAccessors) { | 115 TEST_F(NavigationEntryTest, NavigationEntryAccessors) { |
| 118 // SiteInstance | 116 // SiteInstance |
| 119 EXPECT_TRUE(entry1_.get()->site_instance() == NULL); | 117 EXPECT_TRUE(entry1_.get()->site_instance() == NULL); |
| 120 EXPECT_EQ(instance_, entry2_.get()->site_instance()); | 118 EXPECT_EQ(instance_, entry2_.get()->site_instance()); |
| 121 entry1_.get()->set_site_instance(instance_); | 119 entry1_.get()->set_site_instance(instance_); |
| 122 EXPECT_EQ(instance_, entry1_.get()->site_instance()); | 120 EXPECT_EQ(instance_, entry1_.get()->site_instance()); |
| 123 | 121 |
| 124 // Page type | 122 // Page type |
| 125 EXPECT_EQ(content::PAGE_TYPE_NORMAL, entry1_.get()->GetPageType()); | 123 EXPECT_EQ(PAGE_TYPE_NORMAL, entry1_.get()->GetPageType()); |
| 126 EXPECT_EQ(content::PAGE_TYPE_NORMAL, entry2_.get()->GetPageType()); | 124 EXPECT_EQ(PAGE_TYPE_NORMAL, entry2_.get()->GetPageType()); |
| 127 entry2_.get()->set_page_type(content::PAGE_TYPE_INTERSTITIAL); | 125 entry2_.get()->set_page_type(PAGE_TYPE_INTERSTITIAL); |
| 128 EXPECT_EQ(content::PAGE_TYPE_INTERSTITIAL, entry2_.get()->GetPageType()); | 126 EXPECT_EQ(PAGE_TYPE_INTERSTITIAL, entry2_.get()->GetPageType()); |
| 129 | 127 |
| 130 // Referrer | 128 // Referrer |
| 131 EXPECT_EQ(GURL(), entry1_.get()->GetReferrer().url); | 129 EXPECT_EQ(GURL(), entry1_.get()->GetReferrer().url); |
| 132 EXPECT_EQ(GURL("from"), entry2_.get()->GetReferrer().url); | 130 EXPECT_EQ(GURL("from"), entry2_.get()->GetReferrer().url); |
| 133 entry2_.get()->SetReferrer( | 131 entry2_.get()->SetReferrer( |
| 134 content::Referrer(GURL("from2"), WebKit::WebReferrerPolicyDefault)); | 132 Referrer(GURL("from2"), WebKit::WebReferrerPolicyDefault)); |
| 135 EXPECT_EQ(GURL("from2"), entry2_.get()->GetReferrer().url); | 133 EXPECT_EQ(GURL("from2"), entry2_.get()->GetReferrer().url); |
| 136 | 134 |
| 137 // Title | 135 // Title |
| 138 EXPECT_EQ(string16(), entry1_.get()->GetTitle()); | 136 EXPECT_EQ(string16(), entry1_.get()->GetTitle()); |
| 139 EXPECT_EQ(ASCIIToUTF16("title"), entry2_.get()->GetTitle()); | 137 EXPECT_EQ(ASCIIToUTF16("title"), entry2_.get()->GetTitle()); |
| 140 entry2_.get()->SetTitle(ASCIIToUTF16("title2")); | 138 entry2_.get()->SetTitle(ASCIIToUTF16("title2")); |
| 141 EXPECT_EQ(ASCIIToUTF16("title2"), entry2_.get()->GetTitle()); | 139 EXPECT_EQ(ASCIIToUTF16("title2"), entry2_.get()->GetTitle()); |
| 142 | 140 |
| 143 // State | 141 // State |
| 144 EXPECT_EQ(std::string(), entry1_.get()->GetContentState()); | 142 EXPECT_EQ(std::string(), entry1_.get()->GetContentState()); |
| 145 EXPECT_EQ(std::string(), entry2_.get()->GetContentState()); | 143 EXPECT_EQ(std::string(), entry2_.get()->GetContentState()); |
| 146 entry2_.get()->SetContentState("state"); | 144 entry2_.get()->SetContentState("state"); |
| 147 EXPECT_EQ("state", entry2_.get()->GetContentState()); | 145 EXPECT_EQ("state", entry2_.get()->GetContentState()); |
| 148 | 146 |
| 149 // Page ID | 147 // Page ID |
| 150 EXPECT_EQ(-1, entry1_.get()->GetPageID()); | 148 EXPECT_EQ(-1, entry1_.get()->GetPageID()); |
| 151 EXPECT_EQ(3, entry2_.get()->GetPageID()); | 149 EXPECT_EQ(3, entry2_.get()->GetPageID()); |
| 152 entry2_.get()->SetPageID(2); | 150 entry2_.get()->SetPageID(2); |
| 153 EXPECT_EQ(2, entry2_.get()->GetPageID()); | 151 EXPECT_EQ(2, entry2_.get()->GetPageID()); |
| 154 | 152 |
| 155 // Transition type | 153 // Transition type |
| 156 EXPECT_EQ(content::PAGE_TRANSITION_LINK, entry1_.get()->GetTransitionType()); | 154 EXPECT_EQ(PAGE_TRANSITION_LINK, entry1_.get()->GetTransitionType()); |
| 157 EXPECT_EQ(content::PAGE_TRANSITION_TYPED, entry2_.get()->GetTransitionType()); | 155 EXPECT_EQ(PAGE_TRANSITION_TYPED, entry2_.get()->GetTransitionType()); |
| 158 entry2_.get()->SetTransitionType(content::PAGE_TRANSITION_RELOAD); | 156 entry2_.get()->SetTransitionType(PAGE_TRANSITION_RELOAD); |
| 159 EXPECT_EQ(content::PAGE_TRANSITION_RELOAD, | 157 EXPECT_EQ(PAGE_TRANSITION_RELOAD, entry2_.get()->GetTransitionType()); |
| 160 entry2_.get()->GetTransitionType()); | |
| 161 | 158 |
| 162 // Is renderer initiated | 159 // Is renderer initiated |
| 163 EXPECT_FALSE(entry1_.get()->is_renderer_initiated()); | 160 EXPECT_FALSE(entry1_.get()->is_renderer_initiated()); |
| 164 EXPECT_FALSE(entry2_.get()->is_renderer_initiated()); | 161 EXPECT_FALSE(entry2_.get()->is_renderer_initiated()); |
| 165 entry2_.get()->set_is_renderer_initiated(true); | 162 entry2_.get()->set_is_renderer_initiated(true); |
| 166 EXPECT_TRUE(entry2_.get()->is_renderer_initiated()); | 163 EXPECT_TRUE(entry2_.get()->is_renderer_initiated()); |
| 167 | 164 |
| 168 // Post Data | 165 // Post Data |
| 169 EXPECT_FALSE(entry1_.get()->GetHasPostData()); | 166 EXPECT_FALSE(entry1_.get()->GetHasPostData()); |
| 170 EXPECT_FALSE(entry2_.get()->GetHasPostData()); | 167 EXPECT_FALSE(entry2_.get()->GetHasPostData()); |
| 171 entry2_.get()->SetHasPostData(true); | 168 entry2_.get()->SetHasPostData(true); |
| 172 EXPECT_TRUE(entry2_.get()->GetHasPostData()); | 169 EXPECT_TRUE(entry2_.get()->GetHasPostData()); |
| 173 | 170 |
| 174 // Restored | 171 // Restored |
| 175 EXPECT_EQ(NavigationEntry::RESTORE_NONE, entry1_->restore_type()); | 172 EXPECT_EQ(NavigationEntryImpl::RESTORE_NONE, entry1_->restore_type()); |
| 176 EXPECT_EQ(NavigationEntry::RESTORE_NONE, entry2_->restore_type()); | 173 EXPECT_EQ(NavigationEntryImpl::RESTORE_NONE, entry2_->restore_type()); |
| 177 entry2_->set_restore_type(NavigationEntry::RESTORE_LAST_SESSION); | 174 entry2_->set_restore_type(NavigationEntryImpl::RESTORE_LAST_SESSION); |
| 178 EXPECT_EQ(NavigationEntry::RESTORE_LAST_SESSION, entry2_->restore_type()); | 175 EXPECT_EQ(NavigationEntryImpl::RESTORE_LAST_SESSION, entry2_->restore_type()); |
| 179 } | 176 } |
| 177 |
| 178 } // namespace content |
| OLD | NEW |