| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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.h" |
| 10 #include "testing/gtest/include/gtest/gtest.h" | 10 #include "testing/gtest/include/gtest/gtest.h" |
| 11 | 11 |
| 12 class NavigationEntryTest : public testing::Test { | 12 class NavigationEntryTest : public testing::Test { |
| 13 public: | 13 public: |
| 14 NavigationEntryTest() : instance_(NULL) { | 14 NavigationEntryTest() : instance_(NULL) { |
| 15 } | 15 } |
| 16 | 16 |
| 17 virtual void SetUp() { | 17 virtual void SetUp() { |
| 18 entry1_.reset(new NavigationEntry); | 18 entry1_.reset(new NavigationEntry); |
| 19 | 19 |
| 20 instance_ = SiteInstance::CreateSiteInstance(NULL); | 20 instance_ = SiteInstance::CreateSiteInstance(NULL); |
| 21 entry2_.reset(new NavigationEntry(instance_, 3, | 21 entry2_.reset(new NavigationEntry( |
| 22 GURL("test:url"), | 22 instance_, 3, |
| 23 GURL("from"), | 23 GURL("test:url"), |
| 24 ASCIIToUTF16("title"), | 24 GURL("from"), |
| 25 PageTransition::TYPED)); | 25 base::i18n::String16WithDirection(ASCIIToUTF16("title"), |
| 26 base::i18n::LEFT_TO_RIGHT), |
| 27 PageTransition::TYPED)); |
| 26 } | 28 } |
| 27 | 29 |
| 28 virtual void TearDown() { | 30 virtual void TearDown() { |
| 29 } | 31 } |
| 30 | 32 |
| 31 protected: | 33 protected: |
| 32 scoped_ptr<NavigationEntry> entry1_; | 34 scoped_ptr<NavigationEntry> entry1_; |
| 33 scoped_ptr<NavigationEntry> entry2_; | 35 scoped_ptr<NavigationEntry> entry2_; |
| 34 // SiteInstances are deleted when their NavigationEntries are gone. | 36 // SiteInstances are deleted when their NavigationEntries are gone. |
| 35 SiteInstance* instance_; | 37 SiteInstance* instance_; |
| (...skipping 10 matching lines...) Expand all Loading... |
| 46 } | 48 } |
| 47 | 49 |
| 48 // Test URL accessors | 50 // Test URL accessors |
| 49 TEST_F(NavigationEntryTest, NavigationEntryURLs) { | 51 TEST_F(NavigationEntryTest, NavigationEntryURLs) { |
| 50 // Start with no virtual_url (even if a url is set) | 52 // Start with no virtual_url (even if a url is set) |
| 51 EXPECT_FALSE(entry1_.get()->has_virtual_url()); | 53 EXPECT_FALSE(entry1_.get()->has_virtual_url()); |
| 52 EXPECT_FALSE(entry2_.get()->has_virtual_url()); | 54 EXPECT_FALSE(entry2_.get()->has_virtual_url()); |
| 53 | 55 |
| 54 EXPECT_EQ(GURL(), entry1_.get()->url()); | 56 EXPECT_EQ(GURL(), entry1_.get()->url()); |
| 55 EXPECT_EQ(GURL(), entry1_.get()->virtual_url()); | 57 EXPECT_EQ(GURL(), entry1_.get()->virtual_url()); |
| 56 EXPECT_TRUE(entry1_.get()->GetTitleForDisplay("").empty()); | 58 EXPECT_TRUE(entry1_.get()->GetTitleForDisplay("").is_empty()); |
| 57 | 59 |
| 58 // Setting URL affects virtual_url and GetTitleForDisplay | 60 // Setting URL affects virtual_url and GetTitleForDisplay |
| 59 entry1_.get()->set_url(GURL("http://www.google.com")); | 61 entry1_.get()->set_url(GURL("http://www.google.com")); |
| 60 EXPECT_EQ(GURL("http://www.google.com"), entry1_.get()->url()); | 62 EXPECT_EQ(GURL("http://www.google.com"), entry1_.get()->url()); |
| 61 EXPECT_EQ(GURL("http://www.google.com"), entry1_.get()->virtual_url()); | 63 EXPECT_EQ(GURL("http://www.google.com"), entry1_.get()->virtual_url()); |
| 62 EXPECT_EQ(ASCIIToUTF16("www.google.com"), | 64 EXPECT_EQ(ASCIIToUTF16("www.google.com"), |
| 63 entry1_.get()->GetTitleForDisplay("")); | 65 entry1_.get()->GetTitleForDisplay("").string()); |
| 64 | 66 |
| 65 // file:/// URLs should only show the filename. | 67 // file:/// URLs should only show the filename. |
| 66 entry1_.get()->set_url(GURL("file:///foo/bar baz.txt")); | 68 entry1_.get()->set_url(GURL("file:///foo/bar baz.txt")); |
| 67 EXPECT_EQ(ASCIIToUTF16("bar baz.txt"), | 69 EXPECT_EQ(ASCIIToUTF16("bar baz.txt"), |
| 68 entry1_.get()->GetTitleForDisplay("")); | 70 entry1_.get()->GetTitleForDisplay("").string()); |
| 69 | 71 |
| 70 // Title affects GetTitleForDisplay | 72 // Title affects GetTitleForDisplay |
| 71 entry1_.get()->set_title(ASCIIToUTF16("Google")); | 73 entry1_.get()->set_title( |
| 72 EXPECT_EQ(ASCIIToUTF16("Google"), entry1_.get()->GetTitleForDisplay("")); | 74 base::i18n::String16WithDirection(ASCIIToUTF16("Google"), |
| 75 base::i18n::LEFT_TO_RIGHT)); |
| 76 EXPECT_EQ(ASCIIToUTF16("Google"), |
| 77 entry1_.get()->GetTitleForDisplay("").string()); |
| 73 | 78 |
| 74 // Setting virtual_url doesn't affect URL | 79 // Setting virtual_url doesn't affect URL |
| 75 entry2_.get()->set_virtual_url(GURL("display:url")); | 80 entry2_.get()->set_virtual_url(GURL("display:url")); |
| 76 EXPECT_TRUE(entry2_.get()->has_virtual_url()); | 81 EXPECT_TRUE(entry2_.get()->has_virtual_url()); |
| 77 EXPECT_EQ(GURL("test:url"), entry2_.get()->url()); | 82 EXPECT_EQ(GURL("test:url"), entry2_.get()->url()); |
| 78 EXPECT_EQ(GURL("display:url"), entry2_.get()->virtual_url()); | 83 EXPECT_EQ(GURL("display:url"), entry2_.get()->virtual_url()); |
| 79 | 84 |
| 80 // Having a title set in constructor overrides virtual URL | 85 // Having a title set in constructor overrides virtual URL |
| 81 EXPECT_EQ(ASCIIToUTF16("title"), entry2_.get()->GetTitleForDisplay("")); | 86 EXPECT_EQ(ASCIIToUTF16("title"), |
| 87 entry2_.get()->GetTitleForDisplay("").string()); |
| 82 | 88 |
| 83 // User typed URL is independent of the others | 89 // User typed URL is independent of the others |
| 84 EXPECT_EQ(GURL(), entry1_.get()->user_typed_url()); | 90 EXPECT_EQ(GURL(), entry1_.get()->user_typed_url()); |
| 85 EXPECT_EQ(GURL(), entry2_.get()->user_typed_url()); | 91 EXPECT_EQ(GURL(), entry2_.get()->user_typed_url()); |
| 86 entry2_.get()->set_user_typed_url(GURL("typedurl")); | 92 entry2_.get()->set_user_typed_url(GURL("typedurl")); |
| 87 EXPECT_EQ(GURL("typedurl"), entry2_.get()->user_typed_url()); | 93 EXPECT_EQ(GURL("typedurl"), entry2_.get()->user_typed_url()); |
| 88 } | 94 } |
| 89 | 95 |
| 90 // Test Favicon inner class | 96 // Test Favicon inner class |
| 91 TEST_F(NavigationEntryTest, NavigationEntryFavicons) { | 97 TEST_F(NavigationEntryTest, NavigationEntryFavicons) { |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 144 entry2_.get()->set_page_type(INTERSTITIAL_PAGE); | 150 entry2_.get()->set_page_type(INTERSTITIAL_PAGE); |
| 145 EXPECT_EQ(INTERSTITIAL_PAGE, entry2_.get()->page_type()); | 151 EXPECT_EQ(INTERSTITIAL_PAGE, entry2_.get()->page_type()); |
| 146 | 152 |
| 147 // Referrer | 153 // Referrer |
| 148 EXPECT_EQ(GURL(), entry1_.get()->referrer()); | 154 EXPECT_EQ(GURL(), entry1_.get()->referrer()); |
| 149 EXPECT_EQ(GURL("from"), entry2_.get()->referrer()); | 155 EXPECT_EQ(GURL("from"), entry2_.get()->referrer()); |
| 150 entry2_.get()->set_referrer(GURL("from2")); | 156 entry2_.get()->set_referrer(GURL("from2")); |
| 151 EXPECT_EQ(GURL("from2"), entry2_.get()->referrer()); | 157 EXPECT_EQ(GURL("from2"), entry2_.get()->referrer()); |
| 152 | 158 |
| 153 // Title | 159 // Title |
| 154 EXPECT_EQ(string16(), entry1_.get()->title()); | 160 EXPECT_EQ(string16(), entry1_.get()->title().string()); |
| 155 EXPECT_EQ(ASCIIToUTF16("title"), entry2_.get()->title()); | 161 EXPECT_EQ(ASCIIToUTF16("title"), entry2_.get()->title().string()); |
| 156 entry2_.get()->set_title(ASCIIToUTF16("title2")); | 162 entry2_.get()->set_title( |
| 157 EXPECT_EQ(ASCIIToUTF16("title2"), entry2_.get()->title()); | 163 base::i18n::String16WithDirection(ASCIIToUTF16("title2"), |
| 164 base::i18n::LEFT_TO_RIGHT)); |
| 165 EXPECT_EQ(ASCIIToUTF16("title2"), entry2_.get()->title().string()); |
| 158 | 166 |
| 159 // State | 167 // State |
| 160 EXPECT_EQ(std::string(), entry1_.get()->content_state()); | 168 EXPECT_EQ(std::string(), entry1_.get()->content_state()); |
| 161 EXPECT_EQ(std::string(), entry2_.get()->content_state()); | 169 EXPECT_EQ(std::string(), entry2_.get()->content_state()); |
| 162 entry2_.get()->set_content_state("state"); | 170 entry2_.get()->set_content_state("state"); |
| 163 EXPECT_EQ("state", entry2_.get()->content_state()); | 171 EXPECT_EQ("state", entry2_.get()->content_state()); |
| 164 | 172 |
| 165 // Page ID | 173 // Page ID |
| 166 EXPECT_EQ(-1, entry1_.get()->page_id()); | 174 EXPECT_EQ(-1, entry1_.get()->page_id()); |
| 167 EXPECT_EQ(3, entry2_.get()->page_id()); | 175 EXPECT_EQ(3, entry2_.get()->page_id()); |
| (...skipping 11 matching lines...) Expand all Loading... |
| 179 EXPECT_FALSE(entry2_.get()->has_post_data()); | 187 EXPECT_FALSE(entry2_.get()->has_post_data()); |
| 180 entry2_.get()->set_has_post_data(true); | 188 entry2_.get()->set_has_post_data(true); |
| 181 EXPECT_TRUE(entry2_.get()->has_post_data()); | 189 EXPECT_TRUE(entry2_.get()->has_post_data()); |
| 182 | 190 |
| 183 // Restored | 191 // Restored |
| 184 EXPECT_EQ(NavigationEntry::RESTORE_NONE, entry1_->restore_type()); | 192 EXPECT_EQ(NavigationEntry::RESTORE_NONE, entry1_->restore_type()); |
| 185 EXPECT_EQ(NavigationEntry::RESTORE_NONE, entry2_->restore_type()); | 193 EXPECT_EQ(NavigationEntry::RESTORE_NONE, entry2_->restore_type()); |
| 186 entry2_->set_restore_type(NavigationEntry::RESTORE_LAST_SESSION); | 194 entry2_->set_restore_type(NavigationEntry::RESTORE_LAST_SESSION); |
| 187 EXPECT_EQ(NavigationEntry::RESTORE_LAST_SESSION, entry2_->restore_type()); | 195 EXPECT_EQ(NavigationEntry::RESTORE_LAST_SESSION, entry2_->restore_type()); |
| 188 } | 196 } |
| OLD | NEW |