Commit bda745dc authored by hydratim's avatar hydratim

IPv6 tests address tests

parent 3bbdd741
...@@ -97,7 +97,7 @@ Ipv6::toString() const { ...@@ -97,7 +97,7 @@ Ipv6::toString() const {
inet_ntop(AF_INET6, &addr, buff6, INET6_ADDRSTRLEN); inet_ntop(AF_INET6, &addr, buff6, INET6_ADDRSTRLEN);
return std::string(buff6); return std::string("[") + std::string(buff6) + std::string("]");
} }
void Ipv6::toNetwork(in6_addr *addr6) const { void Ipv6::toNetwork(in6_addr *addr6) const {
...@@ -198,7 +198,7 @@ Address::init(const std::string& addr) { ...@@ -198,7 +198,7 @@ Address::init(const std::string& addr) {
unsigned long s_pos = addr.find('['); unsigned long s_pos = addr.find('[');
if (pos != std::string::npos && s_pos != std::string::npos) { if (pos != std::string::npos && s_pos != std::string::npos) {
//IPv6 address //IPv6 address
host_ = addr.substr(s_pos+1, pos-1); host_ = addr.substr(s_pos, pos+1);
pos++; pos++;
} else { } else {
//IPv4 address //IPv4 address
......
...@@ -46,8 +46,33 @@ TEST(net_test, address_creation) ...@@ -46,8 +46,33 @@ TEST(net_test, address_creation)
ASSERT_EQ(address4.port(), 8080); ASSERT_EQ(address4.port(), 8080);
Address address5("*:8080"); Address address5("*:8080");
ASSERT_EQ(address4.host(), "0.0.0.0"); ASSERT_EQ(address5.host(), "0.0.0.0");
ASSERT_EQ(address4.port(), 8080); ASSERT_EQ(address5.port(), 8080);
Address address6("[::1]:8080");
ASSERT_EQ(address6.host(), "[::1]");
ASSERT_EQ(address6.port(), 8080);
std::string addr2 = "[::1]";
Address address7(addr2, Port(8080));
ASSERT_EQ(address7.host(), "[::1]");
ASSERT_EQ(address7.port(), 8080);
Address address8(Ipv6(0, 0, 0, 0, 0, 0, 0, 1), Port(8080));
ASSERT_EQ(address8.host(), "[::1]");
ASSERT_EQ(address8.port(), 8080);
Address address9(Ipv6::any(), Port(8080));
ASSERT_EQ(address9.host(), "[::]");
ASSERT_EQ(address9.port(), 8080);
Address address10("[::]:8080");
ASSERT_EQ(address10.host(), "[::]");
ASSERT_EQ(address10.port(), 8080);
Address address11("[2001:0DB8:AABB:CCDD:EEFF:0011:2233:4455]:8080");
ASSERT_EQ(address11.host(), "[2001:0DB8:AABB:CCDD:EEFF:0011:2233:4455]");
ASSERT_EQ(address11.port(), 8080);
} }
TEST(net_test, invalid_address) TEST(net_test, invalid_address)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment