X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Socket%2FSocketHandle.test.cc;h=c8071f3afd6020a44ba702e509279df32089115b;hb=ef0be4d0484ff659d17e02a421ad5beaaa76e646;hp=709fb9ff38c13e0088d9acd597bb6c415a8b25b3;hpb=31243b46fbd06bc6301acca8fbd8153829c61b0a;p=senf.git diff --git a/Socket/SocketHandle.test.cc b/Socket/SocketHandle.test.cc index 709fb9f..c8071f3 100644 --- a/Socket/SocketHandle.test.cc +++ b/Socket/SocketHandle.test.cc @@ -39,13 +39,13 @@ namespace { class MySocketHandle - : public senf::SocketHandle + : public senf::SocketHandle { public: MySocketHandle() - : senf::SocketHandle( + : senf::SocketHandle( std::auto_ptr( - new senf::ProtocolSocketBody(false, 0))) + new senf::ProtocolSocketBody(false, 0))) {} }; @@ -66,15 +66,22 @@ BOOST_AUTO_UNIT_TEST(socketHandle) >::policy OtherSocketPolicy; typedef senf::SocketHandle OtherSocketHandle; + typedef senf::MakeSocketPolicy< + senf::test::SomeCommunicationPolicy, + senf::test::SomeAddressingPolicy + >::policy AnotherSocketPolicy; + typedef senf::SocketHandle AnotherSocketHandle; + { MySocketHandle myh; OtherSocketHandle osh (myh); osh = myh; - typedef senf::SocketHandle SomeSocketHandle; + typedef senf::SocketHandle SomeSocketHandle; SomeSocketHandle ssh = senf::static_socket_cast(osh); BOOST_CHECK_NO_THROW( senf::dynamic_socket_cast(osh) ); + BOOST_CHECK_NO_THROW( senf::dynamic_socket_cast(osh) ); typedef senf::SocketHandle< senf::MakeSocketPolicy< OtherSocketPolicy, @@ -91,13 +98,15 @@ BOOST_AUTO_UNIT_TEST(socketHandle) "file.handle: 0\n" "file.refcount: 3\n" "handle: senf::SocketHandle >\n" - "socket.protocol: senf::test::SomeProtocol\n" + "socket.protocol: senf::test::SomeSocketProtocol\n" "socket.protocol.policy: senf::SocketPolicy\n" "socket.server: false\n" ); + + BOOST_CHECK_NO_THROW( myh.facet() ); } // Ensure, the destructor is called and calls the correct close() implementation - BOOST_CHECK_EQUAL( senf::test::SomeProtocol::closeCount(), 1u ); + BOOST_CHECK_EQUAL( senf::test::SomeSocketProtocol::closeCount(), 1u ); } ///////////////////////////////cc.e////////////////////////////////////////