diff options
-rw-r--r-- | generator/cppgenerator.cpp | 5 | ||||
-rw-r--r-- | tests/samplebinding/enum_test.py | 2 | ||||
-rw-r--r-- | tests/samplebinding/namespace_test.py | 5 |
3 files changed, 9 insertions, 3 deletions
diff --git a/generator/cppgenerator.cpp b/generator/cppgenerator.cpp index bc623e63b..8e3b391b7 100644 --- a/generator/cppgenerator.cpp +++ b/generator/cppgenerator.cpp @@ -2514,7 +2514,7 @@ void CppGenerator::writeClassDefinition(QTextStream& s, const AbstractMetaClass* s << "static SbkObjectType " << className + "_Type" << " = { { {" << endl; s << INDENT << "PyObject_HEAD_INIT(&SbkObjectType_Type)" << endl; s << INDENT << "/*ob_size*/ 0," << endl; - s << INDENT << "/*tp_name*/ \"" << metaClass->fullName() << "\"," << endl; + s << INDENT << "/*tp_name*/ \"" << getClassTargetFullName(metaClass) << "\"," << endl; s << INDENT << "/*tp_basicsize*/ sizeof(SbkObject)," << endl; s << INDENT << "/*tp_itemsize*/ 0," << endl; s << INDENT << "/*tp_dealloc*/ " << tp_dealloc << ',' << endl; @@ -3028,7 +3028,8 @@ void CppGenerator::writeEnumInitialization(QTextStream& s, const AbstractMetaEnu s << cppEnum->name() << endl; if (!cppEnum->isAnonymous()) { - s << INDENT << "PyTypeObject* " << cpythonName << " = Shiboken::Enum::newType(\"" << cppEnum->name() << "\");" << endl; + + s << INDENT << "PyTypeObject* " << cpythonName << " = Shiboken::Enum::newType(\"" << getClassTargetFullName(cppEnum) << "\");" << endl; if (cppEnum->typeEntry()->flags()) s << INDENT << cpythonName << "->tp_as_number = &" << cpythonName << "_as_number;" << endl; diff --git a/tests/samplebinding/enum_test.py b/tests/samplebinding/enum_test.py index 22e6b917c..4d67fcea6 100644 --- a/tests/samplebinding/enum_test.py +++ b/tests/samplebinding/enum_test.py @@ -106,7 +106,7 @@ class MyEvent(Event): class OutOfBoundsTest(unittest.TestCase): def testValue(self): e = MyEvent() - self.assertEqual(repr(e.eventType()), '<enum-item EventType.#out of bounds# (999)>') + self.assertEqual(repr(e.eventType()), '<enum-item sample.Event.EventType.#out of bounds# (999)>') class EnumOverloadTest(unittest.TestCase): '''Test case for overloads involving enums''' diff --git a/tests/samplebinding/namespace_test.py b/tests/samplebinding/namespace_test.py index 29633f38e..20637cae7 100644 --- a/tests/samplebinding/namespace_test.py +++ b/tests/samplebinding/namespace_test.py @@ -40,5 +40,10 @@ class TestClassesUnderNamespace(unittest.TestCase): res = SampleNamespace.ImInsideANamespace(2, 2) self.assertEquals(res, 4) + def testTpNames(self): + self.assertEquals(str(SampleNamespace.SomeClass), "<type 'sample.SampleNamespace.SomeClass'>") + self.assertEquals(str(SampleNamespace.SomeClass.SomeInnerClass.OkThisIsRecursiveEnough), "<type 'sample.SampleNamespace.SomeClass.SomeInnerClass.OkThisIsRecursiveEnough'>") + self.assertEquals(str(SampleNamespace.SomeClass.SomeInnerClass.OkThisIsRecursiveEnough.NiceEnum), "<type 'sample.SampleNamespace.SomeClass.SomeInnerClass.OkThisIsRecursiveEnough.NiceEnum'>") + if __name__ == '__main__': unittest.main() |