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

Unified Diff: ios/net/cookies/cookie_store_ios_test_util.mm

Issue 2667753007: Divide Cookie Store IOS tests into different files (Closed)
Patch Set: rename unittest helper to test util and other renamings Created 3 years, 11 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ios/net/cookies/cookie_store_ios_test_util.h ('k') | ios/net/cookies/cookie_store_ios_unittest.mm » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ios/net/cookies/cookie_store_ios_test_util.mm
diff --git a/ios/net/cookies/cookie_store_ios_test_util.mm b/ios/net/cookies/cookie_store_ios_test_util.mm
new file mode 100644
index 0000000000000000000000000000000000000000..f3771b6be6078d28490b1d0e8ee4dab7ea08a1e6
--- /dev/null
+++ b/ios/net/cookies/cookie_store_ios_test_util.mm
@@ -0,0 +1,141 @@
+// Copyright 2017 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "ios/net/cookies/cookie_store_ios_test_util.h"
+
+#import <Foundation/Foundation.h>
+
+#include "base/run_loop.h"
+#import "ios/net/cookies/cookie_store_ios.h"
+#include "net/cookies/canonical_cookie.h"
+#include "net/cookies/cookie_options.h"
+#include "testing/gtest/include/gtest/gtest.h"
+
+namespace net {
+
+namespace {
+
+void IgnoreBoolean(bool not_used) {}
+
+} // namespace
+
+#pragma mark -
+#pragma mark TestPersistentCookieStore
+
+TestPersistentCookieStore::TestPersistentCookieStore()
+ : kTestCookieURL("http://foo.google.com/bar"), flushed_(false) {}
+
+TestPersistentCookieStore::~TestPersistentCookieStore() = default;
+
+#pragma mark -
+#pragma mark TestPersistentCookieStore methods
+
+void TestPersistentCookieStore::RunLoadedCallback() {
+ std::vector<std::unique_ptr<net::CanonicalCookie>> cookies;
+ net::CookieOptions options;
+ options.set_include_httponly();
+
+ std::unique_ptr<net::CanonicalCookie> cookie(net::CanonicalCookie::Create(
+ kTestCookieURL, "a=b", base::Time::Now(), options));
+ cookies.push_back(std::move(cookie));
+
+ std::unique_ptr<net::CanonicalCookie> bad_canonical_cookie(
+ net::CanonicalCookie::Create(
+ GURL("http://domain/"), "name", "\x81r\xe4\xbd\xa0\xe5\xa5\xbd",
+ std::string(), "/path/",
+ base::Time(), // creation
+ base::Time(), // expires
+ false, // secure
+ false, // httponly
+ net::CookieSameSite::DEFAULT_MODE, net::COOKIE_PRIORITY_DEFAULT));
+ cookies.push_back(std::move(bad_canonical_cookie));
+ loaded_callback_.Run(std::move(cookies));
+}
+
+bool TestPersistentCookieStore::flushed() {
+ return flushed_;
+}
+
+#pragma mark -
+#pragma mark Private methods
+
+void TestPersistentCookieStore::Load(const LoadedCallback& loaded_callback) {
+ loaded_callback_ = loaded_callback;
+}
+
+void TestPersistentCookieStore::LoadCookiesForKey(
+ const std::string& key,
+ const LoadedCallback& loaded_callback) {
+ loaded_callback_ = loaded_callback;
+}
+
+void TestPersistentCookieStore::AddCookie(const net::CanonicalCookie& cc) {}
+
+void TestPersistentCookieStore::UpdateCookieAccessTime(
+ const net::CanonicalCookie& cc) {}
+
+void TestPersistentCookieStore::DeleteCookie(const net::CanonicalCookie& cc) {}
+
+void TestPersistentCookieStore::SetForceKeepSessionState() {}
+
+void TestPersistentCookieStore::Flush(const base::Closure& callback) {
+ flushed_ = true;
+}
+
+#pragma mark -
+#pragma mark GetCookieCallback
+
+GetCookieCallback::GetCookieCallback() : did_run_(false) {}
+
+#pragma mark -
+#pragma mark GetCookieCallback methods
+
+bool GetCookieCallback::did_run() {
+ return did_run_;
+}
+
+const std::string& GetCookieCallback::cookie_line() {
+ return cookie_line_;
+}
+
+void GetCookieCallback::Run(const std::string& cookie_line) {
+ ASSERT_FALSE(did_run_);
+ did_run_ = true;
+ cookie_line_ = cookie_line;
+}
+
+//------------------------------------------------------------------------------
+
+void RecordCookieChanges(std::vector<net::CanonicalCookie>* out_cookies,
+ std::vector<bool>* out_removes,
+ const net::CanonicalCookie& cookie,
+ net::CookieStore::ChangeCause cause) {
+ DCHECK(out_cookies);
+ out_cookies->push_back(cookie);
+ if (out_removes)
+ out_removes->push_back(net::CookieStore::ChangeCauseIsDeletion(cause));
+}
+
+void SetCookie(const std::string& cookie_line,
+ const GURL& url,
+ net::CookieStore* store) {
+ net::CookieOptions options;
+ options.set_include_httponly();
+ store->SetCookieWithOptionsAsync(url, cookie_line, options,
+ base::Bind(&IgnoreBoolean));
+ net::CookieStoreIOS::NotifySystemCookiesChanged();
+ // Wait until the flush is posted.
+ base::RunLoop().RunUntilIdle();
+}
+
+void ClearCookies() {
+ NSHTTPCookieStorage* store = [NSHTTPCookieStorage sharedHTTPCookieStorage];
+ [store setCookieAcceptPolicy:NSHTTPCookieAcceptPolicyAlways];
+ NSArray* cookies = [store cookies];
+ for (NSHTTPCookie* cookie in cookies)
+ [store deleteCookie:cookie];
+ EXPECT_EQ(0u, [[store cookies] count]);
+}
+
+} // namespace net
« no previous file with comments | « ios/net/cookies/cookie_store_ios_test_util.h ('k') | ios/net/cookies/cookie_store_ios_unittest.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698