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

Unified Diff: net/proxy/proxy_config_service_linux_unittest.cc

Issue 2094913002: Make base::Environment::Create() return unique_ptrs. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: '' Created 4 years, 6 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: net/proxy/proxy_config_service_linux_unittest.cc
diff --git a/net/proxy/proxy_config_service_linux_unittest.cc b/net/proxy/proxy_config_service_linux_unittest.cc
index 2c353c82ed69a8b42563961b8dc3187a81580654..ae17d54321461b4c726f2295acf68777a99b0e96 100644
--- a/net/proxy/proxy_config_service_linux_unittest.cc
+++ b/net/proxy/proxy_config_service_linux_unittest.cc
@@ -35,13 +35,19 @@ namespace {
struct EnvVarValues {
// The strange capitalization is so that the field matches the
// environment variable name exactly.
- const char *DESKTOP_SESSION, *HOME,
- *KDEHOME, *KDE_SESSION_VERSION,
- *XDG_CURRENT_DESKTOP,
- *auto_proxy, *all_proxy,
- *http_proxy, *https_proxy, *ftp_proxy,
- *SOCKS_SERVER, *SOCKS_VERSION,
- *no_proxy;
+ const char* DESKTOP_SESSION;
+ const char* HOME;
+ const char* KDEHOME;
+ const char* KDE_SESSION_VERSION;
+ const char* XDG_CURRENT_DESKTOP;
+ const char* auto_proxy;
+ const char* all_proxy;
+ const char* http_proxy;
+ const char* https_proxy;
+ const char* ftp_proxy;
+ const char* SOCKS_SERVER;
+ const char* SOCKS_VERSION;
+ const char* no_proxy;
};
// Undo macro pollution from GDK includes (from message_loop.h).
@@ -57,12 +63,21 @@ enum BoolSettingValue {
// Set of values for all gconf settings that we might query.
struct GConfValues {
// strings
- const char *mode, *autoconfig_url,
- *http_host, *secure_host, *ftp_host, *socks_host;
+ const char* mode;
+ const char* autoconfig_url;
+ const char* http_host;
+ const char* secure_host;
+ const char* ftp_host;
+ const char* socks_host;
// integers
- int http_port, secure_port, ftp_port, socks_port;
+ int http_port;
+ int secure_port;
+ int ftp_port;
+ int socks_port;
// booleans
- BoolSettingValue use_proxy, same_proxy, use_auth;
+ BoolSettingValue use_proxy;
+ BoolSettingValue same_proxy;
+ BoolSettingValue use_auth;
// string list
std::vector<std::string> ignore_hosts;
};
@@ -75,7 +90,7 @@ struct SettingsTable {
// Gets the value from its location
value_type Get(key_type key) {
- typename map_type::const_iterator it = settings.find(key);
+ auto it = settings.find(key);
// In case there's a typo or the unittest becomes out of sync.
CHECK(it != settings.end()) << "key " << key << " not found";
value_type* value_ptr = it->second;
@@ -88,7 +103,7 @@ struct SettingsTable {
class MockEnvironment : public base::Environment {
public:
MockEnvironment() {
-#define ENTRY(x) table[#x] = &values.x
+#define ENTRY(x) table_[#x] = &values.x
ENTRY(DESKTOP_SESSION);
ENTRY(HOME);
ENTRY(KDEHOME);
@@ -113,24 +128,23 @@ class MockEnvironment : public base::Environment {
}
// Begin base::Environment implementation.
- bool GetVar(const char* variable_name, std::string* result) override {
- std::map<std::string, const char**>::iterator it =
- table.find(variable_name);
- if (it != table.end() && *(it->second) != NULL) {
- // Note that the variable may be defined but empty.
- *result = *(it->second);
- return true;
- }
- return false;
+ bool GetVar(base::StringPiece variable_name, std::string* result) override {
+ auto it = table_.find(variable_name);
+ if (it == table_.end() || !*it->second)
+ return false;
+
+ // Note that the variable may be defined but empty.
+ *result = *(it->second);
+ return true;
}
- bool SetVar(const char* variable_name,
+ bool SetVar(base::StringPiece variable_name,
const std::string& new_value) override {
ADD_FAILURE();
return false;
}
- bool UnSetVar(const char* variable_name) override {
+ bool UnSetVar(base::StringPiece variable_name) override {
ADD_FAILURE();
return false;
}
@@ -140,7 +154,7 @@ class MockEnvironment : public base::Environment {
EnvVarValues values;
private:
- std::map<std::string, const char**> table;
+ std::map<base::StringPiece, const char**> table_;
};
class MockSettingGetter
@@ -688,10 +702,10 @@ TEST_F(ProxyConfigServiceLinuxTest, BasicGConfTest) {
for (size_t i = 0; i < arraysize(tests); ++i) {
SCOPED_TRACE(base::StringPrintf("Test[%" PRIuS "] %s", i,
tests[i].description.c_str()));
- MockEnvironment* env = new MockEnvironment;
+ std::unique_ptr<MockEnvironment> env(new MockEnvironment);
MockSettingGetter* setting_getter = new MockSettingGetter;
SynchConfigGetter sync_config_getter(
- new ProxyConfigServiceLinux(env, setting_getter));
+ new ProxyConfigServiceLinux(std::move(env), setting_getter));
ProxyConfig config;
setting_getter->values = tests[i].values;
sync_config_getter.SetupAndInitialFetch();
@@ -722,298 +736,307 @@ TEST_F(ProxyConfigServiceLinuxTest, BasicEnvTest) {
GURL pac_url;
ProxyRulesExpectation proxy_rules;
} tests[] = {
- {
- TEST_DESC("No proxying"),
- { // Input.
- NULL, // DESKTOP_SESSION
- NULL, // HOME
- NULL, // KDEHOME
- NULL, // KDE_SESSION_VERSION
- NULL, // XDG_CURRENT_DESKTOP
- NULL, // auto_proxy
- NULL, // all_proxy
- NULL, NULL, NULL, // per-proto proxies
- NULL, NULL, // SOCKS
- "*", // no_proxy
+ {
+ TEST_DESC("No proxying"),
+ {
+ // Input.
+ nullptr, // DESKTOP_SESSION
+ nullptr, // HOME
+ nullptr, // KDEHOME
+ nullptr, // KDE_SESSION_VERSION
+ nullptr, // XDG_CURRENT_DESKTOP
+ nullptr, // auto_proxy
+ nullptr, // all_proxy
+ nullptr, nullptr, nullptr, // per-proto proxies
+ nullptr, nullptr, // SOCKS
+ "*", // no_proxy
+ },
+
+ // Expected result.
+ ProxyConfigService::CONFIG_VALID,
+ false, // auto_detect
+ GURL(), // pac_url
+ ProxyRulesExpectation::Empty(),
},
- // Expected result.
- ProxyConfigService::CONFIG_VALID,
- false, // auto_detect
- GURL(), // pac_url
- ProxyRulesExpectation::Empty(),
- },
-
- {
- TEST_DESC("Auto detect"),
- { // Input.
- NULL, // DESKTOP_SESSION
- NULL, // HOME
- NULL, // KDEHOME
- NULL, // KDE_SESSION_VERSION
- NULL, // XDG_CURRENT_DESKTOP
- "", // auto_proxy
- NULL, // all_proxy
- NULL, NULL, NULL, // per-proto proxies
- NULL, NULL, // SOCKS
- NULL, // no_proxy
+ {
+ TEST_DESC("Auto detect"),
+ {
+ // Input.
+ nullptr, // DESKTOP_SESSION
+ nullptr, // HOME
+ nullptr, // KDEHOME
+ nullptr, // KDE_SESSION_VERSION
+ nullptr, // XDG_CURRENT_DESKTOP
+ "", // auto_proxy
+ nullptr, // all_proxy
+ nullptr, nullptr, nullptr, // per-proto proxies
+ nullptr, nullptr, // SOCKS
+ nullptr, // no_proxy
+ },
+
+ // Expected result.
+ ProxyConfigService::CONFIG_VALID,
+ true, // auto_detect
+ GURL(), // pac_url
+ ProxyRulesExpectation::Empty(),
},
- // Expected result.
- ProxyConfigService::CONFIG_VALID,
- true, // auto_detect
- GURL(), // pac_url
- ProxyRulesExpectation::Empty(),
- },
-
- {
- TEST_DESC("Valid PAC URL"),
- { // Input.
- NULL, // DESKTOP_SESSION
- NULL, // HOME
- NULL, // KDEHOME
- NULL, // KDE_SESSION_VERSION
- NULL, // XDG_CURRENT_DESKTOP
- "http://wpad/wpad.dat", // auto_proxy
- NULL, // all_proxy
- NULL, NULL, NULL, // per-proto proxies
- NULL, NULL, // SOCKS
- NULL, // no_proxy
+ {
+ TEST_DESC("Valid PAC URL"),
+ {
+ // Input.
+ nullptr, // DESKTOP_SESSION
+ nullptr, // HOME
+ nullptr, // KDEHOME
+ nullptr, // KDE_SESSION_VERSION
+ nullptr, // XDG_CURRENT_DESKTOP
+ "http://wpad/wpad.dat", // auto_proxy
+ nullptr, // all_proxy
+ nullptr, nullptr, nullptr, // per-proto proxies
+ nullptr, nullptr, // SOCKS
+ nullptr, // no_proxy
+ },
+
+ // Expected result.
+ ProxyConfigService::CONFIG_VALID,
+ false, // auto_detect
+ GURL("http://wpad/wpad.dat"), // pac_url
+ ProxyRulesExpectation::Empty(),
},
- // Expected result.
- ProxyConfigService::CONFIG_VALID,
- false, // auto_detect
- GURL("http://wpad/wpad.dat"), // pac_url
- ProxyRulesExpectation::Empty(),
- },
-
- {
- TEST_DESC("Invalid PAC URL"),
- { // Input.
- NULL, // DESKTOP_SESSION
- NULL, // HOME
- NULL, // KDEHOME
- NULL, // KDE_SESSION_VERSION
- NULL, // XDG_CURRENT_DESKTOP
- "wpad.dat", // auto_proxy
- NULL, // all_proxy
- NULL, NULL, NULL, // per-proto proxies
- NULL, NULL, // SOCKS
- NULL, // no_proxy
+ {
+ TEST_DESC("Invalid PAC URL"),
+ {
+ // Input.
+ nullptr, // DESKTOP_SESSION
+ nullptr, // HOME
+ nullptr, // KDEHOME
+ nullptr, // KDE_SESSION_VERSION
+ nullptr, // XDG_CURRENT_DESKTOP
+ "wpad.dat", // auto_proxy
+ nullptr, // all_proxy
+ nullptr, nullptr, nullptr, // per-proto proxies
+ nullptr, nullptr, // SOCKS
+ nullptr, // no_proxy
+ },
+
+ // Expected result.
+ ProxyConfigService::CONFIG_VALID,
+ false, // auto_detect
+ GURL(), // pac_url
+ ProxyRulesExpectation::Empty(),
},
- // Expected result.
- ProxyConfigService::CONFIG_VALID,
- false, // auto_detect
- GURL(), // pac_url
- ProxyRulesExpectation::Empty(),
- },
-
- {
- TEST_DESC("Single-host in proxy list"),
- { // Input.
- NULL, // DESKTOP_SESSION
- NULL, // HOME
- NULL, // KDEHOME
- NULL, // KDE_SESSION_VERSION
- NULL, // XDG_CURRENT_DESKTOP
- NULL, // auto_proxy
- "www.google.com", // all_proxy
- NULL, NULL, NULL, // per-proto proxies
- NULL, NULL, // SOCKS
- NULL, // no_proxy
+ {
+ TEST_DESC("Single-host in proxy list"),
+ {
+ // Input.
+ nullptr, // DESKTOP_SESSION
+ nullptr, // HOME
+ nullptr, // KDEHOME
+ nullptr, // KDE_SESSION_VERSION
+ nullptr, // XDG_CURRENT_DESKTOP
+ nullptr, // auto_proxy
+ "www.google.com", // all_proxy
+ nullptr, nullptr, nullptr, // per-proto proxies
+ nullptr, nullptr, // SOCKS
+ nullptr, // no_proxy
+ },
+
+ // Expected result.
+ ProxyConfigService::CONFIG_VALID,
+ false, // auto_detect
+ GURL(), // pac_url
+ ProxyRulesExpectation::Single("www.google.com:80", // single proxy
+ ""), // bypass rules
},
- // Expected result.
- ProxyConfigService::CONFIG_VALID,
- false, // auto_detect
- GURL(), // pac_url
- ProxyRulesExpectation::Single(
- "www.google.com:80", // single proxy
- ""), // bypass rules
- },
-
- {
- TEST_DESC("Single-host, different port"),
- { // Input.
- NULL, // DESKTOP_SESSION
- NULL, // HOME
- NULL, // KDEHOME
- NULL, // KDE_SESSION_VERSION
- NULL, // XDG_CURRENT_DESKTOP
- NULL, // auto_proxy
- "www.google.com:99", // all_proxy
- NULL, NULL, NULL, // per-proto proxies
- NULL, NULL, // SOCKS
- NULL, // no_proxy
+ {
+ TEST_DESC("Single-host, different port"),
+ {
+ // Input.
+ nullptr, // DESKTOP_SESSION
+ nullptr, // HOME
+ nullptr, // KDEHOME
+ nullptr, // KDE_SESSION_VERSION
+ nullptr, // XDG_CURRENT_DESKTOP
+ nullptr, // auto_proxy
+ "www.google.com:99", // all_proxy
+ nullptr, nullptr, nullptr, // per-proto proxies
+ nullptr, nullptr, // SOCKS
+ nullptr, // no_proxy
+ },
+
+ // Expected result.
+ ProxyConfigService::CONFIG_VALID,
+ false, // auto_detect
+ GURL(), // pac_url
+ ProxyRulesExpectation::Single("www.google.com:99", // single
+ ""), // bypass rules
},
- // Expected result.
- ProxyConfigService::CONFIG_VALID,
- false, // auto_detect
- GURL(), // pac_url
- ProxyRulesExpectation::Single(
- "www.google.com:99", // single
- ""), // bypass rules
- },
-
- {
- TEST_DESC("Tolerate a scheme"),
- { // Input.
- NULL, // DESKTOP_SESSION
- NULL, // HOME
- NULL, // KDEHOME
- NULL, // KDE_SESSION_VERSION
- NULL, // XDG_CURRENT_DESKTOP
- NULL, // auto_proxy
- "http://www.google.com:99", // all_proxy
- NULL, NULL, NULL, // per-proto proxies
- NULL, NULL, // SOCKS
- NULL, // no_proxy
+ {
+ TEST_DESC("Tolerate a scheme"),
+ {
+ // Input.
+ nullptr, // DESKTOP_SESSION
+ nullptr, // HOME
+ nullptr, // KDEHOME
+ nullptr, // KDE_SESSION_VERSION
+ nullptr, // XDG_CURRENT_DESKTOP
+ nullptr, // auto_proxy
+ "http://www.google.com:99", // all_proxy
+ nullptr, nullptr, nullptr, // per-proto proxies
+ nullptr, nullptr, // SOCKS
+ nullptr, // no_proxy
+ },
+
+ // Expected result.
+ ProxyConfigService::CONFIG_VALID,
+ false, // auto_detect
+ GURL(), // pac_url
+ ProxyRulesExpectation::Single("www.google.com:99", // single proxy
+ ""), // bypass rules
},
- // Expected result.
- ProxyConfigService::CONFIG_VALID,
- false, // auto_detect
- GURL(), // pac_url
- ProxyRulesExpectation::Single(
- "www.google.com:99", // single proxy
- ""), // bypass rules
- },
-
- {
- TEST_DESC("Per-scheme proxy rules"),
- { // Input.
- NULL, // DESKTOP_SESSION
- NULL, // HOME
- NULL, // KDEHOME
- NULL, // KDE_SESSION_VERSION
- NULL, // XDG_CURRENT_DESKTOP
- NULL, // auto_proxy
- NULL, // all_proxy
- "www.google.com:80", "www.foo.com:110", "ftp.foo.com:121", // per-proto
- NULL, NULL, // SOCKS
- NULL, // no_proxy
+ {
+ TEST_DESC("Per-scheme proxy rules"),
+ {
+ // Input.
+ nullptr, // DESKTOP_SESSION
+ nullptr, // HOME
+ nullptr, // KDEHOME
+ nullptr, // KDE_SESSION_VERSION
+ nullptr, // XDG_CURRENT_DESKTOP
+ nullptr, // auto_proxy
+ nullptr, // all_proxy
+ "www.google.com:80", "www.foo.com:110",
+ "ftp.foo.com:121", // per-proto
+ nullptr, nullptr, // SOCKS
+ nullptr, // no_proxy
+ },
+
+ // Expected result.
+ ProxyConfigService::CONFIG_VALID,
+ false, // auto_detect
+ GURL(), // pac_url
+ ProxyRulesExpectation::PerScheme("www.google.com:80", // http
+ "www.foo.com:110", // https
+ "ftp.foo.com:121", // ftp
+ ""), // bypass rules
},
- // Expected result.
- ProxyConfigService::CONFIG_VALID,
- false, // auto_detect
- GURL(), // pac_url
- ProxyRulesExpectation::PerScheme(
- "www.google.com:80", // http
- "www.foo.com:110", // https
- "ftp.foo.com:121", // ftp
- ""), // bypass rules
- },
-
- {
- TEST_DESC("socks"),
- { // Input.
- NULL, // DESKTOP_SESSION
- NULL, // HOME
- NULL, // KDEHOME
- NULL, // KDE_SESSION_VERSION
- NULL, // XDG_CURRENT_DESKTOP
- NULL, // auto_proxy
- "", // all_proxy
- NULL, NULL, NULL, // per-proto proxies
- "socks.com:888", NULL, // SOCKS
- NULL, // no_proxy
+ {
+ TEST_DESC("socks"),
+ {
+ // Input.
+ nullptr, // DESKTOP_SESSION
+ nullptr, // HOME
+ nullptr, // KDEHOME
+ nullptr, // KDE_SESSION_VERSION
+ nullptr, // XDG_CURRENT_DESKTOP
+ nullptr, // auto_proxy
+ "", // all_proxy
+ nullptr, nullptr, nullptr, // per-proto proxies
+ "socks.com:888", nullptr, // SOCKS
+ nullptr, // no_proxy
+ },
+
+ // Expected result.
+ ProxyConfigService::CONFIG_VALID,
+ false, // auto_detect
+ GURL(), // pac_url
+ ProxyRulesExpectation::Single(
+ "socks5://socks.com:888", // single proxy
+ ""), // bypass rules
},
- // Expected result.
- ProxyConfigService::CONFIG_VALID,
- false, // auto_detect
- GURL(), // pac_url
- ProxyRulesExpectation::Single(
- "socks5://socks.com:888", // single proxy
- ""), // bypass rules
- },
-
- {
- TEST_DESC("socks4"),
- { // Input.
- NULL, // DESKTOP_SESSION
- NULL, // HOME
- NULL, // KDEHOME
- NULL, // KDE_SESSION_VERSION
- NULL, // XDG_CURRENT_DESKTOP
- NULL, // auto_proxy
- "", // all_proxy
- NULL, NULL, NULL, // per-proto proxies
- "socks.com:888", "4", // SOCKS
- NULL, // no_proxy
+ {
+ TEST_DESC("socks4"),
+ {
+ // Input.
+ nullptr, // DESKTOP_SESSION
+ nullptr, // HOME
+ nullptr, // KDEHOME
+ nullptr, // KDE_SESSION_VERSION
+ nullptr, // XDG_CURRENT_DESKTOP
+ nullptr, // auto_proxy
+ "", // all_proxy
+ nullptr, nullptr, nullptr, // per-proto proxies
+ "socks.com:888", "4", // SOCKS
+ nullptr, // no_proxy
+ },
+
+ // Expected result.
+ ProxyConfigService::CONFIG_VALID,
+ false, // auto_detect
+ GURL(), // pac_url
+ ProxyRulesExpectation::Single(
+ "socks4://socks.com:888", // single proxy
+ ""), // bypass rules
},
- // Expected result.
- ProxyConfigService::CONFIG_VALID,
- false, // auto_detect
- GURL(), // pac_url
- ProxyRulesExpectation::Single(
- "socks4://socks.com:888", // single proxy
- ""), // bypass rules
- },
-
- {
- TEST_DESC("socks default port"),
- { // Input.
- NULL, // DESKTOP_SESSION
- NULL, // HOME
- NULL, // KDEHOME
- NULL, // KDE_SESSION_VERSION
- NULL, // XDG_CURRENT_DESKTOP
- NULL, // auto_proxy
- "", // all_proxy
- NULL, NULL, NULL, // per-proto proxies
- "socks.com", NULL, // SOCKS
- NULL, // no_proxy
+ {
+ TEST_DESC("socks default port"),
+ {
+ // Input.
+ nullptr, // DESKTOP_SESSION
+ nullptr, // HOME
+ nullptr, // KDEHOME
+ nullptr, // KDE_SESSION_VERSION
+ nullptr, // XDG_CURRENT_DESKTOP
+ nullptr, // auto_proxy
+ "", // all_proxy
+ nullptr, nullptr, nullptr, // per-proto proxies
+ "socks.com", nullptr, // SOCKS
+ nullptr, // no_proxy
+ },
+
+ // Expected result.
+ ProxyConfigService::CONFIG_VALID,
+ false, // auto_detect
+ GURL(), // pac_url
+ ProxyRulesExpectation::Single(
+ "socks5://socks.com:1080", // single proxy
+ ""), // bypass rules
},
- // Expected result.
- ProxyConfigService::CONFIG_VALID,
- false, // auto_detect
- GURL(), // pac_url
- ProxyRulesExpectation::Single(
- "socks5://socks.com:1080", // single proxy
- ""), // bypass rules
- },
-
- {
- TEST_DESC("bypass"),
- { // Input.
- NULL, // DESKTOP_SESSION
- NULL, // HOME
- NULL, // KDEHOME
- NULL, // KDE_SESSION_VERSION
- NULL, // XDG_CURRENT_DESKTOP
- NULL, // auto_proxy
- "www.google.com", // all_proxy
- NULL, NULL, NULL, // per-proto
- NULL, NULL, // SOCKS
- ".google.com, foo.com:99, 1.2.3.4:22, 127.0.0.1/8", // no_proxy
+ {
+ TEST_DESC("bypass"),
+ {
+ // Input.
+ nullptr, // DESKTOP_SESSION
+ nullptr, // HOME
+ nullptr, // KDEHOME
+ nullptr, // KDE_SESSION_VERSION
+ nullptr, // XDG_CURRENT_DESKTOP
+ nullptr, // auto_proxy
+ "www.google.com", // all_proxy
+ nullptr, nullptr, nullptr, // per-proto
+ nullptr, nullptr, // SOCKS
+ ".google.com, foo.com:99, 1.2.3.4:22, 127.0.0.1/8", // no_proxy
+ },
+
+ // Expected result.
+ ProxyConfigService::CONFIG_VALID,
+ false, // auto_detect
+ GURL(), // pac_url
+ ProxyRulesExpectation::Single(
+ "www.google.com:80",
+ "*.google.com,*foo.com:99,1.2.3.4:22,127.0.0.1/8"),
},
-
- // Expected result.
- ProxyConfigService::CONFIG_VALID,
- false, // auto_detect
- GURL(), // pac_url
- ProxyRulesExpectation::Single(
- "www.google.com:80",
- "*.google.com,*foo.com:99,1.2.3.4:22,127.0.0.1/8"),
- },
};
for (size_t i = 0; i < arraysize(tests); ++i) {
SCOPED_TRACE(base::StringPrintf("Test[%" PRIuS "] %s", i,
tests[i].description.c_str()));
- MockEnvironment* env = new MockEnvironment;
+ std::unique_ptr<MockEnvironment> env(new MockEnvironment);
+ env->values = tests[i].values;
MockSettingGetter* setting_getter = new MockSettingGetter;
SynchConfigGetter sync_config_getter(
- new ProxyConfigServiceLinux(env, setting_getter));
+ new ProxyConfigServiceLinux(std::move(env), setting_getter));
ProxyConfig config;
- env->values = tests[i].values;
sync_config_getter.SetupAndInitialFetch();
ProxyConfigService::ConfigAvailability availability =
sync_config_getter.SyncGetLatestProxyConfig(&config);
@@ -1028,10 +1051,10 @@ TEST_F(ProxyConfigServiceLinuxTest, BasicEnvTest) {
}
TEST_F(ProxyConfigServiceLinuxTest, GconfNotification) {
- MockEnvironment* env = new MockEnvironment;
+ std::unique_ptr<MockEnvironment> env(new MockEnvironment);
MockSettingGetter* setting_getter = new MockSettingGetter;
ProxyConfigServiceLinux* service =
- new ProxyConfigServiceLinux(env, setting_getter);
+ new ProxyConfigServiceLinux(std::move(env), setting_getter);
SynchConfigGetter sync_config_getter(service);
ProxyConfig config;
@@ -1074,452 +1097,442 @@ TEST_F(ProxyConfigServiceLinuxTest, KDEConfigParser) {
GURL pac_url;
ProxyRulesExpectation proxy_rules;
} tests[] = {
- {
- TEST_DESC("No proxying"),
-
- // Input.
- "[Proxy Settings]\nProxyType=0\n",
- {}, // env_values
-
- // Expected result.
- ProxyConfigService::CONFIG_VALID,
- false, // auto_detect
- GURL(), // pac_url
- ProxyRulesExpectation::Empty(),
- },
+ {
+ TEST_DESC("No proxying"),
+
+ // Input.
+ "[Proxy Settings]\nProxyType=0\n",
+ {}, // env_values
+
+ // Expected result.
+ ProxyConfigService::CONFIG_VALID,
+ false, // auto_detect
+ GURL(), // pac_url
+ ProxyRulesExpectation::Empty(),
+ },
- {
- TEST_DESC("Auto detect"),
+ {
+ TEST_DESC("Auto detect"),
- // Input.
- "[Proxy Settings]\nProxyType=3\n",
- {}, // env_values
+ // Input.
+ "[Proxy Settings]\nProxyType=3\n",
+ {}, // env_values
- // Expected result.
- ProxyConfigService::CONFIG_VALID,
- true, // auto_detect
- GURL(), // pac_url
- ProxyRulesExpectation::Empty(),
- },
+ // Expected result.
+ ProxyConfigService::CONFIG_VALID,
+ true, // auto_detect
+ GURL(), // pac_url
+ ProxyRulesExpectation::Empty(),
+ },
- {
- TEST_DESC("Valid PAC URL"),
+ {
+ TEST_DESC("Valid PAC URL"),
- // Input.
- "[Proxy Settings]\nProxyType=2\n"
+ // Input.
+ "[Proxy Settings]\nProxyType=2\n"
"Proxy Config Script=http://wpad/wpad.dat\n",
- {}, // env_values
+ {}, // env_values
- // Expected result.
- ProxyConfigService::CONFIG_VALID,
- false, // auto_detect
- GURL("http://wpad/wpad.dat"), // pac_url
- ProxyRulesExpectation::Empty(),
- },
+ // Expected result.
+ ProxyConfigService::CONFIG_VALID,
+ false, // auto_detect
+ GURL("http://wpad/wpad.dat"), // pac_url
+ ProxyRulesExpectation::Empty(),
+ },
- {
- TEST_DESC("Valid PAC file without file://"),
+ {
+ TEST_DESC("Valid PAC file without file://"),
- // Input.
- "[Proxy Settings]\nProxyType=2\n"
+ // Input.
+ "[Proxy Settings]\nProxyType=2\n"
"Proxy Config Script=/wpad/wpad.dat\n",
- {}, // env_values
+ {}, // env_values
- // Expected result.
- ProxyConfigService::CONFIG_VALID,
- false, // auto_detect
- GURL("file:///wpad/wpad.dat"), // pac_url
- ProxyRulesExpectation::Empty(),
- },
+ // Expected result.
+ ProxyConfigService::CONFIG_VALID,
+ false, // auto_detect
+ GURL("file:///wpad/wpad.dat"), // pac_url
+ ProxyRulesExpectation::Empty(),
+ },
- {
- TEST_DESC("Per-scheme proxy rules"),
+ {
+ TEST_DESC("Per-scheme proxy rules"),
- // Input.
- "[Proxy Settings]\nProxyType=1\nhttpProxy=www.google.com\n"
+ // Input.
+ "[Proxy Settings]\nProxyType=1\nhttpProxy=www.google.com\n"
"httpsProxy=www.foo.com\nftpProxy=ftp.foo.com\n",
- {}, // env_values
-
- // Expected result.
- ProxyConfigService::CONFIG_VALID,
- false, // auto_detect
- GURL(), // pac_url
- ProxyRulesExpectation::PerScheme(
- "www.google.com:80", // http
- "www.foo.com:80", // https
- "ftp.foo.com:80", // http
- ""), // bypass rules
- },
+ {}, // env_values
+
+ // Expected result.
+ ProxyConfigService::CONFIG_VALID,
+ false, // auto_detect
+ GURL(), // pac_url
+ ProxyRulesExpectation::PerScheme("www.google.com:80", // http
+ "www.foo.com:80", // https
+ "ftp.foo.com:80", // http
+ ""), // bypass rules
+ },
- {
- TEST_DESC("Only HTTP proxy specified"),
+ {
+ TEST_DESC("Only HTTP proxy specified"),
- // Input.
- "[Proxy Settings]\nProxyType=1\n"
+ // Input.
+ "[Proxy Settings]\nProxyType=1\n"
"httpProxy=www.google.com\n",
- {}, // env_values
-
- // Expected result.
- ProxyConfigService::CONFIG_VALID,
- false, // auto_detect
- GURL(), // pac_url
- ProxyRulesExpectation::PerScheme(
- "www.google.com:80", // http
- "", // https
- "", // ftp
- ""), // bypass rules
- },
+ {}, // env_values
+
+ // Expected result.
+ ProxyConfigService::CONFIG_VALID,
+ false, // auto_detect
+ GURL(), // pac_url
+ ProxyRulesExpectation::PerScheme("www.google.com:80", // http
+ "", // https
+ "", // ftp
+ ""), // bypass rules
+ },
- {
- TEST_DESC("Only HTTP proxy specified, different port"),
+ {
+ TEST_DESC("Only HTTP proxy specified, different port"),
- // Input.
- "[Proxy Settings]\nProxyType=1\n"
+ // Input.
+ "[Proxy Settings]\nProxyType=1\n"
"httpProxy=www.google.com:88\n",
- {}, // env_values
-
- // Expected result.
- ProxyConfigService::CONFIG_VALID,
- false, // auto_detect
- GURL(), // pac_url
- ProxyRulesExpectation::PerScheme(
- "www.google.com:88", // http
- "", // https
- "", // ftp
- ""), // bypass rules
- },
+ {}, // env_values
+
+ // Expected result.
+ ProxyConfigService::CONFIG_VALID,
+ false, // auto_detect
+ GURL(), // pac_url
+ ProxyRulesExpectation::PerScheme("www.google.com:88", // http
+ "", // https
+ "", // ftp
+ ""), // bypass rules
+ },
- {
- TEST_DESC("Only HTTP proxy specified, different port, space-delimited"),
+ {
+ TEST_DESC(
+ "Only HTTP proxy specified, different port, space-delimited"),
- // Input.
- "[Proxy Settings]\nProxyType=1\n"
+ // Input.
+ "[Proxy Settings]\nProxyType=1\n"
"httpProxy=www.google.com 88\n",
- {}, // env_values
-
- // Expected result.
- ProxyConfigService::CONFIG_VALID,
- false, // auto_detect
- GURL(), // pac_url
- ProxyRulesExpectation::PerScheme(
- "www.google.com:88", // http
- "", // https
- "", // ftp
- ""), // bypass rules
- },
+ {}, // env_values
+
+ // Expected result.
+ ProxyConfigService::CONFIG_VALID,
+ false, // auto_detect
+ GURL(), // pac_url
+ ProxyRulesExpectation::PerScheme("www.google.com:88", // http
+ "", // https
+ "", // ftp
+ ""), // bypass rules
+ },
- {
- TEST_DESC("Bypass *.google.com"),
+ {
+ TEST_DESC("Bypass *.google.com"),
- // Input.
- "[Proxy Settings]\nProxyType=1\nhttpProxy=www.google.com\n"
+ // Input.
+ "[Proxy Settings]\nProxyType=1\nhttpProxy=www.google.com\n"
"NoProxyFor=.google.com\n",
- {}, // env_values
-
- // Expected result.
- ProxyConfigService::CONFIG_VALID,
- false, // auto_detect
- GURL(), // pac_url
- ProxyRulesExpectation::PerScheme(
- "www.google.com:80", // http
- "", // https
- "", // ftp
- "*.google.com"), // bypass rules
- },
+ {}, // env_values
+
+ // Expected result.
+ ProxyConfigService::CONFIG_VALID,
+ false, // auto_detect
+ GURL(), // pac_url
+ ProxyRulesExpectation::PerScheme("www.google.com:80", // http
+ "", // https
+ "", // ftp
+ "*.google.com"), // bypass rules
+ },
- {
- TEST_DESC("Bypass *.google.com and *.kde.org"),
+ {
+ TEST_DESC("Bypass *.google.com and *.kde.org"),
- // Input.
- "[Proxy Settings]\nProxyType=1\nhttpProxy=www.google.com\n"
+ // Input.
+ "[Proxy Settings]\nProxyType=1\nhttpProxy=www.google.com\n"
"NoProxyFor=.google.com,.kde.org\n",
- {}, // env_values
-
- // Expected result.
- ProxyConfigService::CONFIG_VALID,
- false, // auto_detect
- GURL(), // pac_url
- ProxyRulesExpectation::PerScheme(
- "www.google.com:80", // http
- "", // https
- "", // ftp
- "*.google.com,*.kde.org"), // bypass rules
- },
+ {}, // env_values
+
+ // Expected result.
+ ProxyConfigService::CONFIG_VALID,
+ false, // auto_detect
+ GURL(), // pac_url
+ ProxyRulesExpectation::PerScheme(
+ "www.google.com:80", // http
+ "", // https
+ "", // ftp
+ "*.google.com,*.kde.org"), // bypass rules
+ },
- {
- TEST_DESC("Correctly parse bypass list with ReversedException"),
+ {
+ TEST_DESC("Correctly parse bypass list with ReversedException"),
- // Input.
- "[Proxy Settings]\nProxyType=1\nhttpProxy=www.google.com\n"
+ // Input.
+ "[Proxy Settings]\nProxyType=1\nhttpProxy=www.google.com\n"
"NoProxyFor=.google.com\nReversedException=true\n",
- {}, // env_values
-
- // Expected result.
- ProxyConfigService::CONFIG_VALID,
- false, // auto_detect
- GURL(), // pac_url
- ProxyRulesExpectation::PerSchemeWithBypassReversed(
- "www.google.com:80", // http
- "", // https
- "", // ftp
- "*.google.com"), // bypass rules
- },
+ {}, // env_values
+
+ // Expected result.
+ ProxyConfigService::CONFIG_VALID,
+ false, // auto_detect
+ GURL(), // pac_url
+ ProxyRulesExpectation::PerSchemeWithBypassReversed(
+ "www.google.com:80", // http
+ "", // https
+ "", // ftp
+ "*.google.com"), // bypass rules
+ },
- {
- TEST_DESC("socks"),
+ {
+ TEST_DESC("socks"),
- // Input.
- "[Proxy Settings]\nProxyType=1\nsocksProxy=socks.com 888\n",
- {}, // env_values
+ // Input.
+ "[Proxy Settings]\nProxyType=1\nsocksProxy=socks.com 888\n",
+ {}, // env_values
- // Expected result.
- ProxyConfigService::CONFIG_VALID,
- false, // auto_detect
- GURL(), // pac_url
- ProxyRulesExpectation::Single(
- "socks5://socks.com:888", // single proxy
- ""), // bypass rules
- },
+ // Expected result.
+ ProxyConfigService::CONFIG_VALID,
+ false, // auto_detect
+ GURL(), // pac_url
+ ProxyRulesExpectation::Single(
+ "socks5://socks.com:888", // single proxy
+ ""), // bypass rules
+ },
- {
- TEST_DESC("socks4"),
+ {
+ TEST_DESC("socks4"),
- // Input.
- "[Proxy Settings]\nProxyType=1\nsocksProxy=socks4://socks.com 888\n",
- {}, // env_values
+ // Input.
+ "[Proxy Settings]\nProxyType=1\nsocksProxy=socks4://socks.com 888\n",
+ {}, // env_values
- // Expected result.
- ProxyConfigService::CONFIG_VALID,
- false, // auto_detect
- GURL(), // pac_url
- ProxyRulesExpectation::Single(
- "socks4://socks.com:888", // single proxy
- ""), // bypass rules
- },
+ // Expected result.
+ ProxyConfigService::CONFIG_VALID,
+ false, // auto_detect
+ GURL(), // pac_url
+ ProxyRulesExpectation::Single(
+ "socks4://socks.com:888", // single proxy
+ ""), // bypass rules
+ },
- {
- TEST_DESC("Treat all hostname patterns as wildcard patterns"),
+ {
+ TEST_DESC("Treat all hostname patterns as wildcard patterns"),
- // Input.
- "[Proxy Settings]\nProxyType=1\nhttpProxy=www.google.com\n"
+ // Input.
+ "[Proxy Settings]\nProxyType=1\nhttpProxy=www.google.com\n"
"NoProxyFor=google.com,kde.org,<local>\n",
- {}, // env_values
-
- // Expected result.
- ProxyConfigService::CONFIG_VALID,
- false, // auto_detect
- GURL(), // pac_url
- ProxyRulesExpectation::PerScheme(
- "www.google.com:80", // http
- "", // https
- "", // ftp
- "*google.com,*kde.org,<local>"), // bypass rules
- },
+ {}, // env_values
+
+ // Expected result.
+ ProxyConfigService::CONFIG_VALID,
+ false, // auto_detect
+ GURL(), // pac_url
+ ProxyRulesExpectation::PerScheme(
+ "www.google.com:80", // http
+ "", // https
+ "", // ftp
+ "*google.com,*kde.org,<local>"), // bypass rules
+ },
- {
- TEST_DESC("Allow trailing whitespace after boolean value"),
+ {
+ TEST_DESC("Allow trailing whitespace after boolean value"),
- // Input.
- "[Proxy Settings]\nProxyType=1\nhttpProxy=www.google.com\n"
+ // Input.
+ "[Proxy Settings]\nProxyType=1\nhttpProxy=www.google.com\n"
"NoProxyFor=.google.com\nReversedException=true \n",
- {}, // env_values
-
- // Expected result.
- ProxyConfigService::CONFIG_VALID,
- false, // auto_detect
- GURL(), // pac_url
- ProxyRulesExpectation::PerSchemeWithBypassReversed(
- "www.google.com:80", // http
- "", // https
- "", // ftp
- "*.google.com"), // bypass rules
- },
+ {}, // env_values
+
+ // Expected result.
+ ProxyConfigService::CONFIG_VALID,
+ false, // auto_detect
+ GURL(), // pac_url
+ ProxyRulesExpectation::PerSchemeWithBypassReversed(
+ "www.google.com:80", // http
+ "", // https
+ "", // ftp
+ "*.google.com"), // bypass rules
+ },
- {
- TEST_DESC("Ignore settings outside [Proxy Settings]"),
+ {
+ TEST_DESC("Ignore settings outside [Proxy Settings]"),
- // Input.
- "httpsProxy=www.foo.com\n[Proxy Settings]\nProxyType=1\n"
+ // Input.
+ "httpsProxy=www.foo.com\n[Proxy Settings]\nProxyType=1\n"
"httpProxy=www.google.com\n[Other Section]\nftpProxy=ftp.foo.com\n",
- {}, // env_values
-
- // Expected result.
- ProxyConfigService::CONFIG_VALID,
- false, // auto_detect
- GURL(), // pac_url
- ProxyRulesExpectation::PerScheme(
- "www.google.com:80", // http
- "", // https
- "", // ftp
- ""), // bypass rules
- },
-
- {
- TEST_DESC("Handle CRLF line endings"),
-
- // Input.
- "[Proxy Settings]\r\nProxyType=1\r\nhttpProxy=www.google.com\r\n",
- {}, // env_values
-
- // Expected result.
- ProxyConfigService::CONFIG_VALID,
- false, // auto_detect
- GURL(), // pac_url
- ProxyRulesExpectation::PerScheme(
- "www.google.com:80", // http
- "", // https
- "", // ftp
- ""), // bypass rules
- },
-
- {
- TEST_DESC("Handle blank lines and mixed line endings"),
-
- // Input.
- "[Proxy Settings]\r\n\nProxyType=1\n\r\nhttpProxy=www.google.com\n\n",
- {}, // env_values
+ {}, // env_values
+
+ // Expected result.
+ ProxyConfigService::CONFIG_VALID,
+ false, // auto_detect
+ GURL(), // pac_url
+ ProxyRulesExpectation::PerScheme("www.google.com:80", // http
+ "", // https
+ "", // ftp
+ ""), // bypass rules
+ },
- // Expected result.
- ProxyConfigService::CONFIG_VALID,
- false, // auto_detect
- GURL(), // pac_url
- ProxyRulesExpectation::PerScheme(
- "www.google.com:80", // http
- "", // https
- "", // ftp
- ""), // bypass rules
- },
+ {
+ TEST_DESC("Handle CRLF line endings"),
+
+ // Input.
+ "[Proxy Settings]\r\nProxyType=1\r\nhttpProxy=www.google.com\r\n",
+ {}, // env_values
+
+ // Expected result.
+ ProxyConfigService::CONFIG_VALID,
+ false, // auto_detect
+ GURL(), // pac_url
+ ProxyRulesExpectation::PerScheme("www.google.com:80", // http
+ "", // https
+ "", // ftp
+ ""), // bypass rules
+ },
- {
- TEST_DESC("Handle localized settings"),
+ {
+ TEST_DESC("Handle blank lines and mixed line endings"),
+
+ // Input.
+ "[Proxy Settings]\r\n\nProxyType=1\n\r\nhttpProxy=www.google.com\n\n",
+ {}, // env_values
+
+ // Expected result.
+ ProxyConfigService::CONFIG_VALID,
+ false, // auto_detect
+ GURL(), // pac_url
+ ProxyRulesExpectation::PerScheme("www.google.com:80", // http
+ "", // https
+ "", // ftp
+ ""), // bypass rules
+ },
- // Input.
- "[Proxy Settings]\nProxyType[$e]=1\nhttpProxy[$e]=www.google.com\n",
- {}, // env_values
+ {
+ TEST_DESC("Handle localized settings"),
+
+ // Input.
+ "[Proxy Settings]\nProxyType[$e]=1\nhttpProxy[$e]=www.google.com\n",
+ {}, // env_values
+
+ // Expected result.
+ ProxyConfigService::CONFIG_VALID,
+ false, // auto_detect
+ GURL(), // pac_url
+ ProxyRulesExpectation::PerScheme("www.google.com:80", // http
+ "", // https
+ "", // ftp
+ ""), // bypass rules
+ },
- // Expected result.
- ProxyConfigService::CONFIG_VALID,
- false, // auto_detect
- GURL(), // pac_url
- ProxyRulesExpectation::PerScheme(
- "www.google.com:80", // http
- "", // https
- "", // ftp
- ""), // bypass rules
- },
+ {
+ TEST_DESC("Ignore malformed localized settings"),
- {
- TEST_DESC("Ignore malformed localized settings"),
-
- // Input.
- "[Proxy Settings]\nProxyType=1\nhttpProxy=www.google.com\n"
+ // Input.
+ "[Proxy Settings]\nProxyType=1\nhttpProxy=www.google.com\n"
"httpsProxy$e]=www.foo.com\nftpProxy=ftp.foo.com\n",
- {}, // env_values
-
- // Expected result.
- ProxyConfigService::CONFIG_VALID,
- false, // auto_detect
- GURL(), // pac_url
- ProxyRulesExpectation::PerScheme(
- "www.google.com:80", // http
- "", // https
- "ftp.foo.com:80", // ftp
- ""), // bypass rules
- },
+ {}, // env_values
+
+ // Expected result.
+ ProxyConfigService::CONFIG_VALID,
+ false, // auto_detect
+ GURL(), // pac_url
+ ProxyRulesExpectation::PerScheme("www.google.com:80", // http
+ "", // https
+ "ftp.foo.com:80", // ftp
+ ""), // bypass rules
+ },
- {
- TEST_DESC("Handle strange whitespace"),
+ {
+ TEST_DESC("Handle strange whitespace"),
- // Input.
- "[Proxy Settings]\nProxyType [$e] =2\n"
+ // Input.
+ "[Proxy Settings]\nProxyType [$e] =2\n"
" Proxy Config Script = http:// foo\n",
- {}, // env_values
-
- // Expected result.
- ProxyConfigService::CONFIG_VALID,
- false, // auto_detect
- GURL("http:// foo"), // pac_url
- ProxyRulesExpectation::Empty(),
- },
-
- {
- TEST_DESC("Ignore all of a line which is too long"),
+ {}, // env_values
- // Input.
- std::string("[Proxy Settings]\nProxyType=1\nftpProxy=ftp.foo.com\n") +
- long_line + "httpsProxy=www.foo.com\nhttpProxy=www.google.com\n",
- {}, // env_values
+ // Expected result.
+ ProxyConfigService::CONFIG_VALID,
+ false, // auto_detect
+ GURL("http:// foo"), // pac_url
+ ProxyRulesExpectation::Empty(),
+ },
- // Expected result.
- ProxyConfigService::CONFIG_VALID,
- false, // auto_detect
- GURL(), // pac_url
- ProxyRulesExpectation::PerScheme(
- "www.google.com:80", // http
- "", // https
- "ftp.foo.com:80", // ftp
- ""), // bypass rules
- },
+ {
+ TEST_DESC("Ignore all of a line which is too long"),
+
+ // Input.
+ std::string("[Proxy Settings]\nProxyType=1\nftpProxy=ftp.foo.com\n") +
+ long_line + "httpsProxy=www.foo.com\nhttpProxy=www.google.com\n",
+ {}, // env_values
+
+ // Expected result.
+ ProxyConfigService::CONFIG_VALID,
+ false, // auto_detect
+ GURL(), // pac_url
+ ProxyRulesExpectation::PerScheme("www.google.com:80", // http
+ "", // https
+ "ftp.foo.com:80", // ftp
+ ""), // bypass rules
+ },
- {
- TEST_DESC("Indirect Proxy - no env vars set"),
+ {
+ TEST_DESC("Indirect Proxy - no env vars set"),
- // Input.
- "[Proxy Settings]\nProxyType=4\nhttpProxy=http_proxy\n"
+ // Input.
+ "[Proxy Settings]\nProxyType=4\nhttpProxy=http_proxy\n"
"httpsProxy=https_proxy\nftpProxy=ftp_proxy\nNoProxyFor=no_proxy\n",
- {}, // env_values
+ {}, // env_values
- // Expected result.
- ProxyConfigService::CONFIG_VALID,
- false, // auto_detect
- GURL(), // pac_url
- ProxyRulesExpectation::Empty(),
- },
+ // Expected result.
+ ProxyConfigService::CONFIG_VALID,
+ false, // auto_detect
+ GURL(), // pac_url
+ ProxyRulesExpectation::Empty(),
+ },
- {
- TEST_DESC("Indirect Proxy - with env vars set"),
+ {
+ TEST_DESC("Indirect Proxy - with env vars set"),
- // Input.
- "[Proxy Settings]\nProxyType=4\nhttpProxy=http_proxy\n"
+ // Input.
+ "[Proxy Settings]\nProxyType=4\nhttpProxy=http_proxy\n"
"httpsProxy=https_proxy\nftpProxy=ftp_proxy\nNoProxyFor=no_proxy\n",
- { // env_values
- NULL, // DESKTOP_SESSION
- NULL, // HOME
- NULL, // KDEHOME
- NULL, // KDE_SESSION_VERSION
- NULL, // XDG_CURRENT_DESKTOP
- NULL, // auto_proxy
- NULL, // all_proxy
- "www.normal.com", // http_proxy
- "www.secure.com", // https_proxy
- "ftp.foo.com", // ftp_proxy
- NULL, NULL, // SOCKS
- ".google.com, .kde.org", // no_proxy
+ {
+ // env_values
+ nullptr, // DESKTOP_SESSION
+ nullptr, // HOME
+ nullptr, // KDEHOME
+ nullptr, // KDE_SESSION_VERSION
+ nullptr, // XDG_CURRENT_DESKTOP
+ nullptr, // auto_proxy
+ nullptr, // all_proxy
+ "www.normal.com", // http_proxy
+ "www.secure.com", // https_proxy
+ "ftp.foo.com", // ftp_proxy
+ nullptr, nullptr, // SOCKS
+ ".google.com, .kde.org", // no_proxy
+ },
+
+ // Expected result.
+ ProxyConfigService::CONFIG_VALID,
+ false, // auto_detect
+ GURL(), // pac_url
+ ProxyRulesExpectation::PerScheme(
+ "www.normal.com:80", // http
+ "www.secure.com:80", // https
+ "ftp.foo.com:80", // ftp
+ "*.google.com,*.kde.org"), // bypass rules
},
-
- // Expected result.
- ProxyConfigService::CONFIG_VALID,
- false, // auto_detect
- GURL(), // pac_url
- ProxyRulesExpectation::PerScheme(
- "www.normal.com:80", // http
- "www.secure.com:80", // https
- "ftp.foo.com:80", // ftp
- "*.google.com,*.kde.org"), // bypass rules
- },
-
};
for (size_t i = 0; i < arraysize(tests); ++i) {
SCOPED_TRACE(base::StringPrintf("Test[%" PRIuS "] %s", i,
tests[i].description.c_str()));
- MockEnvironment* env = new MockEnvironment;
+ std::unique_ptr<MockEnvironment> env(new MockEnvironment);
env->values = tests[i].env_values;
// Force the KDE getter to be used and tell it where the test is.
env->values.DESKTOP_SESSION = "kde4";
env->values.KDEHOME = kde_home_.value().c_str();
SynchConfigGetter sync_config_getter(
- new ProxyConfigServiceLinux(env));
+ new ProxyConfigServiceLinux(std::move(env)));
ProxyConfig config;
// Overwrite the kioslaverc file.
base::WriteFile(kioslaverc_, tests[i].kioslaverc.c_str(),
@@ -1561,11 +1574,11 @@ TEST_F(ProxyConfigServiceLinuxTest, KDEHomePicker) {
CHECK(!base::DirectoryExists(kde4_home_));
{ SCOPED_TRACE("KDE4, no .kde4 directory, verify fallback");
- MockEnvironment* env = new MockEnvironment;
+ std::unique_ptr<MockEnvironment> env(new MockEnvironment);
env->values.DESKTOP_SESSION = "kde4";
env->values.HOME = user_home_.value().c_str();
SynchConfigGetter sync_config_getter(
- new ProxyConfigServiceLinux(env));
+ new ProxyConfigServiceLinux(std::move(env)));
ProxyConfig config;
sync_config_getter.SetupAndInitialFetch();
EXPECT_EQ(ProxyConfigService::CONFIG_VALID,
@@ -1581,11 +1594,11 @@ TEST_F(ProxyConfigServiceLinuxTest, KDEHomePicker) {
CHECK(base::PathExists(kioslaverc4_));
{ SCOPED_TRACE("KDE4, .kde4 directory present, use it");
- MockEnvironment* env = new MockEnvironment;
+ std::unique_ptr<MockEnvironment> env(new MockEnvironment);
env->values.DESKTOP_SESSION = "kde4";
env->values.HOME = user_home_.value().c_str();
SynchConfigGetter sync_config_getter(
- new ProxyConfigServiceLinux(env));
+ new ProxyConfigServiceLinux(std::move(env)));
ProxyConfig config;
sync_config_getter.SetupAndInitialFetch();
EXPECT_EQ(ProxyConfigService::CONFIG_VALID,
@@ -1595,11 +1608,11 @@ TEST_F(ProxyConfigServiceLinuxTest, KDEHomePicker) {
}
{ SCOPED_TRACE("KDE3, .kde4 directory present, ignore it");
- MockEnvironment* env = new MockEnvironment;
+ std::unique_ptr<MockEnvironment> env(new MockEnvironment);
env->values.DESKTOP_SESSION = "kde";
env->values.HOME = user_home_.value().c_str();
SynchConfigGetter sync_config_getter(
- new ProxyConfigServiceLinux(env));
+ new ProxyConfigServiceLinux(std::move(env)));
ProxyConfig config;
sync_config_getter.SetupAndInitialFetch();
EXPECT_EQ(ProxyConfigService::CONFIG_VALID,
@@ -1609,12 +1622,12 @@ TEST_F(ProxyConfigServiceLinuxTest, KDEHomePicker) {
}
{ SCOPED_TRACE("KDE4, .kde4 directory present, KDEHOME set to .kde");
- MockEnvironment* env = new MockEnvironment;
+ std::unique_ptr<MockEnvironment> env(new MockEnvironment);
env->values.DESKTOP_SESSION = "kde4";
env->values.HOME = user_home_.value().c_str();
env->values.KDEHOME = kde_home_.value().c_str();
SynchConfigGetter sync_config_getter(
- new ProxyConfigServiceLinux(env));
+ new ProxyConfigServiceLinux(std::move(env)));
ProxyConfig config;
sync_config_getter.SetupAndInitialFetch();
EXPECT_EQ(ProxyConfigService::CONFIG_VALID,
@@ -1628,11 +1641,11 @@ TEST_F(ProxyConfigServiceLinuxTest, KDEHomePicker) {
base::TouchFile(kde4_config_, base::Time(), base::Time());
{ SCOPED_TRACE("KDE4, very old .kde4 directory present, use .kde");
- MockEnvironment* env = new MockEnvironment;
+ std::unique_ptr<MockEnvironment> env(new MockEnvironment);
env->values.DESKTOP_SESSION = "kde4";
env->values.HOME = user_home_.value().c_str();
SynchConfigGetter sync_config_getter(
- new ProxyConfigServiceLinux(env));
+ new ProxyConfigServiceLinux(std::move(env)));
ProxyConfig config;
sync_config_getter.SetupAndInitialFetch();
EXPECT_EQ(ProxyConfigService::CONFIG_VALID,
@@ -1648,11 +1661,12 @@ TEST_F(ProxyConfigServiceLinuxTest, KDEHomePicker) {
{
SCOPED_TRACE("KDE5, .kde and .kde4 present, use .config");
- MockEnvironment* env = new MockEnvironment;
+ std::unique_ptr<MockEnvironment> env(new MockEnvironment);
env->values.XDG_CURRENT_DESKTOP = "KDE";
env->values.KDE_SESSION_VERSION = "5";
env->values.HOME = user_home_.value().c_str();
- SynchConfigGetter sync_config_getter(new ProxyConfigServiceLinux(env));
+ SynchConfigGetter sync_config_getter(
+ new ProxyConfigServiceLinux(std::move(env)));
ProxyConfig config;
sync_config_getter.SetupAndInitialFetch();
EXPECT_EQ(ProxyConfigService::CONFIG_VALID,

Powered by Google App Engine
This is Rietveld 408576698