Chromium Code Reviews| 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; |