[pygccxml-commit] SF.net SVN: pygccxml: [579] pyplusplus_dev/unittests
                
                Brought to you by:
                
                    mbaas,
                    
                
                    roman_yakovenko
                    
                
            
            
        
        
        
    | 
      
      
      From: <mb...@us...> - 2006-09-24 06:59:59
      
     | 
| Revision: 579
          http://svn.sourceforge.net/pygccxml/?rev=579&view=rev
Author:   mbaas
Date:     2006-09-23 23:59:53 -0700 (Sat, 23 Sep 2006)
Log Message:
-----------
Added a test for non-virtual member functions.
Modified Paths:
--------------
    pyplusplus_dev/unittests/data/function_transformations_to_be_exported.hpp
    pyplusplus_dev/unittests/function_transformations_tester.py
Modified: pyplusplus_dev/unittests/data/function_transformations_to_be_exported.hpp
===================================================================
--- pyplusplus_dev/unittests/data/function_transformations_to_be_exported.hpp	2006-09-23 20:33:03 UTC (rev 578)
+++ pyplusplus_dev/unittests/data/function_transformations_to_be_exported.hpp	2006-09-24 06:59:53 UTC (rev 579)
@@ -84,6 +84,15 @@
   return v[0]+v[1]+v[2];
 }
 
+//////////////////////////////////////////////////////////////////////
+
+// A class without any virtual members
+struct no_virtual_members_t
+{
+  bool member(int& v) { v=17; return true; }
+};
+
+
 }
 
 #endif//__function_transformations_to_be_exported_hpp__
Modified: pyplusplus_dev/unittests/function_transformations_tester.py
===================================================================
--- pyplusplus_dev/unittests/function_transformations_tester.py	2006-09-23 20:33:03 UTC (rev 578)
+++ pyplusplus_dev/unittests/function_transformations_tester.py	2006-09-24 06:59:53 UTC (rev 579)
@@ -29,6 +29,10 @@
         image.member_function( "fixed_output_array" ).function_transformers.extend([output_array_t(1,3)])
         mb.free_function("get_cpp_instance").call_policies = return_value_policy(reference_existing_object)
         mb.variable( "cpp_instance" ).exclude()
+        
+        cls = mb.class_("no_virtual_members_t")
+        cls.member_function("member").function_transformers.append(output_t(1))
+            
         mb.decls(lambda decl: decl.name[0]=="_").exclude()
 
     def run_tests(self, module):
@@ -135,7 +139,10 @@
         # Check if the C++ class can also be passed back to C++
         self.assertEqual(module.get_image_one_value(cppimg), 12)
 
+        ######### Test no_virtual_members_t ########
 
+        cls = module.no_virtual_members_t()
+        self.assertEqual(cls.member(), (True, 17))
 
 def create_suite():
     suite = unittest.TestSuite()
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 |