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

Side by Side Diff: chrome/browser/renderer_host/resource_dispatcher_host_uitest.cc

Issue 3034038: GTTF: Move more test server code from net/url_request/url_request_unittest.h (Closed)
Patch Set: hopefully final Created 10 years, 4 months 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
OLDNEW
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 <sstream> 5 #include <sstream>
6 #include <string> 6 #include <string>
7 7
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/file_path.h" 9 #include "base/file_path.h"
10 #include "base/path_service.h" 10 #include "base/path_service.h"
11 #include "base/string_util.h" 11 #include "base/string_util.h"
12 #include "chrome/browser/net/url_request_failed_dns_job.h" 12 #include "chrome/browser/net/url_request_failed_dns_job.h"
13 #include "chrome/browser/net/url_request_mock_http_job.h" 13 #include "chrome/browser/net/url_request_mock_http_job.h"
14 #include "chrome/common/chrome_switches.h" 14 #include "chrome/common/chrome_switches.h"
15 #include "chrome/common/url_constants.h" 15 #include "chrome/common/url_constants.h"
16 #include "chrome/test/automation/browser_proxy.h" 16 #include "chrome/test/automation/browser_proxy.h"
17 #include "chrome/test/automation/tab_proxy.h" 17 #include "chrome/test/automation/tab_proxy.h"
18 #include "chrome/test/ui/ui_test.h" 18 #include "chrome/test/ui/ui_test.h"
19 #include "net/base/net_util.h" 19 #include "net/base/net_util.h"
20 #include "net/url_request/url_request_unittest.h" 20 #include "net/test/test_server.h"
21 21
22 namespace { 22 namespace {
23 23
24 class ResourceDispatcherTest : public UITest { 24 class ResourceDispatcherTest : public UITest {
25 public: 25 public:
26 void CheckTitleTest(const std::wstring& file, 26 void CheckTitleTest(const std::wstring& file,
27 const std::wstring& expected_title, 27 const std::wstring& expected_title,
28 int expected_navigations) { 28 int expected_navigations) {
29 NavigateToURLBlockUntilNavigationsComplete( 29 NavigateToURLBlockUntilNavigationsComplete(
30 URLRequestMockHTTPJob::GetMockUrl(FilePath::FromWStringHack(file)), 30 URLRequestMockHTTPJob::GetMockUrl(FilePath::FromWStringHack(file)),
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
72 CheckTitleTest(L"content-disposition-empty.html", L"success", 1); 72 CheckTitleTest(L"content-disposition-empty.html", L"success", 1);
73 } 73 }
74 74
75 TEST_F(ResourceDispatcherTest, ContentDispositionInline) { 75 TEST_F(ResourceDispatcherTest, ContentDispositionInline) {
76 CheckTitleTest(L"content-disposition-inline.html", L"success", 1); 76 CheckTitleTest(L"content-disposition-inline.html", L"success", 1);
77 } 77 }
78 78
79 // Test for bug #1091358. 79 // Test for bug #1091358.
80 TEST_F(ResourceDispatcherTest, SyncXMLHttpRequest) { 80 TEST_F(ResourceDispatcherTest, SyncXMLHttpRequest) {
81 const wchar_t kDocRoot[] = L"chrome/test/data"; 81 const wchar_t kDocRoot[] = L"chrome/test/data";
82 scoped_refptr<HTTPTestServer> server(HTTPTestServer::CreateServer(kDocRoot)); 82 scoped_refptr<net::HTTPTestServer> server(
83 net::HTTPTestServer::CreateServer(kDocRoot));
83 ASSERT_TRUE(NULL != server.get()); 84 ASSERT_TRUE(NULL != server.get());
84 85
85 scoped_refptr<BrowserProxy> browser_proxy(automation()->GetBrowserWindow(0)); 86 scoped_refptr<BrowserProxy> browser_proxy(automation()->GetBrowserWindow(0));
86 ASSERT_TRUE(browser_proxy.get()); 87 ASSERT_TRUE(browser_proxy.get());
87 scoped_refptr<TabProxy> tab(browser_proxy->GetActiveTab()); 88 scoped_refptr<TabProxy> tab(browser_proxy->GetActiveTab());
88 ASSERT_TRUE(tab.get()); 89 ASSERT_TRUE(tab.get());
89 ASSERT_EQ(AUTOMATION_MSG_NAVIGATION_SUCCESS, 90 ASSERT_EQ(AUTOMATION_MSG_NAVIGATION_SUCCESS,
90 tab->NavigateToURL(server->TestServerPage( 91 tab->NavigateToURL(server->TestServerPage(
91 "files/sync_xmlhttprequest.html"))); 92 "files/sync_xmlhttprequest.html")));
92 93
93 // Let's check the XMLHttpRequest ran successfully. 94 // Let's check the XMLHttpRequest ran successfully.
94 bool success = false; 95 bool success = false;
95 EXPECT_TRUE(tab->ExecuteAndExtractBool(L"", 96 EXPECT_TRUE(tab->ExecuteAndExtractBool(L"",
96 L"window.domAutomationController.send(DidSyncRequestSucceed());", 97 L"window.domAutomationController.send(DidSyncRequestSucceed());",
97 &success)); 98 &success));
98 EXPECT_TRUE(success); 99 EXPECT_TRUE(success);
99 } 100 }
100 101
101 TEST_F(ResourceDispatcherTest, SyncXMLHttpRequest_Disallowed) { 102 TEST_F(ResourceDispatcherTest, SyncXMLHttpRequest_Disallowed) {
102 const wchar_t kDocRoot[] = L"chrome/test/data"; 103 const wchar_t kDocRoot[] = L"chrome/test/data";
103 scoped_refptr<HTTPTestServer> server(HTTPTestServer::CreateServer(kDocRoot)); 104 scoped_refptr<net::HTTPTestServer> server(
105 net::HTTPTestServer::CreateServer(kDocRoot));
104 ASSERT_TRUE(NULL != server.get()); 106 ASSERT_TRUE(NULL != server.get());
105 107
106 scoped_refptr<BrowserProxy> browser_proxy(automation()->GetBrowserWindow(0)); 108 scoped_refptr<BrowserProxy> browser_proxy(automation()->GetBrowserWindow(0));
107 ASSERT_TRUE(browser_proxy.get()); 109 ASSERT_TRUE(browser_proxy.get());
108 scoped_refptr<TabProxy> tab(browser_proxy->GetActiveTab()); 110 scoped_refptr<TabProxy> tab(browser_proxy->GetActiveTab());
109 ASSERT_TRUE(tab.get()); 111 ASSERT_TRUE(tab.get());
110 ASSERT_EQ(AUTOMATION_MSG_NAVIGATION_SUCCESS, 112 ASSERT_EQ(AUTOMATION_MSG_NAVIGATION_SUCCESS,
111 tab->NavigateToURL(server->TestServerPage( 113 tab->NavigateToURL(server->TestServerPage(
112 "files/sync_xmlhttprequest_disallowed.html"))); 114 "files/sync_xmlhttprequest_disallowed.html")));
113 115
114 // Let's check the XMLHttpRequest ran successfully. 116 // Let's check the XMLHttpRequest ran successfully.
115 bool success = false; 117 bool success = false;
116 EXPECT_TRUE(tab->ExecuteAndExtractBool(L"", 118 EXPECT_TRUE(tab->ExecuteAndExtractBool(L"",
117 L"window.domAutomationController.send(DidSucceed());", 119 L"window.domAutomationController.send(DidSucceed());",
118 &success)); 120 &success));
119 EXPECT_TRUE(success); 121 EXPECT_TRUE(success);
120 } 122 }
121 123
122 // Test for bug #1159553 -- A synchronous xhr (whose content-type is 124 // Test for bug #1159553 -- A synchronous xhr (whose content-type is
123 // downloadable) would trigger download and hang the renderer process, 125 // downloadable) would trigger download and hang the renderer process,
124 // if executed while navigating to a new page. 126 // if executed while navigating to a new page.
125 TEST_F(ResourceDispatcherTest, SyncXMLHttpRequest_DuringUnload) { 127 TEST_F(ResourceDispatcherTest, SyncXMLHttpRequest_DuringUnload) {
126 const wchar_t kDocRoot[] = L"chrome/test/data"; 128 const wchar_t kDocRoot[] = L"chrome/test/data";
127 scoped_refptr<HTTPTestServer> server(HTTPTestServer::CreateServer(kDocRoot)); 129 scoped_refptr<net::HTTPTestServer> server(
130 net::HTTPTestServer::CreateServer(kDocRoot));
128 ASSERT_TRUE(NULL != server.get()); 131 ASSERT_TRUE(NULL != server.get());
129 132
130 scoped_refptr<BrowserProxy> browser_proxy(automation()->GetBrowserWindow(0)); 133 scoped_refptr<BrowserProxy> browser_proxy(automation()->GetBrowserWindow(0));
131 ASSERT_TRUE(browser_proxy.get()); 134 ASSERT_TRUE(browser_proxy.get());
132 scoped_refptr<TabProxy> tab(browser_proxy->GetActiveTab()); 135 scoped_refptr<TabProxy> tab(browser_proxy->GetActiveTab());
133 ASSERT_TRUE(tab.get()); 136 ASSERT_TRUE(tab.get());
134 137
135 ASSERT_EQ(AUTOMATION_MSG_NAVIGATION_SUCCESS, 138 ASSERT_EQ(AUTOMATION_MSG_NAVIGATION_SUCCESS,
136 tab->NavigateToURL(server->TestServerPage( 139 tab->NavigateToURL(server->TestServerPage(
137 "files/sync_xmlhttprequest_during_unload.html"))); 140 "files/sync_xmlhttprequest_during_unload.html")));
(...skipping 15 matching lines...) Expand all
153 bool shelf_is_visible = false; 156 bool shelf_is_visible = false;
154 scoped_refptr<BrowserProxy> browser(automation()->GetBrowserWindow(0)); 157 scoped_refptr<BrowserProxy> browser(automation()->GetBrowserWindow(0));
155 ASSERT_TRUE(browser.get()); 158 ASSERT_TRUE(browser.get());
156 EXPECT_TRUE(browser->IsShelfVisible(&shelf_is_visible)); 159 EXPECT_TRUE(browser->IsShelfVisible(&shelf_is_visible));
157 EXPECT_FALSE(shelf_is_visible); 160 EXPECT_FALSE(shelf_is_visible);
158 } 161 }
159 162
160 // Tests that onunload is run for cross-site requests. (Bug 1114994) 163 // Tests that onunload is run for cross-site requests. (Bug 1114994)
161 TEST_F(ResourceDispatcherTest, CrossSiteOnunloadCookie) { 164 TEST_F(ResourceDispatcherTest, CrossSiteOnunloadCookie) {
162 const wchar_t kDocRoot[] = L"chrome/test/data"; 165 const wchar_t kDocRoot[] = L"chrome/test/data";
163 scoped_refptr<HTTPTestServer> server(HTTPTestServer::CreateServer(kDocRoot)); 166 scoped_refptr<net::HTTPTestServer> server(
167 net::HTTPTestServer::CreateServer(kDocRoot));
164 ASSERT_TRUE(NULL != server.get()); 168 ASSERT_TRUE(NULL != server.get());
165 169
166 scoped_refptr<BrowserProxy> browser_proxy(automation()->GetBrowserWindow(0)); 170 scoped_refptr<BrowserProxy> browser_proxy(automation()->GetBrowserWindow(0));
167 ASSERT_TRUE(browser_proxy.get()); 171 ASSERT_TRUE(browser_proxy.get());
168 scoped_refptr<TabProxy> tab(browser_proxy->GetActiveTab()); 172 scoped_refptr<TabProxy> tab(browser_proxy->GetActiveTab());
169 ASSERT_TRUE(tab.get()); 173 ASSERT_TRUE(tab.get());
170 174
171 GURL url(server->TestServerPage("files/onunload_cookie.html")); 175 GURL url(server->TestServerPage("files/onunload_cookie.html"));
172 ASSERT_EQ(AUTOMATION_MSG_NAVIGATION_SUCCESS, tab->NavigateToURL(url)); 176 ASSERT_EQ(AUTOMATION_MSG_NAVIGATION_SUCCESS, tab->NavigateToURL(url));
173 177
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
247 ASSERT_EQ(AUTOMATION_MSG_NAVIGATION_SUCCESS, 251 ASSERT_EQ(AUTOMATION_MSG_NAVIGATION_SUCCESS,
248 tab->NavigateToURL(net::FilePathToFileURL(test_file))); 252 tab->NavigateToURL(net::FilePathToFileURL(test_file)));
249 EXPECT_EQ(L"Title Of Awesomeness", GetActiveTabTitle()); 253 EXPECT_EQ(L"Title Of Awesomeness", GetActiveTabTitle());
250 } 254 }
251 255
252 // Tests that a cross-site navigation to an error page (resulting in the link 256 // Tests that a cross-site navigation to an error page (resulting in the link
253 // doctor page) still runs the onunload handler and can support navigations 257 // doctor page) still runs the onunload handler and can support navigations
254 // away from the link doctor page. (Bug 1235537) 258 // away from the link doctor page. (Bug 1235537)
255 TEST_F(ResourceDispatcherTest, CrossSiteNavigationErrorPage) { 259 TEST_F(ResourceDispatcherTest, CrossSiteNavigationErrorPage) {
256 const wchar_t kDocRoot[] = L"chrome/test/data"; 260 const wchar_t kDocRoot[] = L"chrome/test/data";
257 scoped_refptr<HTTPTestServer> server(HTTPTestServer::CreateServer(kDocRoot)); 261 scoped_refptr<net::HTTPTestServer> server(
262 net::HTTPTestServer::CreateServer(kDocRoot));
258 ASSERT_TRUE(NULL != server.get()); 263 ASSERT_TRUE(NULL != server.get());
259 264
260 scoped_refptr<BrowserProxy> browser_proxy(automation()->GetBrowserWindow(0)); 265 scoped_refptr<BrowserProxy> browser_proxy(automation()->GetBrowserWindow(0));
261 ASSERT_TRUE(browser_proxy.get()); 266 ASSERT_TRUE(browser_proxy.get());
262 scoped_refptr<TabProxy> tab(browser_proxy->GetActiveTab()); 267 scoped_refptr<TabProxy> tab(browser_proxy->GetActiveTab());
263 ASSERT_TRUE(tab.get()); 268 ASSERT_TRUE(tab.get());
264 269
265 GURL url(server->TestServerPage("files/onunload_cookie.html")); 270 GURL url(server->TestServerPage("files/onunload_cookie.html"));
266 ASSERT_EQ(AUTOMATION_MSG_NAVIGATION_SUCCESS, tab->NavigateToURL(url)); 271 ASSERT_EQ(AUTOMATION_MSG_NAVIGATION_SUCCESS, tab->NavigateToURL(url));
267 272
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
329 GURL broken_url("chrome://theme"); 334 GURL broken_url("chrome://theme");
330 ASSERT_EQ(AUTOMATION_MSG_NAVIGATION_SUCCESS, tab->NavigateToURL(broken_url)); 335 ASSERT_EQ(AUTOMATION_MSG_NAVIGATION_SUCCESS, tab->NavigateToURL(broken_url));
331 336
332 // Make sure the navigation finishes. 337 // Make sure the navigation finishes.
333 std::wstring tab_title; 338 std::wstring tab_title;
334 EXPECT_TRUE(tab->GetTabTitle(&tab_title)); 339 EXPECT_TRUE(tab->GetTabTitle(&tab_title));
335 EXPECT_EQ(L"chrome://theme/ is not available", tab_title); 340 EXPECT_EQ(L"chrome://theme/ is not available", tab_title);
336 } 341 }
337 342
338 } // namespace 343 } // namespace
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698