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