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

Side by Side Diff: chrome/browser/ui/login/login_prompt_uitest.cc

Issue 8413022: wstring cleanup in browser/ui/login (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: better Created 9 years, 1 month 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 | Annotate | Revision Log
« no previous file with comments | « chrome/browser/ui/login/login_prompt_ui.cc ('k') | chrome/browser/ui/login/login_prompt_win.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 <string> 5 #include <string>
6 6
7 #include "base/string16.h"
8 #include "base/utf_string_conversions.h"
7 #include "chrome/browser/net/url_fixer_upper.h" 9 #include "chrome/browser/net/url_fixer_upper.h"
8 #include "chrome/common/url_constants.h" 10 #include "chrome/common/url_constants.h"
9 #include "chrome/test/automation/automation_proxy.h" 11 #include "chrome/test/automation/automation_proxy.h"
10 #include "chrome/test/automation/tab_proxy.h" 12 #include "chrome/test/automation/tab_proxy.h"
11 #include "chrome/test/automation/browser_proxy.h" 13 #include "chrome/test/automation/browser_proxy.h"
12 #include "chrome/test/ui/ui_test.h" 14 #include "chrome/test/ui/ui_test.h"
13 #include "net/test/test_server.h" 15 #include "net/test/test_server.h"
14 16
15 using std::wstring; 17 using std::wstring;
16 18
17 namespace { 19 namespace {
18 20
19 const FilePath::CharType kDocRoot[] = FILE_PATH_LITERAL("chrome/test/data"); 21 const FilePath::CharType kDocRoot[] = FILE_PATH_LITERAL("chrome/test/data");
20 22
21 } // namespace 23 } // namespace
22 24
23 class LoginPromptTest : public UITest { 25 class LoginPromptTest : public UITest {
24 protected: 26 protected:
25 LoginPromptTest() 27 LoginPromptTest()
26 : username_basic_(L"basicuser"), 28 : username_basic_(UTF8ToUTF16("basicuser")),
27 username_digest_(L"digestuser"), 29 username_digest_(UTF8ToUTF16("digestuser")),
28 password_(L"secret"), 30 password_(UTF8ToUTF16("secret")),
29 password_bad_(L"denyme"), 31 password_bad_(UTF8ToUTF16("denyme")),
30 test_server_(net::TestServer::TYPE_HTTP, FilePath(kDocRoot)) { 32 test_server_(net::TestServer::TYPE_HTTP, FilePath(kDocRoot)) {
31 } 33 }
32 34
33 void AppendTab(const GURL& url) { 35 void AppendTab(const GURL& url) {
34 scoped_refptr<BrowserProxy> window_proxy(automation()->GetBrowserWindow(0)); 36 scoped_refptr<BrowserProxy> window_proxy(automation()->GetBrowserWindow(0));
35 ASSERT_TRUE(window_proxy.get()); 37 ASSERT_TRUE(window_proxy.get());
36 ASSERT_TRUE(window_proxy->AppendTab(url)); 38 ASSERT_TRUE(window_proxy->AppendTab(url));
37 } 39 }
38 40
39 protected: 41 protected:
40 wstring username_basic_; 42 string16 username_basic_;
41 wstring username_digest_; 43 string16 username_digest_;
42 wstring password_; 44 string16 password_;
43 wstring password_bad_; 45 string16 password_bad_;
44 46
45 net::TestServer test_server_; 47 net::TestServer test_server_;
46 }; 48 };
47 49
48 wstring ExpectedTitleFromAuth(const wstring& username, 50 string16 ExpectedTitleFromAuth(const string16& username,
49 const wstring& password) { 51 const string16& password) {
50 // The TestServer sets the title to username/password on successful login. 52 // The TestServer sets the title to username/password on successful login.
51 return username + L"/" + password; 53 return username + UTF8ToUTF16("/") + password;
52 } 54 }
53 55
54 // Test that "Basic" HTTP authentication works. 56 // Test that "Basic" HTTP authentication works.
55 TEST_F(LoginPromptTest, TestBasicAuth) { 57 TEST_F(LoginPromptTest, TestBasicAuth) {
56 ASSERT_TRUE(test_server_.Start()); 58 ASSERT_TRUE(test_server_.Start());
57 59
58 scoped_refptr<TabProxy> tab(GetActiveTab()); 60 scoped_refptr<TabProxy> tab(GetActiveTab());
59 ASSERT_TRUE(tab.get()); 61 ASSERT_TRUE(tab.get());
60 ASSERT_EQ(AUTOMATION_MSG_NAVIGATION_AUTH_NEEDED, 62 ASSERT_EQ(AUTOMATION_MSG_NAVIGATION_AUTH_NEEDED,
61 tab->NavigateToURL(test_server_.GetURL("auth-basic"))); 63 tab->NavigateToURL(test_server_.GetURL("auth-basic")));
62 64
63 EXPECT_TRUE(tab->NeedsAuth()); 65 EXPECT_TRUE(tab->NeedsAuth());
64 EXPECT_FALSE(tab->SetAuth(username_basic_, password_bad_)); 66 EXPECT_FALSE(tab->SetAuth(UTF16ToWideHack(username_basic_),
67 UTF16ToWideHack(password_bad_)));
65 EXPECT_TRUE(tab->NeedsAuth()); 68 EXPECT_TRUE(tab->NeedsAuth());
66 EXPECT_TRUE(tab->CancelAuth()); 69 EXPECT_TRUE(tab->CancelAuth());
67 EXPECT_EQ(L"Denied: wrong password", GetActiveTabTitle()); 70 EXPECT_EQ(L"Denied: wrong password", GetActiveTabTitle());
68 71
69 ASSERT_EQ(AUTOMATION_MSG_NAVIGATION_AUTH_NEEDED, 72 ASSERT_EQ(AUTOMATION_MSG_NAVIGATION_AUTH_NEEDED,
70 tab->NavigateToURL(test_server_.GetURL("auth-basic"))); 73 tab->NavigateToURL(test_server_.GetURL("auth-basic")));
71 74
72 EXPECT_TRUE(tab->NeedsAuth()); 75 EXPECT_TRUE(tab->NeedsAuth());
73 EXPECT_TRUE(tab->SetAuth(username_basic_, password_)); 76 EXPECT_TRUE(tab->SetAuth(UTF16ToWideHack(username_basic_),
77 UTF16ToWideHack(password_)));
74 EXPECT_EQ(ExpectedTitleFromAuth(username_basic_, password_), 78 EXPECT_EQ(ExpectedTitleFromAuth(username_basic_, password_),
75 GetActiveTabTitle()); 79 WideToUTF16Hack(GetActiveTabTitle()));
76 } 80 }
77 81
78 // Test that "Digest" HTTP authentication works. 82 // Test that "Digest" HTTP authentication works.
79 TEST_F(LoginPromptTest, TestDigestAuth) { 83 TEST_F(LoginPromptTest, TestDigestAuth) {
80 ASSERT_TRUE(test_server_.Start()); 84 ASSERT_TRUE(test_server_.Start());
81 85
82 scoped_refptr<TabProxy> tab(GetActiveTab()); 86 scoped_refptr<TabProxy> tab(GetActiveTab());
83 ASSERT_TRUE(tab.get()); 87 ASSERT_TRUE(tab.get());
84 ASSERT_EQ(AUTOMATION_MSG_NAVIGATION_AUTH_NEEDED, 88 ASSERT_EQ(AUTOMATION_MSG_NAVIGATION_AUTH_NEEDED,
85 tab->NavigateToURL(test_server_.GetURL("auth-digest"))); 89 tab->NavigateToURL(test_server_.GetURL("auth-digest")));
86 90
87 EXPECT_TRUE(tab->NeedsAuth()); 91 EXPECT_TRUE(tab->NeedsAuth());
88 EXPECT_FALSE(tab->SetAuth(username_digest_, password_bad_)); 92 EXPECT_FALSE(tab->SetAuth(UTF16ToWideHack(username_digest_),
93 UTF16ToWideHack(password_bad_)));
89 EXPECT_TRUE(tab->CancelAuth()); 94 EXPECT_TRUE(tab->CancelAuth());
90 EXPECT_EQ(L"Denied: wrong password", GetActiveTabTitle()); 95 EXPECT_EQ(L"Denied: wrong password", GetActiveTabTitle());
91 96
92 ASSERT_EQ(AUTOMATION_MSG_NAVIGATION_AUTH_NEEDED, 97 ASSERT_EQ(AUTOMATION_MSG_NAVIGATION_AUTH_NEEDED,
93 tab->NavigateToURL(test_server_.GetURL("auth-digest"))); 98 tab->NavigateToURL(test_server_.GetURL("auth-digest")));
94 99
95 EXPECT_TRUE(tab->NeedsAuth()); 100 EXPECT_TRUE(tab->NeedsAuth());
96 EXPECT_TRUE(tab->SetAuth(username_digest_, password_)); 101 EXPECT_TRUE(tab->SetAuth(UTF16ToWideHack(username_digest_),
102 UTF16ToWideHack(password_)));
97 EXPECT_EQ(ExpectedTitleFromAuth(username_digest_, password_), 103 EXPECT_EQ(ExpectedTitleFromAuth(username_digest_, password_),
98 GetActiveTabTitle()); 104 WideToUTF16Hack(GetActiveTabTitle()));
99 } 105 }
100 106
101 // Test that logging in on 2 tabs at once works. 107 // Test that logging in on 2 tabs at once works.
102 TEST_F(LoginPromptTest, TestTwoAuths) { 108 TEST_F(LoginPromptTest, TestTwoAuths) {
103 ASSERT_TRUE(test_server_.Start()); 109 ASSERT_TRUE(test_server_.Start());
104 110
105 scoped_refptr<TabProxy> basic_tab(GetActiveTab()); 111 scoped_refptr<TabProxy> basic_tab(GetActiveTab());
106 ASSERT_TRUE(basic_tab.get()); 112 ASSERT_TRUE(basic_tab.get());
107 ASSERT_EQ(AUTOMATION_MSG_NAVIGATION_AUTH_NEEDED, 113 ASSERT_EQ(AUTOMATION_MSG_NAVIGATION_AUTH_NEEDED,
108 basic_tab->NavigateToURL(test_server_.GetURL("auth-basic"))); 114 basic_tab->NavigateToURL(test_server_.GetURL("auth-basic")));
109 115
110 AppendTab(GURL(chrome::kAboutBlankURL)); 116 AppendTab(GURL(chrome::kAboutBlankURL));
111 scoped_refptr<TabProxy> digest_tab(GetActiveTab()); 117 scoped_refptr<TabProxy> digest_tab(GetActiveTab());
112 ASSERT_TRUE(digest_tab.get()); 118 ASSERT_TRUE(digest_tab.get());
113 ASSERT_EQ(AUTOMATION_MSG_NAVIGATION_AUTH_NEEDED, 119 ASSERT_EQ(AUTOMATION_MSG_NAVIGATION_AUTH_NEEDED,
114 digest_tab->NavigateToURL(test_server_.GetURL("auth-digest"))); 120 digest_tab->NavigateToURL(test_server_.GetURL("auth-digest")));
115 121
116 EXPECT_TRUE(basic_tab->NeedsAuth()); 122 EXPECT_TRUE(basic_tab->NeedsAuth());
117 EXPECT_TRUE(basic_tab->SetAuth(username_basic_, password_)); 123 EXPECT_TRUE(basic_tab->SetAuth(UTF16ToWideHack(username_basic_),
124 UTF16ToWideHack(password_)));
118 EXPECT_TRUE(digest_tab->NeedsAuth()); 125 EXPECT_TRUE(digest_tab->NeedsAuth());
119 EXPECT_TRUE(digest_tab->SetAuth(username_digest_, password_)); 126 EXPECT_TRUE(digest_tab->SetAuth(UTF16ToWideHack(username_digest_),
127 UTF16ToWideHack(password_)));
120 128
121 wstring title; 129 wstring title;
122 EXPECT_TRUE(basic_tab->GetTabTitle(&title)); 130 EXPECT_TRUE(basic_tab->GetTabTitle(&title));
123 EXPECT_EQ(ExpectedTitleFromAuth(username_basic_, password_), title); 131 EXPECT_EQ(ExpectedTitleFromAuth(username_basic_, password_),
132 WideToUTF16Hack(title));
124 133
125 EXPECT_TRUE(digest_tab->GetTabTitle(&title)); 134 EXPECT_TRUE(digest_tab->GetTabTitle(&title));
126 EXPECT_EQ(ExpectedTitleFromAuth(username_digest_, password_), title); 135 EXPECT_EQ(ExpectedTitleFromAuth(username_digest_, password_),
136 WideToUTF16Hack(title));
127 } 137 }
128 138
129 // If multiple tabs are looking for the same auth, the user should only have to 139 // If multiple tabs are looking for the same auth, the user should only have to
130 // enter it once. 140 // enter it once.
131 TEST_F(LoginPromptTest, SupplyRedundantAuths) { 141 TEST_F(LoginPromptTest, SupplyRedundantAuths) {
132 ASSERT_TRUE(test_server_.Start()); 142 ASSERT_TRUE(test_server_.Start());
133 143
134 scoped_refptr<TabProxy> basic_tab1(GetActiveTab()); 144 scoped_refptr<TabProxy> basic_tab1(GetActiveTab());
135 ASSERT_TRUE(basic_tab1.get()); 145 ASSERT_TRUE(basic_tab1.get());
136 ASSERT_EQ(AUTOMATION_MSG_NAVIGATION_AUTH_NEEDED, 146 ASSERT_EQ(AUTOMATION_MSG_NAVIGATION_AUTH_NEEDED,
137 basic_tab1->NavigateToURL(test_server_.GetURL("auth-basic/1"))); 147 basic_tab1->NavigateToURL(test_server_.GetURL("auth-basic/1")));
138 EXPECT_TRUE(basic_tab1->NeedsAuth()); 148 EXPECT_TRUE(basic_tab1->NeedsAuth());
139 149
140 AppendTab(GURL(chrome::kAboutBlankURL)); 150 AppendTab(GURL(chrome::kAboutBlankURL));
141 scoped_refptr<TabProxy> basic_tab2(GetActiveTab()); 151 scoped_refptr<TabProxy> basic_tab2(GetActiveTab());
142 ASSERT_TRUE(basic_tab2.get()); 152 ASSERT_TRUE(basic_tab2.get());
143 ASSERT_EQ(AUTOMATION_MSG_NAVIGATION_AUTH_NEEDED, 153 ASSERT_EQ(AUTOMATION_MSG_NAVIGATION_AUTH_NEEDED,
144 basic_tab2->NavigateToURL(test_server_.GetURL("auth-basic/2"))); 154 basic_tab2->NavigateToURL(test_server_.GetURL("auth-basic/2")));
145 EXPECT_TRUE(basic_tab2->NeedsAuth()); 155 EXPECT_TRUE(basic_tab2->NeedsAuth());
146 156
147 // Set the auth in only one of the tabs (but wait for the other to load). 157 // Set the auth in only one of the tabs (but wait for the other to load).
148 int64 last_navigation_time; 158 int64 last_navigation_time;
149 ASSERT_TRUE(basic_tab2->GetLastNavigationTime(&last_navigation_time)); 159 ASSERT_TRUE(basic_tab2->GetLastNavigationTime(&last_navigation_time));
150 EXPECT_TRUE(basic_tab1->SetAuth(username_basic_, password_)); 160 EXPECT_TRUE(basic_tab1->SetAuth(UTF16ToWideHack(username_basic_),
161 UTF16ToWideHack(password_)));
151 EXPECT_TRUE(basic_tab2->WaitForNavigation(last_navigation_time)); 162 EXPECT_TRUE(basic_tab2->WaitForNavigation(last_navigation_time));
152 163
153 // Now both tabs have loaded. 164 // Now both tabs have loaded.
154 wstring title1; 165 wstring title1;
155 EXPECT_TRUE(basic_tab1->GetTabTitle(&title1)); 166 EXPECT_TRUE(basic_tab1->GetTabTitle(&title1));
156 EXPECT_EQ(ExpectedTitleFromAuth(username_basic_, password_), title1); 167 EXPECT_EQ(ExpectedTitleFromAuth(username_basic_, password_),
168 WideToUTF16Hack(title1));
157 wstring title2; 169 wstring title2;
158 EXPECT_TRUE(basic_tab2->GetTabTitle(&title2)); 170 EXPECT_TRUE(basic_tab2->GetTabTitle(&title2));
159 EXPECT_EQ(ExpectedTitleFromAuth(username_basic_, password_), title2); 171 EXPECT_EQ(ExpectedTitleFromAuth(username_basic_, password_),
172 WideToUTF16Hack(title2));
160 } 173 }
161 174
162 // If multiple tabs are looking for the same auth, and one is cancelled, the 175 // If multiple tabs are looking for the same auth, and one is cancelled, the
163 // other should be cancelled as well. 176 // other should be cancelled as well.
164 TEST_F(LoginPromptTest, CancelRedundantAuths) { 177 TEST_F(LoginPromptTest, CancelRedundantAuths) {
165 ASSERT_TRUE(test_server_.Start()); 178 ASSERT_TRUE(test_server_.Start());
166 179
167 scoped_refptr<TabProxy> basic_tab1(GetActiveTab()); 180 scoped_refptr<TabProxy> basic_tab1(GetActiveTab());
168 ASSERT_TRUE(basic_tab1.get()); 181 ASSERT_TRUE(basic_tab1.get());
169 ASSERT_EQ(AUTOMATION_MSG_NAVIGATION_AUTH_NEEDED, 182 ASSERT_EQ(AUTOMATION_MSG_NAVIGATION_AUTH_NEEDED,
(...skipping 14 matching lines...) Expand all
184 EXPECT_TRUE(basic_tab2->WaitForNavigation(last_navigation_time)); 197 EXPECT_TRUE(basic_tab2->WaitForNavigation(last_navigation_time));
185 198
186 // Now both tabs have been denied. 199 // Now both tabs have been denied.
187 wstring title1; 200 wstring title1;
188 EXPECT_TRUE(basic_tab1->GetTabTitle(&title1)); 201 EXPECT_TRUE(basic_tab1->GetTabTitle(&title1));
189 EXPECT_EQ(L"Denied: no auth", title1); 202 EXPECT_EQ(L"Denied: no auth", title1);
190 wstring title2; 203 wstring title2;
191 EXPECT_TRUE(basic_tab2->GetTabTitle(&title2)); 204 EXPECT_TRUE(basic_tab2->GetTabTitle(&title2));
192 EXPECT_EQ(L"Denied: no auth", title2); 205 EXPECT_EQ(L"Denied: no auth", title2);
193 } 206 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/login/login_prompt_ui.cc ('k') | chrome/browser/ui/login/login_prompt_win.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698