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

Unified Diff: chrome/browser/prefs/command_line_pref_store_unittest.cc

Issue 2419733005: Extract a base class from CommandLinePrefStore (Closed)
Patch Set: nit in comment Created 4 years, 2 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
Index: chrome/browser/prefs/command_line_pref_store_unittest.cc
diff --git a/chrome/browser/prefs/command_line_pref_store_unittest.cc b/chrome/browser/prefs/command_line_pref_store_unittest.cc
deleted file mode 100644
index 060d143114aebb4871171b2c913699a8ab7f6df5..0000000000000000000000000000000000000000
--- a/chrome/browser/prefs/command_line_pref_store_unittest.cc
+++ /dev/null
@@ -1,223 +0,0 @@
-// Copyright (c) 2012 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 <gtest/gtest.h>
-#include <stddef.h>
-
-#include "base/command_line.h"
-#include "base/macros.h"
-#include "base/memory/ref_counted.h"
-#include "base/strings/string_util.h"
-#include "base/values.h"
-#include "chrome/browser/prefs/command_line_pref_store.h"
-#include "chrome/common/chrome_switches.h"
-#include "chrome/common/pref_names.h"
-#include "components/proxy_config/proxy_config_dictionary.h"
-#include "components/proxy_config/proxy_config_pref_names.h"
-#include "components/ssl_config/ssl_config_prefs.h"
-#include "ui/base/ui_base_switches.h"
-
-namespace {
-
-const char unknown_bool[] = "unknown_switch";
-const char unknown_string[] = "unknown_other_switch";
-
-} // namespace
-
-class TestCommandLinePrefStore : public CommandLinePrefStore {
- public:
- explicit TestCommandLinePrefStore(base::CommandLine* cl)
- : CommandLinePrefStore(cl) {}
-
- bool ProxySwitchesAreValid() {
- return ValidateProxySwitches();
- }
-
- void VerifyProxyMode(ProxyPrefs::ProxyMode expected_mode) {
- const base::Value* value = NULL;
- ASSERT_TRUE(GetValue(proxy_config::prefs::kProxy, &value));
- ASSERT_EQ(base::Value::TYPE_DICTIONARY, value->GetType());
- ProxyConfigDictionary dict(
- static_cast<const base::DictionaryValue*>(value));
- ProxyPrefs::ProxyMode actual_mode;
- ASSERT_TRUE(dict.GetMode(&actual_mode));
- EXPECT_EQ(expected_mode, actual_mode);
- }
-
- void VerifySSLCipherSuites(const char* const* ciphers,
- size_t cipher_count) {
- const base::Value* value = NULL;
- ASSERT_TRUE(GetValue(ssl_config::prefs::kCipherSuiteBlacklist, &value));
- ASSERT_EQ(base::Value::TYPE_LIST, value->GetType());
- const base::ListValue* list_value =
- static_cast<const base::ListValue*>(value);
- ASSERT_EQ(cipher_count, list_value->GetSize());
-
- std::string cipher_string;
- for (base::ListValue::const_iterator it = list_value->begin();
- it != list_value->end(); ++it, ++ciphers) {
- ASSERT_TRUE((*it)->GetAsString(&cipher_string));
- EXPECT_EQ(*ciphers, cipher_string);
- }
- }
-
- private:
- ~TestCommandLinePrefStore() override {}
-};
-
-// Tests a simple string pref on the command line.
-TEST(CommandLinePrefStoreTest, SimpleStringPref) {
- base::CommandLine cl(base::CommandLine::NO_PROGRAM);
- cl.AppendSwitchASCII(switches::kLang, "hi-MOM");
- scoped_refptr<CommandLinePrefStore> store = new CommandLinePrefStore(&cl);
-
- const base::Value* actual = NULL;
- EXPECT_TRUE(store->GetValue(prefs::kApplicationLocale, &actual));
- std::string result;
- EXPECT_TRUE(actual->GetAsString(&result));
- EXPECT_EQ("hi-MOM", result);
-}
-
-// Tests a simple boolean pref on the command line.
-TEST(CommandLinePrefStoreTest, SimpleBooleanPref) {
- base::CommandLine cl(base::CommandLine::NO_PROGRAM);
- cl.AppendSwitch(switches::kNoProxyServer);
- scoped_refptr<TestCommandLinePrefStore> store =
- new TestCommandLinePrefStore(&cl);
-
- store->VerifyProxyMode(ProxyPrefs::MODE_DIRECT);
-}
-
-// Tests a command line with no recognized prefs.
-TEST(CommandLinePrefStoreTest, NoPrefs) {
- base::CommandLine cl(base::CommandLine::NO_PROGRAM);
- cl.AppendSwitch(unknown_string);
- cl.AppendSwitchASCII(unknown_bool, "a value");
- scoped_refptr<CommandLinePrefStore> store = new CommandLinePrefStore(&cl);
-
- const base::Value* actual = NULL;
- EXPECT_FALSE(store->GetValue(unknown_bool, &actual));
- EXPECT_FALSE(store->GetValue(unknown_string, &actual));
-}
-
-// Tests a complex command line with multiple known and unknown switches.
-TEST(CommandLinePrefStoreTest, MultipleSwitches) {
- base::CommandLine cl(base::CommandLine::NO_PROGRAM);
- cl.AppendSwitch(unknown_string);
- cl.AppendSwitchASCII(switches::kProxyServer, "proxy");
- cl.AppendSwitchASCII(switches::kProxyBypassList, "list");
- cl.AppendSwitchASCII(unknown_bool, "a value");
- scoped_refptr<TestCommandLinePrefStore> store =
- new TestCommandLinePrefStore(&cl);
-
- const base::Value* actual = NULL;
- EXPECT_FALSE(store->GetValue(unknown_bool, &actual));
- EXPECT_FALSE(store->GetValue(unknown_string, &actual));
-
- store->VerifyProxyMode(ProxyPrefs::MODE_FIXED_SERVERS);
-
- const base::Value* value = NULL;
- ASSERT_TRUE(store->GetValue(proxy_config::prefs::kProxy, &value));
- ASSERT_EQ(base::Value::TYPE_DICTIONARY, value->GetType());
- ProxyConfigDictionary dict(static_cast<const base::DictionaryValue*>(value));
-
- std::string string_result;
-
- ASSERT_TRUE(dict.GetProxyServer(&string_result));
- EXPECT_EQ("proxy", string_result);
-
- ASSERT_TRUE(dict.GetBypassList(&string_result));
- EXPECT_EQ("list", string_result);
-}
-
-// Tests proxy switch validation.
-TEST(CommandLinePrefStoreTest, ProxySwitchValidation) {
- base::CommandLine cl(base::CommandLine::NO_PROGRAM);
-
- // No switches.
- scoped_refptr<TestCommandLinePrefStore> store =
- new TestCommandLinePrefStore(&cl);
- EXPECT_TRUE(store->ProxySwitchesAreValid());
-
- // Only no-proxy.
- cl.AppendSwitch(switches::kNoProxyServer);
- scoped_refptr<TestCommandLinePrefStore> store2 =
- new TestCommandLinePrefStore(&cl);
- EXPECT_TRUE(store2->ProxySwitchesAreValid());
-
- // Another proxy switch too.
- cl.AppendSwitch(switches::kProxyAutoDetect);
- scoped_refptr<TestCommandLinePrefStore> store3 =
- new TestCommandLinePrefStore(&cl);
- EXPECT_FALSE(store3->ProxySwitchesAreValid());
-
- // All proxy switches except no-proxy.
- base::CommandLine cl2(base::CommandLine::NO_PROGRAM);
- cl2.AppendSwitch(switches::kProxyAutoDetect);
- cl2.AppendSwitchASCII(switches::kProxyServer, "server");
- cl2.AppendSwitchASCII(switches::kProxyPacUrl, "url");
- cl2.AppendSwitchASCII(switches::kProxyBypassList, "list");
- scoped_refptr<TestCommandLinePrefStore> store4 =
- new TestCommandLinePrefStore(&cl2);
- EXPECT_TRUE(store4->ProxySwitchesAreValid());
-}
-
-TEST(CommandLinePrefStoreTest, ManualProxyModeInference) {
- base::CommandLine cl1(base::CommandLine::NO_PROGRAM);
- cl1.AppendSwitch(unknown_string);
- cl1.AppendSwitchASCII(switches::kProxyServer, "proxy");
- scoped_refptr<TestCommandLinePrefStore> store1 =
- new TestCommandLinePrefStore(&cl1);
- store1->VerifyProxyMode(ProxyPrefs::MODE_FIXED_SERVERS);
-
- base::CommandLine cl2(base::CommandLine::NO_PROGRAM);
- cl2.AppendSwitchASCII(switches::kProxyPacUrl, "proxy");
- scoped_refptr<TestCommandLinePrefStore> store2 =
- new TestCommandLinePrefStore(&cl2);
- store2->VerifyProxyMode(ProxyPrefs::MODE_PAC_SCRIPT);
-
- base::CommandLine cl3(base::CommandLine::NO_PROGRAM);
- cl3.AppendSwitchASCII(switches::kProxyServer, std::string());
- scoped_refptr<TestCommandLinePrefStore> store3 =
- new TestCommandLinePrefStore(&cl3);
- store3->VerifyProxyMode(ProxyPrefs::MODE_DIRECT);
-}
-
-TEST(CommandLinePrefStoreTest, DisableSSLCipherSuites) {
- base::CommandLine cl1(base::CommandLine::NO_PROGRAM);
- cl1.AppendSwitchASCII(switches::kCipherSuiteBlacklist,
- "0x0004,0x0005");
- scoped_refptr<TestCommandLinePrefStore> store1 =
- new TestCommandLinePrefStore(&cl1);
- const char* const expected_ciphers1[] = {
- "0x0004",
- "0x0005",
- };
- store1->VerifySSLCipherSuites(expected_ciphers1,
- arraysize(expected_ciphers1));
-
- base::CommandLine cl2(base::CommandLine::NO_PROGRAM);
- cl2.AppendSwitchASCII(switches::kCipherSuiteBlacklist,
- "0x0004, WHITESPACE_IGNORED TEST , 0x0005");
- scoped_refptr<TestCommandLinePrefStore> store2 =
- new TestCommandLinePrefStore(&cl2);
- const char* const expected_ciphers2[] = {
- "0x0004",
- "WHITESPACE_IGNORED TEST",
- "0x0005",
- };
- store2->VerifySSLCipherSuites(expected_ciphers2,
- arraysize(expected_ciphers2));
-
- base::CommandLine cl3(base::CommandLine::NO_PROGRAM);
- cl3.AppendSwitchASCII(switches::kCipherSuiteBlacklist,
- "0x0004;MOAR;0x0005");
- scoped_refptr<TestCommandLinePrefStore> store3 =
- new TestCommandLinePrefStore(&cl3);
- const char* const expected_ciphers3[] = {
- "0x0004;MOAR;0x0005"
- };
- store3->VerifySSLCipherSuites(expected_ciphers3,
- arraysize(expected_ciphers3));
-}
« no previous file with comments | « chrome/browser/prefs/command_line_pref_store_ssl_manager_unittest.cc ('k') | chrome/browser/prefs/proxy_policy_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698