| 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));
|
| -}
|
|
|