BOOST_CHECK_EQUAL( addr1, addr2 );
BOOST_CHECK_THROW( addr1 = "", InvalidINetAddressException );
BOOST_CHECK_EQUAL( boost::lexical_cast<std::string>(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 );
}
{
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 );