summaryrefslogtreecommitdiffstats
path: root/net/proxy/proxy_config_unittest.cc
diff options
context:
space:
mode:
authordavidben@chromium.org <davidben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-06-14 18:24:53 +0000
committerdavidben@chromium.org <davidben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-06-14 18:24:53 +0000
commita48bf4a393ca231598de072e68c93b3a6ce757b9 (patch)
treede50675e79529b8016d1768c3b16d389ac6966e8 /net/proxy/proxy_config_unittest.cc
parentbdd5a9c900feb38b9e5bf150bccad6012eb8b729 (diff)
downloadchromium_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.cc61
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