X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FSocket%2FProtocols%2FINet%2FINet6Address.test.cc;h=f854f19ed072c5aac66355d077f6e31eaa27e65d;hb=aa4bfb511acb198a278caafc193ac67a9c322a13;hp=7a09b838e4003c4825778a5b7cfdc7ae864eb5d9;hpb=26610f603ebdd465307b9621f532c1fe19fd5571;p=senf.git diff --git a/senf/Socket/Protocols/INet/INet6Address.test.cc b/senf/Socket/Protocols/INet/INet6Address.test.cc index 7a09b83..f854f19 100644 --- a/senf/Socket/Protocols/INet/INet6Address.test.cc +++ b/senf/Socket/Protocols/INet/INet6Address.test.cc @@ -29,6 +29,7 @@ // Custom includes #include "INet6Address.hh" #include +#include #include #include @@ -36,7 +37,7 @@ #define prefix_ ///////////////////////////////cc.p//////////////////////////////////////// -BOOST_AUTO_UNIT_TEST(inet6Address) +SENF_AUTO_UNIT_TEST(inet6Address) { using senf::INet6Address; using senf::INet4Address; @@ -61,12 +62,12 @@ BOOST_AUTO_UNIT_TEST(inet6Address) BOOST_CHECK_EQUAL( addr1[13], 14 ); BOOST_CHECK_EQUAL( addr1[14], 15 ); BOOST_CHECK_EQUAL( addr1[15], 0 ); - BOOST_CHECK( INet6Address::from_string("www.go6.net") != INet6Address::None ); + SENF_CHECK_NOT_EQUAL( INet6Address::from_string("www.go6.net"), INet6Address::None ); INet6Address addr2; BOOST_CHECK_EQUAL( senf::str(addr2), "::" ); addr2 = INet6Address::from_string("::1"); - BOOST_CHECK( addr1 != addr2 ); - addr1 =INet6Address::from_string("::1"); + SENF_CHECK_NOT_EQUAL( addr1, addr2 ); + addr1 = INet6Address::from_string("::1"); BOOST_CHECK_EQUAL( addr1, addr2 ); addr1 = INet6Address::None; addr2 = INet6Address::from_string("::"); @@ -78,6 +79,7 @@ BOOST_AUTO_UNIT_TEST(inet6Address) BOOST_CHECK_EQUAL( addr3, INet6Address::from_string("1200::21") ); BOOST_CHECK_EQUAL( INet6Address::from_inet4address(INet4Address(0x01020304)), INet6Address::from_string("::ffff:1.2.3.4") ); + BOOST_CHECK( INet6Address::from_inet4address(INet4Address(0x01020304)).inet4Mapped()); BOOST_CHECK_THROW( INet6Address::from_string("1.2.3.4"), UnknownHostnameException ); BOOST_CHECK_EQUAL( INet6Address::from_string("1.2.3.4", INet6Address::ResolveINet4), @@ -163,7 +165,7 @@ BOOST_AUTO_UNIT_TEST(inet6Address) } } -BOOST_AUTO_UNIT_TEST(inet6Network) +SENF_AUTO_UNIT_TEST(inet6Network) { using senf::INet6Address; using senf::INet6Network; @@ -179,13 +181,15 @@ BOOST_AUTO_UNIT_TEST(inet6Network) BOOST_CHECK_EQUAL( net2.address(), INet6Address::from_string("2001:db8:1230::") ); BOOST_CHECK_EQUAL( net2.prefix_len(), 44u ); - BOOST_CHECK( net != net2 ); + SENF_CHECK_NOT_EQUAL( net, net2 ); BOOST_CHECK( net.match(INet6Address::from_string("ff14:1234::1")) ); BOOST_CHECK( ! net2.match(INet6Address::from_string("ff13:1234::1")) ); BOOST_CHECK( ! net.match(net2) ); BOOST_CHECK( net2.match(INet6Network("2001:db8:1234::/48")) ); BOOST_CHECK( ! net2.match(INet6Network("2001:db8:1234::/32")) ); + BOOST_CHECK( ! INet6Network("ff14:1234::1/128").match(INet6Network("ff14:1234::2/128")) ); + BOOST_CHECK_EQUAL( senf::str(net2), "2001:db8:1230::/44" ); BOOST_CHECK_EQUAL( net2.host(0x1234u), INet6Address::from_string("2001:db8:1230::1234") ); @@ -193,6 +197,22 @@ BOOST_AUTO_UNIT_TEST(inet6Network) BOOST_CHECK_THROW( INet6Network(""), AddressSyntaxException ); BOOST_CHECK_THROW( INet6Network("2001:db8:1234::/beef"), AddressSyntaxException ); + + { + std::stringstream str; + INet6Network net; + str >> net; + BOOST_CHECK( str.fail()); + } + { + std::stringstream str; + INet6Network net ("2001:db8:1230::/44"); + str << net; + BOOST_CHECK_EQUAL( str.str(), "2001:db8:1230::/44"); + str >> net; + BOOST_CHECK( ! str.fail()); + BOOST_CHECK_EQUAL(net, INet6Network("2001:db8:1230::/44")); + } } ///////////////////////////////cc.e////////////////////////////////////////