X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Socket%2FSocketPolicy.test.cc;h=83aa97566fed332df46772143fd0e022b6dd6477;hb=a5afe330db009d6e22f87f25cb07485e87544299;hp=534f40d6e70ccd27bc3b46d572dc19a7a8a34323;hpb=d8a57d929c00f0fba87d32812e2de797d795a57c;p=senf.git diff --git a/Socket/SocketPolicy.test.cc b/Socket/SocketPolicy.test.cc index 534f40d..83aa975 100644 --- a/Socket/SocketPolicy.test.cc +++ b/Socket/SocketPolicy.test.cc @@ -83,7 +83,7 @@ namespace { BOOST_AUTO_UNIT_TEST(socketPolicy) { - // All these checks are really compile-time checks ... + // Most of these checks are really compile-time checks ... typedef MakeSocketPolicy< UnixAddressingPolicy, @@ -122,12 +122,22 @@ BOOST_AUTO_UNIT_TEST(socketPolicy) // The following should fail at compile time // BOOST_MPL_ASSERT(( SocketPolicyIsBaseOf )); - ConvertibleValue p1; - ConvertibleValue p3(p1); + { + ConvertibleValue p1; + ConvertibleValue p3(p1); + + p3 = p1; + // The following should fail at compile time + // p1 = p3; + } + + { + Policy1 p1; + Policy3 p3; - p3 = p1; - // The following should fail at compile time - // p1 = p3; + BOOST_CHECK_THROW( Policy1::checkBaseOf(p3), std::bad_cast ); + BOOST_CHECK_NO_THROW( Policy3::checkBaseOf(p1) ); + } } ///////////////////////////////cc.e////////////////////////////////////////