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

Side by Side Diff: chrome/browser/prefs/proxy_prefs_unittest.cc

Issue 6240013: Make proxy settings one atomic dictionary in the PrefStores such that modifications are atomic. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/out/Debug
Patch Set: Updated to ToT and addressed Matt's comments in base-CL Created 9 years, 10 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) 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 <string> 5 #include <string>
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/scoped_ptr.h"
8 #include "base/values.h" 9 #include "base/values.h"
9 #include "base/version.h" 10 #include "base/version.h"
10 #include "chrome/browser/prefs/proxy_prefs.h" 11 #include "chrome/browser/prefs/proxy_prefs.h"
11 #include "testing/gtest/include/gtest/gtest.h" 12 #include "testing/gtest/include/gtest/gtest.h"
12 13
14 struct ProxyPrefsHolder {
15 ProxyPrefs::ProxyMode mode;
16 std::string pac_url;
17 std::string proxy_server;
18 std::string bypass_list;
19 };
20
13 TEST(ProxyPrefsTest, StringToProxyMode) { 21 TEST(ProxyPrefsTest, StringToProxyMode) {
14 ProxyPrefs::ProxyMode mode; 22 ProxyPrefs::ProxyMode mode;
15 EXPECT_TRUE(ProxyPrefs::StringToProxyMode("direct", &mode)); 23 EXPECT_TRUE(ProxyPrefs::StringToProxyMode("direct", &mode));
16 EXPECT_EQ(ProxyPrefs::MODE_DIRECT, mode); 24 EXPECT_EQ(ProxyPrefs::MODE_DIRECT, mode);
17 EXPECT_TRUE(ProxyPrefs::StringToProxyMode("auto_detect", &mode)); 25 EXPECT_TRUE(ProxyPrefs::StringToProxyMode("auto_detect", &mode));
18 EXPECT_EQ(ProxyPrefs::MODE_AUTO_DETECT, mode); 26 EXPECT_EQ(ProxyPrefs::MODE_AUTO_DETECT, mode);
19 EXPECT_TRUE(ProxyPrefs::StringToProxyMode("pac_script", &mode)); 27 EXPECT_TRUE(ProxyPrefs::StringToProxyMode("pac_script", &mode));
20 EXPECT_EQ(ProxyPrefs::MODE_PAC_SCRIPT, mode); 28 EXPECT_EQ(ProxyPrefs::MODE_PAC_SCRIPT, mode);
21 EXPECT_TRUE(ProxyPrefs::StringToProxyMode("system", &mode)); 29 EXPECT_TRUE(ProxyPrefs::StringToProxyMode("system", &mode));
22 EXPECT_EQ(ProxyPrefs::MODE_SYSTEM, mode); 30 EXPECT_EQ(ProxyPrefs::MODE_SYSTEM, mode);
(...skipping 20 matching lines...) Expand all
43 EXPECT_TRUE(ProxyPrefs::IntToProxyMode(2, &mode)); 51 EXPECT_TRUE(ProxyPrefs::IntToProxyMode(2, &mode));
44 EXPECT_EQ(ProxyPrefs::MODE_PAC_SCRIPT, mode); 52 EXPECT_EQ(ProxyPrefs::MODE_PAC_SCRIPT, mode);
45 EXPECT_TRUE(ProxyPrefs::IntToProxyMode(3, &mode)); 53 EXPECT_TRUE(ProxyPrefs::IntToProxyMode(3, &mode));
46 EXPECT_EQ(ProxyPrefs::MODE_FIXED_SERVERS, mode); 54 EXPECT_EQ(ProxyPrefs::MODE_FIXED_SERVERS, mode);
47 EXPECT_TRUE(ProxyPrefs::IntToProxyMode(4, &mode)); 55 EXPECT_TRUE(ProxyPrefs::IntToProxyMode(4, &mode));
48 EXPECT_EQ(ProxyPrefs::MODE_SYSTEM, mode); 56 EXPECT_EQ(ProxyPrefs::MODE_SYSTEM, mode);
49 57
50 EXPECT_FALSE(ProxyPrefs::IntToProxyMode(-1, &mode)); 58 EXPECT_FALSE(ProxyPrefs::IntToProxyMode(-1, &mode));
51 EXPECT_FALSE(ProxyPrefs::IntToProxyMode(ProxyPrefs::kModeCount, &mode)); 59 EXPECT_FALSE(ProxyPrefs::IntToProxyMode(ProxyPrefs::kModeCount, &mode));
52 } 60 }
61
62 TEST(ProxyPrefsTest, CreateDirect) {
63 scoped_ptr<DictionaryValue> dict_value(ProxyPrefsDictionary::CreateDirect());
64 ProxyPrefsDictionary dict(dict_value.get());
65 ProxyPrefsHolder h;
66
67 ASSERT_TRUE(dict.GetMode(&h.mode));
68 EXPECT_EQ(ProxyPrefs::MODE_DIRECT, h.mode);
69 ASSERT_FALSE(dict.GetPacUrl(&h.bypass_list));
70 ASSERT_FALSE(dict.GetProxyServer(&h.proxy_server));
71 ASSERT_FALSE(dict.GetBypassList(&h.bypass_list));
72 }
73
74 TEST(ProxyPrefsTest, CreateAutoDetect) {
75 scoped_ptr<DictionaryValue> dict_value(
76 ProxyPrefsDictionary::CreateAutoDetect());
77 ProxyPrefsDictionary dict(dict_value.get());
78 ProxyPrefsHolder h;
79
80 ASSERT_TRUE(dict.GetMode(&h.mode));
81 EXPECT_EQ(ProxyPrefs::MODE_AUTO_DETECT, h.mode);
82 ASSERT_FALSE(dict.GetPacUrl(&h.bypass_list));
83 ASSERT_FALSE(dict.GetProxyServer(&h.proxy_server));
84 ASSERT_FALSE(dict.GetBypassList(&h.bypass_list));
85 }
86
87 TEST(ProxyPrefsTest, CreatePacScript) {
88 scoped_ptr<DictionaryValue> dict_value(
89 ProxyPrefsDictionary::CreatePacScript("pac"));
90 ProxyPrefsDictionary dict(dict_value.get());
91 ProxyPrefsHolder h;
92
93 ASSERT_TRUE(dict.GetMode(&h.mode));
94 EXPECT_EQ(ProxyPrefs::MODE_PAC_SCRIPT, h.mode);
95 ASSERT_TRUE(dict.GetPacUrl(&h.bypass_list));
96 EXPECT_EQ("pac", h.bypass_list);
97 ASSERT_FALSE(dict.GetProxyServer(&h.proxy_server));
98 ASSERT_FALSE(dict.GetBypassList(&h.bypass_list));
99 }
100
101 TEST(ProxyPrefsTest, CreateFixedServers) {
102 scoped_ptr<DictionaryValue> dict_value(
103 ProxyPrefsDictionary::CreateFixedServers("http://1.2.3.4", "http://foo"));
104 ProxyPrefsDictionary dict(dict_value.get());
105 ProxyPrefsHolder h;
106
107 ASSERT_TRUE(dict.GetMode(&h.mode));
108 EXPECT_EQ(ProxyPrefs::MODE_FIXED_SERVERS, h.mode);
109 ASSERT_FALSE(dict.GetPacUrl(&h.bypass_list));
110 ASSERT_TRUE(dict.GetProxyServer(&h.proxy_server));
111 EXPECT_EQ("http://1.2.3.4", h.proxy_server);
112 ASSERT_TRUE(dict.GetBypassList(&h.bypass_list));
113 EXPECT_EQ("http://foo", h.bypass_list);
114 }
115
116 TEST(ProxyPrefsTest, CreateSystem) {
117 scoped_ptr<DictionaryValue> dict_value(ProxyPrefsDictionary::CreateSystem());
118 ProxyPrefsDictionary dict(dict_value.get());
119 ProxyPrefsHolder h;
120
121 ASSERT_TRUE(dict.GetMode(&h.mode));
122 EXPECT_EQ(ProxyPrefs::MODE_SYSTEM, h.mode);
123 ASSERT_FALSE(dict.GetPacUrl(&h.bypass_list));
124 ASSERT_FALSE(dict.GetProxyServer(&h.proxy_server));
125 ASSERT_FALSE(dict.GetBypassList(&h.bypass_list));
126 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698