X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Socket%2FProtocols%2FINet%2FINet6Address.test.cc;h=f56ce6ed598bdd3b7a7dfd5b645e24f81b4c7a87;hb=a1fdb7bb122f0b05be809a922d4b7ef5e125fa67;hp=3bdce5a2522794d304d2328d265962335f31d9c2;hpb=d001b1fe2a8fb121145d2a111d737219abae20d7;p=senf.git diff --git a/Socket/Protocols/INet/INet6Address.test.cc b/Socket/Protocols/INet/INet6Address.test.cc index 3bdce5a..f56ce6e 100644 --- a/Socket/Protocols/INet/INet6Address.test.cc +++ b/Socket/Protocols/INet/INet6Address.test.cc @@ -21,14 +21,14 @@ // 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. /** \file - \brief INet6Address.test unit tests */ + \brief INet6Address unit tests */ //#include "INet6Address.test.hh" //#include "INet6Address.test.ih" // Custom includes -#include #include "INet6Address.hh" +#include "../../../Utils/String.hh" #include "../../../Utils/auto_unit_test.hh" #include @@ -63,7 +63,7 @@ BOOST_AUTO_UNIT_TEST(inet6Address) BOOST_CHECK_EQUAL( addr1[15], 0 ); BOOST_CHECK( INet6Address::from_string("www.6bone.net") != INet6Address::None ); INet6Address addr2; - BOOST_CHECK_EQUAL( boost::lexical_cast(addr2), "::" ); + BOOST_CHECK_EQUAL( senf::str(addr2), "::" ); addr2 = INet6Address::from_string("::1"); BOOST_CHECK( addr1 != addr2 ); addr1 =INet6Address::from_string("::1"); @@ -72,7 +72,7 @@ BOOST_AUTO_UNIT_TEST(inet6Address) addr2 = INet6Address::from_string("::"); BOOST_CHECK_EQUAL( addr1, addr2 ); BOOST_CHECK_THROW( INet6Address::from_string(""), AddressSyntaxException ); - BOOST_CHECK_EQUAL( boost::lexical_cast(addr1), "::" ); + BOOST_CHECK_EQUAL( senf::str(addr1), "::" ); unsigned char data[] = { 0x12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x21, 0 }; INet6Address addr3 (INet6Address::from_data(data)); BOOST_CHECK_EQUAL( addr3, INet6Address::from_string("1200::21") ); @@ -132,11 +132,20 @@ BOOST_AUTO_UNIT_TEST(inet6Address) } { - INet6Address addr (INet6Address::from_string("2001:dead:beef::1002:3004")); std::stringstream str; + INet6Address addr; str >> addr; BOOST_CHECK( str.fail()); - str.clear(); + } + { + std::stringstream str ("invalid.host.fhg.de"); + INet6Address addr; + str >> addr; + BOOST_CHECK( str.fail()); + } + { + std::stringstream str; + INet6Address addr (INet6Address::from_string("2001:dead:beef::1002:3004")); str << addr; BOOST_CHECK_EQUAL( str.str(), "2001:dead:beef::1002:3004"); str >> addr; @@ -160,7 +169,7 @@ BOOST_AUTO_UNIT_TEST(inet6Network) using senf::AddressSyntaxException; INet6Network net (INet6Address(0xFF14u,0x1234u),32u); - BOOST_CHECK_EQUAL( boost::lexical_cast(net.address()), "ff14:1234::"); + BOOST_CHECK_EQUAL( senf::str(net.address()), "ff14:1234::"); BOOST_CHECK_EQUAL( net.prefix_len(), 32u ); BOOST_CHECK( net ); BOOST_CHECK( ! INet6Network() ); @@ -176,11 +185,10 @@ BOOST_AUTO_UNIT_TEST(inet6Network) BOOST_CHECK( net2.match(INet6Network("2001:db8:1234::/48")) ); BOOST_CHECK( ! net2.match(INet6Network("2001:db8:1234::/32")) ); - BOOST_CHECK_EQUAL( boost::lexical_cast(net2), "2001:db8:1230::/44" ); + BOOST_CHECK_EQUAL( senf::str(net2), "2001:db8:1230::/44" ); BOOST_CHECK_EQUAL( net2.host(0x1234u), INet6Address::from_string("2001:db8:1230::1234") ); - BOOST_CHECK_EQUAL( boost::lexical_cast(net2.subnet(2u,48u)), - "2001:db8:1232::/48" ); + BOOST_CHECK_EQUAL( senf::str(net2.subnet(2u,48u)), "2001:db8:1232::/48" ); BOOST_CHECK_THROW( INet6Network(""), AddressSyntaxException ); BOOST_CHECK_THROW( INet6Network("2001:db8:1234::/beef"), AddressSyntaxException );