Index: net/proxy/proxy_config_unittest.cc |
diff --git a/net/proxy/proxy_config_unittest.cc b/net/proxy/proxy_config_unittest.cc |
index 4b041b343409d4edc3a840f739cf98e5721723a9..5ea135efa932f5bc5df01b21547027e1006b7543 100644 |
--- a/net/proxy/proxy_config_unittest.cc |
+++ b/net/proxy/proxy_config_unittest.cc |
@@ -107,204 +107,123 @@ TEST(ProxyConfigTest, ParseProxyRules) { |
const char* proxy_for_ftp; |
const char* fallback_proxy; |
} tests[] = { |
- // One HTTP proxy for all schemes. |
- { |
- "myproxy:80", |
- |
- ProxyConfig::ProxyRules::TYPE_SINGLE_PROXY, |
- "PROXY myproxy:80", |
- NULL, |
- NULL, |
- NULL, |
- NULL, |
- }, |
- |
- // Multiple HTTP proxies for all schemes. |
- { |
- "myproxy:80,https://myotherproxy", |
- |
- ProxyConfig::ProxyRules::TYPE_SINGLE_PROXY, |
- "PROXY myproxy:80;HTTPS myotherproxy:443", |
- NULL, |
- NULL, |
- NULL, |
- NULL, |
- }, |
- |
- // Only specify a proxy server for "http://" urls. |
- { |
- "http=myproxy:80", |
- |
- ProxyConfig::ProxyRules::TYPE_PROXY_PER_SCHEME, |
- NULL, |
- "PROXY myproxy:80", |
- NULL, |
- NULL, |
- NULL, |
- }, |
- |
- // Specify an HTTP proxy for "ftp://" and a SOCKS proxy for "https://" urls. |
- { |
- "ftp=ftp-proxy ; https=socks4://foopy", |
- |
- ProxyConfig::ProxyRules::TYPE_PROXY_PER_SCHEME, |
- NULL, |
- NULL, |
- "SOCKS foopy:1080", |
- "PROXY ftp-proxy:80", |
- NULL, |
- }, |
- |
- // Give a scheme-specific proxy as well as a non-scheme specific. |
- // The first entry "foopy" takes precedance marking this list as |
- // TYPE_SINGLE_PROXY. |
- { |
- "foopy ; ftp=ftp-proxy", |
- |
- ProxyConfig::ProxyRules::TYPE_SINGLE_PROXY, |
- "PROXY foopy:80", |
- NULL, |
- NULL, |
- NULL, |
- NULL, |
- }, |
- |
- // Give a scheme-specific proxy as well as a non-scheme specific. |
- // The first entry "ftp=ftp-proxy" takes precedance marking this list as |
- // TYPE_PROXY_PER_SCHEME. |
- { |
- "ftp=ftp-proxy ; foopy", |
- |
- ProxyConfig::ProxyRules::TYPE_PROXY_PER_SCHEME, |
- NULL, |
- NULL, |
- NULL, |
- "PROXY ftp-proxy:80", |
- NULL, |
- }, |
- |
- // Include a list of entries for a single scheme. |
- { |
- "ftp=ftp1,ftp2,ftp3", |
- |
- ProxyConfig::ProxyRules::TYPE_PROXY_PER_SCHEME, |
- NULL, |
- NULL, |
- NULL, |
- "PROXY ftp1:80;PROXY ftp2:80;PROXY ftp3:80", |
- NULL, |
- }, |
- |
- // Include multiple entries for the same scheme -- they accumulate. |
- { |
- "http=http1,http2; http=http3", |
- |
- ProxyConfig::ProxyRules::TYPE_PROXY_PER_SCHEME, |
- NULL, |
- "PROXY http1:80;PROXY http2:80;PROXY http3:80", |
- NULL, |
- NULL, |
- NULL, |
- }, |
- |
- // Include lists of entries for multiple schemes. |
- { |
- "ftp=ftp1,ftp2,ftp3 ; http=http1,http2; ", |
- |
- ProxyConfig::ProxyRules::TYPE_PROXY_PER_SCHEME, |
- NULL, |
- "PROXY http1:80;PROXY http2:80", |
- NULL, |
- "PROXY ftp1:80;PROXY ftp2:80;PROXY ftp3:80", |
- NULL, |
- }, |
- |
- // Include non-default proxy schemes. |
- { |
- "http=https://secure_proxy; ftp=socks4://socks_proxy; https=socks://foo", |
- |
- ProxyConfig::ProxyRules::TYPE_PROXY_PER_SCHEME, |
- NULL, |
- "HTTPS secure_proxy:443", |
- "SOCKS5 foo:1080", |
- "SOCKS socks_proxy:1080", |
- NULL, |
- }, |
- |
- // Only SOCKS proxy present, others being blank. |
- { |
- "socks=foopy", |
- |
- ProxyConfig::ProxyRules::TYPE_PROXY_PER_SCHEME, |
- NULL, |
- NULL, |
- NULL, |
- NULL, |
- "SOCKS foopy:1080", |
- }, |
- |
- // SOCKS proxy present along with other proxies too |
- { |
- "http=httpproxy ; https=httpsproxy ; ftp=ftpproxy ; socks=foopy ", |
- |
- ProxyConfig::ProxyRules::TYPE_PROXY_PER_SCHEME, |
- NULL, |
- "PROXY httpproxy:80", |
- "PROXY httpsproxy:80", |
- "PROXY ftpproxy:80", |
- "SOCKS foopy:1080", |
- }, |
- |
- // SOCKS proxy (with modifier) present along with some proxies |
- // (FTP being blank) |
- { |
- "http=httpproxy ; https=httpsproxy ; socks=socks5://foopy ", |
- |
- ProxyConfig::ProxyRules::TYPE_PROXY_PER_SCHEME, |
- NULL, |
- "PROXY httpproxy:80", |
- "PROXY httpsproxy:80", |
- NULL, |
- "SOCKS5 foopy:1080", |
- }, |
- |
- // Include unsupported schemes -- they are discarded. |
- { |
- "crazy=foopy ; foo=bar ; https=myhttpsproxy", |
- |
- ProxyConfig::ProxyRules::TYPE_PROXY_PER_SCHEME, |
- NULL, |
- NULL, |
- "PROXY myhttpsproxy:80", |
- NULL, |
- NULL, |
- }, |
- |
- // direct:// as first option for a scheme. |
- { |
- "http=direct://,myhttpproxy; https=direct://", |
- |
- ProxyConfig::ProxyRules::TYPE_PROXY_PER_SCHEME, |
- NULL, |
- "DIRECT;PROXY myhttpproxy:80", |
- "DIRECT", |
- NULL, |
- NULL, |
- }, |
- |
- // direct:// as a second option for a scheme. |
- { |
- "http=myhttpproxy,direct://", |
- |
- ProxyConfig::ProxyRules::TYPE_PROXY_PER_SCHEME, |
- NULL, |
- "PROXY myhttpproxy:80;DIRECT", |
- NULL, |
- NULL, |
- NULL, |
- }, |
- |
- }; |
+ // One HTTP proxy for all schemes. |
+ { |
+ "myproxy:80", ProxyConfig::ProxyRules::TYPE_SINGLE_PROXY, |
+ "PROXY myproxy:80", NULL, NULL, NULL, NULL, |
+ }, |
+ |
+ // Multiple HTTP proxies for all schemes. |
+ { |
+ "myproxy:80,https://myotherproxy", |
+ ProxyConfig::ProxyRules::TYPE_SINGLE_PROXY, |
+ "PROXY myproxy:80;HTTPS myotherproxy:443", NULL, NULL, NULL, NULL, |
+ }, |
+ |
+ // Only specify a proxy server for "http://" urls. |
+ { |
+ "http=myproxy:80", ProxyConfig::ProxyRules::TYPE_PROXY_PER_SCHEME, |
+ NULL, "PROXY myproxy:80", NULL, NULL, NULL, |
+ }, |
+ |
+ // Specify an HTTP proxy for "ftp://" and a SOCKS proxy for "https://" |
+ // urls. |
+ { |
+ "ftp=ftp-proxy ; https=socks4://foopy", |
+ ProxyConfig::ProxyRules::TYPE_PROXY_PER_SCHEME, NULL, NULL, |
+ "SOCKS foopy:1080", "PROXY ftp-proxy:80", NULL, |
+ }, |
+ |
+ // Give a scheme-specific proxy as well as a non-scheme specific. |
+ // The first entry "foopy" takes precedance marking this list as |
+ // TYPE_SINGLE_PROXY. |
+ { |
+ "foopy ; ftp=ftp-proxy", ProxyConfig::ProxyRules::TYPE_SINGLE_PROXY, |
+ "PROXY foopy:80", NULL, NULL, NULL, NULL, |
+ }, |
+ |
+ // Give a scheme-specific proxy as well as a non-scheme specific. |
+ // The first entry "ftp=ftp-proxy" takes precedance marking this list as |
+ // TYPE_PROXY_PER_SCHEME. |
+ { |
+ "ftp=ftp-proxy ; foopy", |
+ ProxyConfig::ProxyRules::TYPE_PROXY_PER_SCHEME, NULL, NULL, NULL, |
+ "PROXY ftp-proxy:80", NULL, |
+ }, |
+ |
+ // Include a list of entries for a single scheme. |
+ { |
+ "ftp=ftp1,ftp2,ftp3", ProxyConfig::ProxyRules::TYPE_PROXY_PER_SCHEME, |
+ NULL, NULL, NULL, "PROXY ftp1:80;PROXY ftp2:80;PROXY ftp3:80", NULL, |
+ }, |
+ |
+ // Include multiple entries for the same scheme -- they accumulate. |
+ { |
+ "http=http1,http2; http=http3", |
+ ProxyConfig::ProxyRules::TYPE_PROXY_PER_SCHEME, NULL, |
+ "PROXY http1:80;PROXY http2:80;PROXY http3:80", NULL, NULL, NULL, |
+ }, |
+ |
+ // Include lists of entries for multiple schemes. |
+ { |
+ "ftp=ftp1,ftp2,ftp3 ; http=http1,http2; ", |
+ ProxyConfig::ProxyRules::TYPE_PROXY_PER_SCHEME, NULL, |
+ "PROXY http1:80;PROXY http2:80", NULL, |
+ "PROXY ftp1:80;PROXY ftp2:80;PROXY ftp3:80", NULL, |
+ }, |
+ |
+ // Include non-default proxy schemes. |
+ { |
+ "http=https://secure_proxy; ftp=socks4://socks_proxy; " |
+ "https=socks://foo", |
+ ProxyConfig::ProxyRules::TYPE_PROXY_PER_SCHEME, NULL, |
+ "HTTPS secure_proxy:443", "SOCKS5 foo:1080", "SOCKS socks_proxy:1080", |
+ NULL, |
+ }, |
+ |
+ // Only SOCKS proxy present, others being blank. |
+ { |
+ "socks=foopy", ProxyConfig::ProxyRules::TYPE_PROXY_PER_SCHEME, NULL, |
+ NULL, NULL, NULL, "SOCKS foopy:1080", |
+ }, |
+ |
+ // SOCKS proxy present along with other proxies too |
+ { |
+ "http=httpproxy ; https=httpsproxy ; ftp=ftpproxy ; socks=foopy ", |
+ ProxyConfig::ProxyRules::TYPE_PROXY_PER_SCHEME, NULL, |
+ "PROXY httpproxy:80", "PROXY httpsproxy:80", "PROXY ftpproxy:80", |
+ "SOCKS foopy:1080", |
+ }, |
+ |
+ // SOCKS proxy (with modifier) present along with some proxies |
+ // (FTP being blank) |
+ { |
+ "http=httpproxy ; https=httpsproxy ; socks=socks5://foopy ", |
+ ProxyConfig::ProxyRules::TYPE_PROXY_PER_SCHEME, NULL, |
+ "PROXY httpproxy:80", "PROXY httpsproxy:80", NULL, "SOCKS5 foopy:1080", |
+ }, |
+ |
+ // Include unsupported schemes -- they are discarded. |
+ { |
+ "crazy=foopy ; foo=bar ; https=myhttpsproxy", |
+ ProxyConfig::ProxyRules::TYPE_PROXY_PER_SCHEME, NULL, NULL, |
+ "PROXY myhttpsproxy:80", NULL, NULL, |
+ }, |
+ |
+ // direct:// as first option for a scheme. |
+ { |
+ "http=direct://,myhttpproxy; https=direct://", |
+ ProxyConfig::ProxyRules::TYPE_PROXY_PER_SCHEME, NULL, |
+ "DIRECT;PROXY myhttpproxy:80", "DIRECT", NULL, NULL, |
+ }, |
+ |
+ // direct:// as a second option for a scheme. |
+ { |
+ "http=myhttpproxy,direct://", |
+ ProxyConfig::ProxyRules::TYPE_PROXY_PER_SCHEME, NULL, |
+ "PROXY myhttpproxy:80;DIRECT", NULL, NULL, NULL, |
+ }, |
+ }; |
ProxyConfig config; |
@@ -328,7 +247,7 @@ TEST(ProxyConfigTest, ParseProxyRules) { |
TEST(ProxyConfigTest, ProxyRulesSetBypassFlag) { |
// Test whether the did_bypass_proxy() flag is set in proxy info correctly. |
ProxyConfig::ProxyRules rules; |
- ProxyInfo result; |
+ ProxyInfo result; |
rules.ParseFromString("http=httpproxy:80"); |
rules.bypass_rules.AddRuleFromString(".com"); |