[pygccxml-commit] SF.net SVN: pygccxml:[1672] pygccxml_dev
Brought to you by:
mbaas,
roman_yakovenko
From: <rom...@us...> - 2009-02-11 19:37:48
|
Revision: 1672 http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1672&view=rev Author: roman_yakovenko Date: 2009-02-11 19:37:44 +0000 (Wed, 11 Feb 2009) Log Message: ----------- adding new test case Modified Paths: -------------- pygccxml_dev/pygccxml/declarations/type_traits.py pygccxml_dev/unittests/type_traits_tester.py Modified: pygccxml_dev/pygccxml/declarations/type_traits.py =================================================================== --- pygccxml_dev/pygccxml/declarations/type_traits.py 2009-02-11 09:34:27 UTC (rev 1671) +++ pygccxml_dev/pygccxml/declarations/type_traits.py 2009-02-11 19:37:44 UTC (rev 1672) @@ -331,7 +331,6 @@ Precondition: self.is_my_case( type ) == True """ - assert self.is_my_case( type_ ) return self.__apply_sequence( type_ ) enum_traits = declaration_xxx_traits( enumeration.enumeration_t ) Modified: pygccxml_dev/unittests/type_traits_tester.py =================================================================== --- pygccxml_dev/unittests/type_traits_tester.py 2009-02-11 09:34:27 UTC (rev 1671) +++ pygccxml_dev/unittests/type_traits_tester.py 2009-02-11 19:37:44 UTC (rev 1672) @@ -271,9 +271,48 @@ #~ declarations.print_declarations( [declarations.class_traits.get_declaration( x )] ) +class class_traits_tester_t(unittest.TestCase): + def __init__(self, *args ): + unittest.TestCase.__init__(self, *args) + + def test(self): + code = """ + namespace A{ + struct B{ + int c; + }; + + template <class T> + struct C: public T{ + int d; + }; + + template <class T> + struct D{ + int dD; + }; + + typedef C<B> easy; + typedef D<easy> Deasy; + + inline void instantiate(){ + sizeof(easy); + } + + } + """ + + global_ns = parser.parse_string( code, autoconfig.cxx_parsers_cfg.gccxml) + global_ns = declarations.get_global_namespace( global_ns ) + easy = global_ns.typedef( 'easy' ) + c_a = declarations.class_traits.get_declaration( easy ) #this works very well + deasy = global_ns.typedef( 'Deasy' ) + d_a = declarations.class_traits.get_declaration( deasy ) + self.failUnless( isinstance( d_a, declarations.class_types ) ) + def create_suite(): suite = unittest.TestSuite() - #~ suite.addTest( unittest.makeSuite(tester_diff_t)) + suite.addTest( unittest.makeSuite(class_traits_tester_t)) suite.addTest( unittest.makeSuite(tester_t)) suite.addTest( unittest.makeSuite(missing_decls_tester_t)) return suite This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |