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

Side by Side Diff: net/url_request/url_request_unittest.cc

Issue 7833042: Finalize a CL originally by departed intern ycxiao@ that detaches the loading of cookies from the... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years, 3 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 | Annotate | Revision Log
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 "build/build_config.h" 5 #include "build/build_config.h"
6 6
7 #if defined(OS_WIN) 7 #if defined(OS_WIN)
8 #include <shlobj.h> 8 #include <shlobj.h>
9 #include <windows.h> 9 #include <windows.h>
10 #endif 10 #endif
11 11
12 #include <algorithm> 12 #include <algorithm>
13 #include <string> 13 #include <string>
14 14
15 #include "base/basictypes.h" 15 #include "base/basictypes.h"
16 #include "base/bind.h"
16 #include "base/compiler_specific.h" 17 #include "base/compiler_specific.h"
17 #include "base/file_util.h" 18 #include "base/file_util.h"
18 #include "base/format_macros.h" 19 #include "base/format_macros.h"
19 #include "base/message_loop.h" 20 #include "base/message_loop.h"
20 #include "base/path_service.h" 21 #include "base/path_service.h"
21 #include "base/process_util.h" 22 #include "base/process_util.h"
22 #include "base/string_number_conversions.h" 23 #include "base/string_number_conversions.h"
23 #include "base/string_piece.h" 24 #include "base/string_piece.h"
24 #include "base/string_util.h" 25 #include "base/string_util.h"
25 #include "base/stringprintf.h" 26 #include "base/stringprintf.h"
(...skipping 1984 matching lines...) Expand 10 before | Expand all | Expand 10 after
2010 EXPECT_TRUE(d.data_received().find("CookieToNotSave=1") 2011 EXPECT_TRUE(d.data_received().find("CookieToNotSave=1")
2011 == std::string::npos); 2012 == std::string::npos);
2012 EXPECT_TRUE(d.data_received().find("CookieToNotUpdate=2") 2013 EXPECT_TRUE(d.data_received().find("CookieToNotUpdate=2")
2013 != std::string::npos); 2014 != std::string::npos);
2014 2015
2015 EXPECT_EQ(0, d.blocked_get_cookies_count()); 2016 EXPECT_EQ(0, d.blocked_get_cookies_count());
2016 EXPECT_EQ(0, d.blocked_set_cookie_count()); 2017 EXPECT_EQ(0, d.blocked_set_cookie_count());
2017 } 2018 }
2018 } 2019 }
2019 2020
2021 void CheckCookiePolicyCallback(bool* was_run, const CookieList& cookies) {
2022 EXPECT_EQ(1U, cookies.size());
2023 EXPECT_FALSE(cookies[0].IsPersistent());
2024 *was_run = true;
2025 MessageLoop::current()->PostTask(FROM_HERE, new MessageLoop::QuitTask());
2026 }
2027
2020 TEST_F(URLRequestTest, CookiePolicy_ForceSession) { 2028 TEST_F(URLRequestTest, CookiePolicy_ForceSession) {
2021 TestServer test_server(TestServer::TYPE_HTTP, FilePath()); 2029 TestServer test_server(TestServer::TYPE_HTTP, FilePath());
2022 ASSERT_TRUE(test_server.Start()); 2030 ASSERT_TRUE(test_server.Start());
2023 2031
2024 // Set up a cookie. 2032 // Set up a cookie.
2025 { 2033 {
2026 TestDelegate d; 2034 TestDelegate d;
2027 d.set_cookie_options(TestDelegate::FORCE_SESSION); 2035 d.set_cookie_options(TestDelegate::FORCE_SESSION);
2028 URLRequest req(test_server.GetURL( 2036 URLRequest req(test_server.GetURL(
2029 "set-cookie?A=1;expires=\"Fri, 05 Feb 2010 23:42:01 GMT\""), &d); 2037 "set-cookie?A=1;expires=\"Fri, 05 Feb 2010 23:42:01 GMT\""), &d);
2030 req.set_context(default_context_); 2038 req.set_context(default_context_);
2031 req.Start(); // Triggers an asynchronous cookie policy check. 2039 req.Start(); // Triggers an asynchronous cookie policy check.
2032 2040
2033 MessageLoop::current()->Run(); 2041 MessageLoop::current()->Run();
2034 2042
2035 EXPECT_EQ(0, d.blocked_get_cookies_count()); 2043 EXPECT_EQ(0, d.blocked_get_cookies_count());
2036 EXPECT_EQ(0, d.blocked_set_cookie_count()); 2044 EXPECT_EQ(0, d.blocked_set_cookie_count());
2037 } 2045 }
2038 2046
2039 // Now, check the cookie store. 2047 // Now, check the cookie store.
2040 CookieList cookies = 2048 bool was_run = false;
2041 default_context_->cookie_store()->GetCookieMonster()->GetAllCookies(); 2049 default_context_->cookie_store()->GetCookieMonster()->GetAllCookiesAsync(
2042 EXPECT_EQ(1U, cookies.size()); 2050 base::Bind(&CheckCookiePolicyCallback, &was_run));
2043 EXPECT_FALSE(cookies[0].IsPersistent()); 2051 MessageLoop::current()->RunAllPending();
2052 DCHECK(was_run);
2044 } 2053 }
2045 2054
2046 // In this test, we do a POST which the server will 302 redirect. 2055 // In this test, we do a POST which the server will 302 redirect.
2047 // The subsequent transaction should use GET, and should not send the 2056 // The subsequent transaction should use GET, and should not send the
2048 // Content-Type header. 2057 // Content-Type header.
2049 // http://code.google.com/p/chromium/issues/detail?id=843 2058 // http://code.google.com/p/chromium/issues/detail?id=843
2050 TEST_F(URLRequestTestHTTP, Post302RedirectGet) { 2059 TEST_F(URLRequestTestHTTP, Post302RedirectGet) {
2051 ASSERT_TRUE(test_server_.Start()); 2060 ASSERT_TRUE(test_server_.Start());
2052 2061
2053 const char kData[] = "hello world"; 2062 const char kData[] = "hello world";
(...skipping 1114 matching lines...) Expand 10 before | Expand all | Expand 10 after
3168 req.SetExtraRequestHeaders(headers); 3177 req.SetExtraRequestHeaders(headers);
3169 req.Start(); 3178 req.Start();
3170 MessageLoop::current()->Run(); 3179 MessageLoop::current()->Run();
3171 // If the net tests are being run with ChromeFrame then we need to allow for 3180 // If the net tests are being run with ChromeFrame then we need to allow for
3172 // the 'chromeframe' suffix which is added to the user agent before the 3181 // the 'chromeframe' suffix which is added to the user agent before the
3173 // closing parentheses. 3182 // closing parentheses.
3174 EXPECT_TRUE(StartsWithASCII(d.data_received(), "Lynx (textmode", true)); 3183 EXPECT_TRUE(StartsWithASCII(d.data_received(), "Lynx (textmode", true));
3175 } 3184 }
3176 3185
3177 } // namespace net 3186 } // namespace net
OLDNEW
« no previous file with comments | « net/url_request/url_request_http_job.cc ('k') | webkit/tools/test_shell/simple_resource_loader_bridge.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698