|
@@ -63,3 +63,23 @@ TEST(IOAddressTest, Family) {
|
|
|
EXPECT_EQ(AF_INET, IOAddress("192.0.2.1").getFamily());
|
|
|
EXPECT_EQ(AF_INET6, IOAddress("2001:0DB8:0:0::0012").getFamily());
|
|
|
}
|
|
|
+
|
|
|
+TEST(IOAddressTest, from_bytes) {
|
|
|
+ // 2001:db8:1::dead:beef
|
|
|
+ char v6[] = {
|
|
|
+ 0x20, 0x01, 0x0d, 0xb8, 0x00, 0x01, 0, 0,
|
|
|
+ 0, 0, 0, 0, 0xde, 0xad, 0xbe, 0xef };
|
|
|
+
|
|
|
+ char v4[] = { 192, 0 , 2, 3 };
|
|
|
+
|
|
|
+ IOAddress addr("::");
|
|
|
+ EXPECT_NO_THROW({
|
|
|
+ addr = IOAddress::from_bytes(AF_INET6, v6);
|
|
|
+ });
|
|
|
+ EXPECT_EQ("2001:db8:1::dead:beef", addr.toText());
|
|
|
+
|
|
|
+ EXPECT_NO_THROW({
|
|
|
+ addr = IOAddress::from_bytes(AF_INET, v4);
|
|
|
+ });
|
|
|
+ EXPECT_EQ(addr, IOAddress("192.0.2.3"));
|
|
|
+}
|