Revision: 1290
http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1290&view=rev
Author: roman_yakovenko
Date: 2008-03-24 14:18:46 -0700 (Mon, 24 Mar 2008)
Log Message:
-----------
adding demangle name functionality
Modified Paths:
--------------
pygccxml_dev/unittests/pdb_tester.py
Modified: pygccxml_dev/unittests/pdb_tester.py
===================================================================
--- pygccxml_dev/unittests/pdb_tester.py 2008-03-24 21:18:29 UTC (rev 1289)
+++ pygccxml_dev/unittests/pdb_tester.py 2008-03-24 21:18:46 UTC (rev 1290)
@@ -33,7 +33,7 @@
]
self.__test_splitter_impl( name, expected_result )
- def test_create_nss(self):
+ def __test_create_nss(self):
reader = pdb.decl_loader_t( self.pdb_file )
print reader.symbols_table.name
reader.read()
@@ -41,6 +41,23 @@
declarations.print_declarations( reader.global_ns )#, writer=f.write )
f.close()
+ def test_undecorate_name(self):
+ #basic test, that verify that function wrapper works as expected
+ data = [
+ # mangled, unmangled
+ ( '?$rebind@D', 'rebind<char>' )
+ , ( '?$rebind@PAU_Node@?$_Tree_nod@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@$0A@@std@@@std@@'
+ , 'rebind<std::_Tree_nod<std::_Tmap_traits<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> > const ,std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >,0> >::_Node *>' )
+ , ( '?$rebind@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@'
+ , 'rebind<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >' )
+ , ( '?$rebind@U_Node@?$_Tree_nod@V?$_Tmap_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@$00@std@@@std@@'
+ , 'rebind<std::_Tree_nod<std::_Tmap_traits<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> > const ,std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >,1> >::_Node>' )
+ ]
+ for decorated, undecorated in data:
+ #~ print '\n', pdb.impl_details.undecorate_name( decorated )
+ #~ print undecorated
+ self.failUnless( pdb.impl_details.undecorate_name( decorated ) == undecorated )
+
def create_suite():
suite = unittest.TestSuite()
suite.addTest( unittest.makeSuite(tester_t))
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|