X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Socket%2FINetAddressing.test.cc;h=f649914a8923bed8ccac349007a5748b453887c7;hb=33157146abaca548e145c577a0840cd1bd427789;hp=2b8f9d3e91cc25aa93bda8a079c3ae96ff4c4263;hpb=cf4ebe486e7e0543ac8568d3043f43d95f197a96;p=senf.git diff --git a/Socket/INetAddressing.test.cc b/Socket/INetAddressing.test.cc index 2b8f9d3..f649914 100644 --- a/Socket/INetAddressing.test.cc +++ b/Socket/INetAddressing.test.cc @@ -111,6 +111,13 @@ BOOST_AUTO_UNIT_TEST(inet6Address) BOOST_CHECK_EQUAL( addr1, addr2 ); BOOST_CHECK_THROW( addr1 = "", InvalidINetAddressException ); BOOST_CHECK_EQUAL( boost::lexical_cast(addr1), "::" ); + unsigned char data[] = { 0x12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x21, 0 }; + INet6Address addr3 (std::make_pair(&data[0],&data[0]+sizeof(data)-1)); + BOOST_CHECK_EQUAL( addr3, "1200::21" ); + BOOST_CHECK_THROW( INet6Address(std::make_pair(&data[0],&data[0]+sizeof(data))), + InvalidINetAddressException ); + BOOST_CHECK_THROW( INet6Address(std::make_pair(&data[0],&data[0]+sizeof(data)-2)), + InvalidINetAddressException ); } { @@ -141,10 +148,10 @@ BOOST_AUTO_UNIT_TEST(inet6Address) BOOST_CHECK_EQUAL( addr.port(), 100u ); addr.host("::2"); BOOST_CHECK_EQUAL( addr.host(), "::2" ); - BOOST_CHECK_THROW( addr.address(""), InvalidINetAddressException ); - BOOST_CHECK_THROW( addr.address("[::1]"), InvalidINetAddressException ); - BOOST_CHECK_THROW( addr.address("[::1]1234"), InvalidINetAddressException ); - addr.address("[12::21@lo]:12345"); + BOOST_CHECK_THROW( addr = "", InvalidINetAddressException ); + BOOST_CHECK_THROW( addr = "[::1]", InvalidINetAddressException ); + BOOST_CHECK_THROW( addr = "[::1]1234", InvalidINetAddressException ); + addr = "[12::21@lo]:12345"; BOOST_CHECK_EQUAL( addr.address(), "[12::21@lo]:12345" ); BOOST_CHECK_EQUAL( addr.host(), "12::21" ); BOOST_CHECK_EQUAL( addr.port(), 12345u );