X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Socket%2FProtocols%2FINet%2FINetAddressing.test.cc;h=52f94aacd5c8f71f20abb7d7c5ded8179232f812;hb=d6abda313f70c8a849c5e3f3bbfc12ce301789f1;hp=102b95d9c63d5cddd30f11a955085ac3c42282cb;hpb=6b6681bb03aac52a523b2ff8417e09be55dd446c;p=senf.git diff --git a/Socket/Protocols/INet/INetAddressing.test.cc b/Socket/Protocols/INet/INetAddressing.test.cc index 102b95d..52f94aa 100644 --- a/Socket/Protocols/INet/INetAddressing.test.cc +++ b/Socket/Protocols/INet/INetAddressing.test.cc @@ -28,7 +28,7 @@ // Custom includes #include "INetAddressing.hh" -#include +#include "../../../Utils/auto_unit_test.hh" #include #define prefix_ @@ -45,7 +45,7 @@ BOOST_AUTO_UNIT_TEST(inet4SocketAddress) BOOST_CHECK( ! addr ); addr = INet4SocketAddress("127.0.0.1:12345"); - BOOST_CHECK ( addr != INet4SocketAddress() ); + BOOST_CHECK ( addr != INet4SocketAddress("127.0.0.2:12345") ); } { @@ -57,7 +57,8 @@ BOOST_AUTO_UNIT_TEST(inet4SocketAddress) INet4SocketAddress(INet4Address::Loopback,12345) ); BOOST_CHECK_THROW( INet4SocketAddress("127.0.0.1"), INet4SocketAddress::SyntaxException ); - BOOST_CHECK_THROW( INet4SocketAddress("foo@bar:12345"), INet4Address::SyntaxException ); + BOOST_CHECK_THROW( INet4SocketAddress("foo:bar"), INet4SocketAddress::SyntaxException ); + BOOST_CHECK_THROW( INet4SocketAddress(":12345"), INet4SocketAddress::SyntaxException ); BOOST_CHECK_THROW( INet4SocketAddress("127.0.0.1:1234a"), INet4SocketAddress::SyntaxException ); BOOST_CHECK_EQUAL( INet4SocketAddress("127.0.0.1:12345").address(), INet4Address::Loopback ); @@ -85,41 +86,47 @@ BOOST_AUTO_UNIT_TEST(inet6SocketAddress) { INet6SocketAddress addr; - BOOST_CHECK_EQUAL( boost::lexical_cast(addr.host()), "::" ); + BOOST_CHECK_EQUAL( boost::lexical_cast(addr.address()), "::" ); BOOST_CHECK_EQUAL( addr.port(), 0u ); BOOST_CHECK_EQUAL( addr.iface(), "" ); - addr = "[12::21]:12345"; - BOOST_CHECK_EQUAL( addr.host(), INet6Address::from_string("12::21") ); + addr = senf::INet6SocketAddress("[12::21]:12345"); + BOOST_CHECK_EQUAL( addr.address(), INet6Address::from_string("12::21") ); BOOST_CHECK_EQUAL( addr.port(), 12345u ); BOOST_CHECK_EQUAL( addr.iface(), "" ); BOOST_CHECK_EQUAL( addr, INet6SocketAddress("[12::21]:12345") ); + BOOST_CHECK_NO_THROW( INet6SocketAddress("www.6bone.net:80") ); + addr = senf::INet6SocketAddress("1.2.3.4:12345", INet6Address::ResolveINet4); + BOOST_CHECK_EQUAL( addr.address(), INet6Address::from_string("::ffff:1.2.3.4") ); + BOOST_CHECK_EQUAL( addr.port(), 12345u ); } { INet6SocketAddress addr (INet6Address::from_string("::1"), 1); - BOOST_CHECK_EQUAL( addr, "[::1]:1" ); + BOOST_CHECK_EQUAL( addr,senf::INet6SocketAddress("[::1]:1") ); BOOST_CHECK_EQUAL( addr.iface(), "" ); } { INet6SocketAddress addr (INet6Address::Loopback, 1, "lo"); - BOOST_CHECK_EQUAL( addr, "[::1@lo]:1" ); + BOOST_CHECK_EQUAL( addr, senf::INet6SocketAddress("[::1%lo]:1") ); BOOST_CHECK_EQUAL( addr.iface(), "lo" ); addr.iface(""); BOOST_CHECK_EQUAL( addr.iface(), "" ); addr.port(100u); BOOST_CHECK_EQUAL( addr.port(), 100u ); - addr.host(INet6Address::from_string("::2")); - BOOST_CHECK_EQUAL( addr.host(), INet6Address::from_string("::2") ); - BOOST_CHECK_THROW( addr = "", INet6SocketAddress::SyntaxException ); - BOOST_CHECK_THROW( addr = "[::1]", INet6SocketAddress::SyntaxException ); - BOOST_CHECK_THROW( addr = "[::1]1234", INet6SocketAddress::SyntaxException ); - addr = "[12::21@lo]:12345"; - BOOST_CHECK_EQUAL( addr.address(), "[12::21@lo]:12345" ); - BOOST_CHECK_EQUAL( addr.host(), INet6Address::from_string("12::21") ); + addr.address(INet6Address::from_string("::2")); + BOOST_CHECK_EQUAL( addr.address(), INet6Address::from_string("::2") ); + BOOST_CHECK_THROW( senf::INet6SocketAddress(""), INet6SocketAddress::SyntaxException ); + BOOST_CHECK_THROW( senf::INet6SocketAddress("[::1]"), + INet6SocketAddress::SyntaxException ); + BOOST_CHECK_THROW( senf::INet6SocketAddress("[::1]1234"), + INet6SocketAddress::SyntaxException ); + addr = senf::INet6SocketAddress("[12::21%lo]:12345"); + BOOST_CHECK_EQUAL( boost::lexical_cast(addr), "[12::21%lo]:12345" ); + BOOST_CHECK_EQUAL( addr.address(), INet6Address::from_string("12::21") ); BOOST_CHECK_EQUAL( addr.port(), 12345u ); BOOST_CHECK_EQUAL( addr.iface(), "lo" ); - BOOST_CHECK_EQUAL( boost::lexical_cast(addr), "[12::21@lo]:12345" ); + BOOST_CHECK_EQUAL( boost::lexical_cast(addr), "[12::21%lo]:12345" ); } }