def test_issue_1(self): # https://github.com/afg984/python-cxxfilt/issues/1 self.assertEqual( cxxfilt.demangle('N3foo12BarExceptionE', external_only=False), 'foo::BarException') self.assertEqual( cxxfilt.demangleb(b'N3foo12BarExceptionE', external_only=False), b'foo::BarException') self.assertEqual(cxxfilt.demangle('Z4mainEUlvE_', external_only=False), 'main::{lambda()#1}') self.assertEqual( cxxfilt.demangleb(b'Z4mainEUlvE_', external_only=False), b'main::{lambda()#1}') self.assertEqual(cxxfilt.demangle('a', external_only=False), 'signed char') self.assertEqual(cxxfilt.demangleb(b'a', external_only=False), b'signed char')
def test_demangleb(): assert cxxfilt.demangleb(b'_ZNSt22condition_variable_anyD2Ev') in { b'std::condition_variable_any::~condition_variable_any()', b'std::condition_variable_any::~condition_variable_any(void)', }
def test_reject_invalid_nameb(): with pytest.raises(cxxfilt.InvalidName): cxxfilt.demangleb(b'_ZQQ')
def test_not_mangled_nameb(): assert cxxfilt.demangleb(b'main') == b'main'
def test_not_mangled_nameb(self): self.assertEqual(cxxfilt.demangleb(b'main'), b'main')
def test_demangleb(self): self.assertIn( cxxfilt.demangleb(b'_ZNSt22condition_variable_anyD2Ev'), { b'std::condition_variable_any::~condition_variable_any()', b'std::condition_variable_any::~condition_variable_any(void)', })
def test_reject_invalid_nameb(self): with self.assertRaises(cxxfilt.InvalidName): cxxfilt.demangleb(b'_ZQQ')