summaryrefslogtreecommitdiffstats
path: root/chromium/net/base/host_port_pair_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/net/base/host_port_pair_unittest.cc')
-rw-r--r--chromium/net/base/host_port_pair_unittest.cc77
1 files changed, 76 insertions, 1 deletions
diff --git a/chromium/net/base/host_port_pair_unittest.cc b/chromium/net/base/host_port_pair_unittest.cc
index d654622dd00..5b15db9477d 100644
--- a/chromium/net/base/host_port_pair_unittest.cc
+++ b/chromium/net/base/host_port_pair_unittest.cc
@@ -4,15 +4,33 @@
#include "net/base/host_port_pair.h"
+#include "base/logging.h"
+#include "net/test/gtest_util.h"
#include "testing/gtest/include/gtest/gtest.h"
+using std::string;
+
namespace net {
namespace {
+struct TestData {
+ string host;
+ uint16 port;
+ string to_string;
+ string host_for_url;
+} tests[] = {
+ { "www.google.com", 80, "www.google.com:80", "www.google.com" },
+ { "www.google.com", 443, "www.google.com:443", "www.google.com" },
+ { "127.0.0.1", 80, "127.0.0.1:80", "127.0.0.1" },
+ { "192.168.1.1", 80, "192.168.1.1:80", "192.168.1.1" },
+ { "::1", 80, "[::1]:80", "[::1]" },
+ { "2001:db8::42", 80, "[2001:db8::42]:80", "[2001:db8::42]" },
+};
+
TEST(HostPortPairTest, Parsing) {
HostPortPair foo("foo.com", 10);
- std::string foo_str = foo.ToString();
+ string foo_str = foo.ToString();
EXPECT_EQ("foo.com:10", foo_str);
HostPortPair bar = HostPortPair::FromString(foo_str);
EXPECT_TRUE(foo.Equals(bar));
@@ -35,6 +53,63 @@ TEST(HostPortPairTest, Emptiness) {
EXPECT_FALSE(foo.IsEmpty());
}
+TEST(HostPortPairTest, ToString) {
+ for (size_t index = 0; index < arraysize(tests); ++index) {
+ HostPortPair foo(tests[index].host, tests[index].port);
+ EXPECT_EQ(tests[index].to_string, foo.ToString());
+ }
+
+ // Test empty hostname.
+ HostPortPair foo(string(), 10);
+}
+
+TEST(HostPortPairTest, HostForURL) {
+ for (size_t index = 0; index < arraysize(tests); ++index) {
+ HostPortPair foo(tests[index].host, tests[index].port);
+ EXPECT_EQ(tests[index].host_for_url, foo.HostForURL());
+ }
+
+ // Test hostname with null character.
+ string bar_hostname("a\0.\0com", 7);
+ HostPortPair bar(bar_hostname, 80);
+ string expected_error("Host has a null char: a%00.%00com");
+ EXPECT_DFATAL(bar.HostForURL(), expected_error);
+}
+
+TEST(HostPortPairTest, LessThan) {
+ HostPortPair a_10("a.com", 10);
+ HostPortPair a_11("a.com", 11);
+ HostPortPair b_10("b.com", 10);
+ HostPortPair b_11("b.com", 11);
+
+ EXPECT_FALSE(a_10 < a_10);
+ EXPECT_TRUE(a_10 < a_11);
+ EXPECT_TRUE(a_10 < b_10);
+ EXPECT_TRUE(a_10 < b_11);
+
+ EXPECT_FALSE(a_11 < a_10);
+ EXPECT_FALSE(a_11 < b_10);
+
+ EXPECT_FALSE(b_10 < a_10);
+ EXPECT_TRUE(b_10 < a_11);
+
+ EXPECT_FALSE(b_11 < a_10);
+}
+
+TEST(HostPortPairTest, Equals) {
+ HostPortPair a_10("a.com", 10);
+ HostPortPair a_11("a.com", 11);
+ HostPortPair b_10("b.com", 10);
+ HostPortPair b_11("b.com", 11);
+
+ HostPortPair new_a_10("a.com", 10);
+
+ EXPECT_TRUE(new_a_10.Equals(a_10));
+ EXPECT_FALSE(new_a_10.Equals(a_11));
+ EXPECT_FALSE(new_a_10.Equals(b_10));
+ EXPECT_FALSE(new_a_10.Equals(b_11));
+}
+
} // namespace
} // namespace net