[pygccxml-commit] SF.net SVN: pygccxml: [582] pyplusplus_dev/unittests
Brought to you by:
mbaas,
roman_yakovenko
From: <rom...@us...> - 2006-09-25 08:51:42
|
Revision: 582 http://svn.sourceforge.net/pygccxml/?rev=582&view=rev Author: roman_yakovenko Date: 2006-09-25 01:51:35 -0700 (Mon, 25 Sep 2006) Log Message: ----------- adding new test case for opaque call policies Modified Paths: -------------- pyplusplus_dev/unittests/call_policies_tester.py pyplusplus_dev/unittests/data/call_policies_to_be_exported.hpp Modified: pyplusplus_dev/unittests/call_policies_tester.py =================================================================== --- pyplusplus_dev/unittests/call_policies_tester.py 2006-09-24 18:07:46 UTC (rev 581) +++ pyplusplus_dev/unittests/call_policies_tester.py 2006-09-25 08:51:35 UTC (rev 582) @@ -11,35 +11,39 @@ class tester_t(fundamental_tester_base.fundamental_tester_base_t): EXTENSION_NAME = 'call_policies' - + def __init__( self, *args ): - fundamental_tester_base.fundamental_tester_base_t.__init__( + fundamental_tester_base.fundamental_tester_base_t.__init__( self , tester_t.EXTENSION_NAME , *args ) - + def customize(self, mb ): mb.calldef( 'return_second_arg' ).call_policies = call_policies.return_arg( 2 ) mb.calldef( 'return_self' ).call_policies = call_policies.return_self() + mb.calldef( 'get_impl_details' ).call_policies \ + = call_policies.return_value_policy( call_policies.return_opaque_pointer ) - def run_tests(self, module): + def run_tests(self, module): self.failUnless( module.compare( module.my_address() ) ) x = module.return_second_arg( 1, 2, 3) self.failUnless( x == 2 ) - + x = module.dummy() y = module.return_self( x, 0 ) self.failUnless( x.id() == y.id() ) y = module.copy_const_reference( x ) self.failUnless( x.id() != y.id() ) - + cont = module.container() self.failUnless( 1977 == cont[1977] ) + x = module.get_impl_details() + print x def create_suite(): - suite = unittest.TestSuite() + suite = unittest.TestSuite() suite.addTest( unittest.makeSuite(tester_t)) return suite @@ -47,4 +51,4 @@ unittest.TextTestRunner(verbosity=2).run( create_suite() ) if __name__ == "__main__": - run_suite() \ No newline at end of file + run_suite() Modified: pyplusplus_dev/unittests/data/call_policies_to_be_exported.hpp =================================================================== --- pyplusplus_dev/unittests/data/call_policies_to_be_exported.hpp 2006-09-24 18:07:46 UTC (rev 581) +++ pyplusplus_dev/unittests/data/call_policies_to_be_exported.hpp 2006-09-25 08:51:35 UTC (rev 582) @@ -1,54 +1,62 @@ -// Copyright 2004 Roman Yakovenko. -// Distributed under the Boost Software License, Version 1.0. (See -// accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef __call_policies_to_be_exported_hpp__ -#define __call_policies_to_be_exported_hpp__ - -namespace call_policies{ - -struct dummy{ - int id() { return int( this ); } -}; - -namespace return_arg{ - -inline void return_second_arg( int, int x, int ) -{ ; } - -} - -namespace return_self{ - -inline const dummy& return_self( const dummy& x , int y ) -{ return x; } - -} - -namespace return_value_policy{ - -inline const dummy& copy_const_reference( const dummy& x) -{ return x; } +// Copyright 2004 Roman Yakovenko. +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +#ifndef __call_policies_to_be_exported_hpp__ +#define __call_policies_to_be_exported_hpp__ + +namespace call_policies{ + +struct dummy{ + int id() { return int( this ); } +}; + +namespace return_arg{ + +inline void return_second_arg( int, int x, int ) +{ ; } + +} + +namespace return_self{ + +inline const dummy& return_self( const dummy& x , int y ) +{ return x; } + +} + +namespace return_value_policy{ + +inline const dummy& copy_const_reference( const dummy& x) +{ return x; } + struct container{ int operator[]( int i ) const { return i; } }; - -} - -namespace void_ptr{ - -inline void* my_address(){ - return (void*)( &my_address ); -} - -inline bool compare( void* ptr ){ - return ptr == my_address(); -} - -} - -} - -#endif//__call_policies_to_be_exported_hpp__ + +} + +namespace void_ptr{ + +inline void* my_address(){ + return (void*)( &my_address ); +} + +inline bool compare( void* ptr ){ + return ptr == my_address(); +} + +} + +namespace opaque{ + struct impl_details_t{}; + + inline impl_details_t* get_impl_details(){ + return (impl_details_t*)( 0x11223344 ); + } +} + +} + +#endif//__call_policies_to_be_exported_hpp__ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |