Index: net/base/host_mapping_rules_unittest.cc |
=================================================================== |
--- net/base/host_mapping_rules_unittest.cc (revision 56811) |
+++ net/base/host_mapping_rules_unittest.cc (working copy) |
@@ -37,6 +37,36 @@ |
EXPECT_EQ(666u, host_port.port()); |
} |
+TEST(HostMappingRulesTest, PortSpecificMatching) { |
+ HostMappingRules rules; |
+ rules.SetRulesFromString( |
+ "map *.com:80 baz:111 , map *.com:443 blat:333, EXCLUDE *.foo.com"); |
eroman
2010/08/20 18:25:00
nit: indent continued lines by 4.
|
+ |
+ // No match |
+ HostPortPair host_port("test.com", 1234); |
+ EXPECT_FALSE(rules.RewriteHost(&host_port)); |
+ EXPECT_EQ("test.com", host_port.host()); |
+ EXPECT_EQ(1234u, host_port.port()); |
+ |
+ // Match port 80 |
+ host_port = HostPortPair("crack.com", 80); |
+ EXPECT_TRUE(rules.RewriteHost(&host_port)); |
+ EXPECT_EQ("baz", host_port.host()); |
+ EXPECT_EQ(111u, host_port.port()); |
+ |
+ // Match port 443 |
+ host_port = HostPortPair("wtf.com", 443); |
eroman
2010/08/20 18:25:00
heh, colorful hostnames :)
|
+ EXPECT_TRUE(rules.RewriteHost(&host_port)); |
+ EXPECT_EQ("blat", host_port.host()); |
+ EXPECT_EQ(333u, host_port.port()); |
+ |
+ // Match port 443, but excluded. |
+ host_port = HostPortPair("wtf.foo.com", 443); |
+ EXPECT_FALSE(rules.RewriteHost(&host_port)); |
+ EXPECT_EQ("wtf.foo.com", host_port.host()); |
+ EXPECT_EQ(443u, host_port.port()); |
+} |
+ |
// Parsing bad rules should silently discard the rule (and never crash). |
TEST(HostMappingRulesTest, ParseInvalidRules) { |
HostMappingRules rules; |