[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.
|