[pygccxml-commit] SF.net SVN: pygccxml: [632] pyplusplus_dev
Brought to you by:
mbaas,
roman_yakovenko
From: <rom...@us...> - 2006-10-09 08:51:32
|
Revision: 632 http://svn.sourceforge.net/pygccxml/?rev=632&view=rev Author: roman_yakovenko Date: 2006-10-09 01:51:10 -0700 (Mon, 09 Oct 2006) Log Message: ----------- adding new test cases for properties tester Modified Paths: -------------- pyplusplus_dev/pyplusplus/decl_wrappers/properties.py pyplusplus_dev/unittests/data/properties_to_be_exported.hpp pyplusplus_dev/unittests/properties_tester.py Modified: pyplusplus_dev/pyplusplus/decl_wrappers/properties.py =================================================================== --- pyplusplus_dev/pyplusplus/decl_wrappers/properties.py 2006-10-09 07:15:51 UTC (rev 631) +++ pyplusplus_dev/pyplusplus/decl_wrappers/properties.py 2006-10-09 08:51:10 UTC (rev 632) @@ -5,6 +5,7 @@ "defines property_t helper class" +import algorithm from pygccxml import declarations class property_t( object ): @@ -143,20 +144,27 @@ else: return False + def find_out_property_name( self, fget, prefix ): + if fget.name == prefix: + #use class name for property name + return algorithm.create_valid_name( fget.parent.name ) + else: + return fget.name[len(prefix):] + def create_property( self, fget, fset ): if not self.check_type_compatibility( fget, fset ): return None found = self.find_out_prefixes( fget.name, fset.name ) if not found: return None - return property_t( fget.name[len(found[0]):], fget, fset ) + return property_t( self.find_out_property_name( fget, found[0] ), fget, fset ) def create_read_only_property( self, fget ): found = self.find_out_ro_prefixes( fget.name ) if None is found: return None else: - return property_t( fget.name[len(found):], fget ) + return property_t( self.find_out_property_name( fget, found ), fget ) class properties_finder_t: def __init__( self, cls, recognizer=None, exclude_accessors=False ): Modified: pyplusplus_dev/unittests/data/properties_to_be_exported.hpp =================================================================== --- pyplusplus_dev/unittests/data/properties_to_be_exported.hpp 2006-10-09 07:15:51 UTC (rev 631) +++ pyplusplus_dev/unittests/data/properties_to_be_exported.hpp 2006-10-09 08:51:10 UTC (rev 632) @@ -50,6 +50,9 @@ int GetType() const { return 0; } + float get() const; + void set(float); + }; } Modified: pyplusplus_dev/unittests/properties_tester.py =================================================================== --- pyplusplus_dev/unittests/properties_tester.py 2006-10-09 07:15:51 UTC (rev 631) +++ pyplusplus_dev/unittests/properties_tester.py 2006-10-09 08:51:10 UTC (rev 632) @@ -36,8 +36,8 @@ cls = mb.class_( 'properties_finder_tester_t' ) cls.add_properties( exclude_accessors=True ) - print len( cls.properties ) - self.failUnless( 5 == len( cls.properties ) ) + self.failUnless( 6 == len( cls.properties ) ) + self.failUnless( cls.name in map( lambda pr: pr.name, cls.properties ) ) def run_tests(self, module): pt = module.properties_tester_t() This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |