From: <rom...@us...> - 2008-03-24 21:18:41
|
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. |