diff options
author | davidben@chromium.org <davidben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-06-14 18:24:53 +0000 |
---|---|---|
committer | davidben@chromium.org <davidben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-06-14 18:24:53 +0000 |
commit | a48bf4a393ca231598de072e68c93b3a6ce757b9 (patch) | |
tree | de50675e79529b8016d1768c3b16d389ac6966e8 /net/proxy/proxy_config_unittest.cc | |
parent | bdd5a9c900feb38b9e5bf150bccad6012eb8b729 (diff) | |
download | chromium_src-a48bf4a393ca231598de072e68c93b3a6ce757b9.zip chromium_src-a48bf4a393ca231598de072e68c93b3a6ce757b9.tar.gz chromium_src-a48bf4a393ca231598de072e68c93b3a6ce757b9.tar.bz2 |
Implement KDE ReversedException setting in Chrome
R=wtc,eroman
BUG=45199
TEST=Added unit tests, can also verify with steps in bug report
Review URL: http://codereview.chromium.org/2725009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49701 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/proxy/proxy_config_unittest.cc')
-rw-r--r-- | net/proxy/proxy_config_unittest.cc | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/net/proxy/proxy_config_unittest.cc b/net/proxy/proxy_config_unittest.cc index 2182897..5806f30 100644 --- a/net/proxy/proxy_config_unittest.cc +++ b/net/proxy/proxy_config_unittest.cc @@ -6,6 +6,7 @@ #include "net/proxy/proxy_config.h" #include "net/proxy/proxy_config_service_common_unittest.h" +#include "net/proxy/proxy_info.h" #include "testing/gtest/include/gtest/gtest.h" namespace net { @@ -82,6 +83,18 @@ TEST(ProxyConfigTest, Equals) { EXPECT_TRUE(config1.Equals(config2)); EXPECT_TRUE(config2.Equals(config1)); + + // Test |ProxyConfig::proxy_rules.reverse_bypass|. + + config2.proxy_rules().reverse_bypass = true; + + EXPECT_FALSE(config1.Equals(config2)); + EXPECT_FALSE(config2.Equals(config1)); + + config1.proxy_rules().reverse_bypass = true; + + EXPECT_TRUE(config1.Equals(config2)); + EXPECT_TRUE(config2.Equals(config1)); } TEST(ProxyConfigTest, ParseProxyRules) { @@ -348,6 +361,28 @@ TEST(ProxyConfigTest, ToString) { " Bypass list: [None]", ProxyConfigToString(config)); } + + // Manual proxy with bypass list + bypass local, list reversed. + { + ProxyConfig config; + config.set_auto_detect(false); + config.proxy_rules().ParseFromString("http://single-proxy:81"); + config.proxy_rules().bypass_rules.AddRuleFromString("google.com"); + config.proxy_rules().bypass_rules.AddRuleFromString("bypass2.net:1730"); + config.proxy_rules().bypass_rules.AddRuleToBypassLocal(); + config.proxy_rules().reverse_bypass = true; + + EXPECT_EQ("Automatic settings:\n" + " Auto-detect: No\n" + " Custom PAC script: [None]\n" + "Manual settings:\n" + " Proxy server: single-proxy:81\n" + " Only use proxy for: \n" + " google.com\n" + " bypass2.net:1730\n" + " <local>", + ProxyConfigToString(config)); + } } TEST(ProxyConfigTest, MayRequirePACResolver) { @@ -372,6 +407,32 @@ TEST(ProxyConfigTest, MayRequirePACResolver) { } } +TEST(ProxyConfigTest, ReversedBypassList) { + { + ProxyConfig config; + config.set_auto_detect(false); + config.proxy_rules().ParseFromString("http://single-proxy:81"); + config.proxy_rules().bypass_rules.AddRuleFromString("google.com"); + config.proxy_rules().bypass_rules.AddRuleFromString("bypass2.net:1730"); + config.proxy_rules().bypass_rules.AddRuleToBypassLocal(); + config.proxy_rules().reverse_bypass = true; + + ProxyInfo info[3]; + GURL url0("http://google.com"); + GURL url1("http://www.webkit.com"); + GURL url2("http://bypass2.net:1730"); + + config.proxy_rules().Apply(url0, &info[0]); + EXPECT_EQ("single-proxy:81", info[0].proxy_server().ToURI()); + + config.proxy_rules().Apply(url1, &info[1]); + EXPECT_TRUE(info[1].is_direct()); + + config.proxy_rules().Apply(url2, &info[2]); + EXPECT_EQ("single-proxy:81", info[2].proxy_server().ToURI()); + } +} + } // namespace } // namespace net |