diff --git a/wsme/tests/test_types.py b/wsme/tests/test_types.py index c3805a2..486a781 100644 --- a/wsme/tests/test_types.py +++ b/wsme/tests/test_types.py @@ -629,3 +629,11 @@ Value: 'v3'. Value should be one of: v., v.", TempType.add_attributes(two=int) after = types.list_attributes(TempType) self.assertEqual(len(after), 2) + + def test_non_registered_complex_type(self): + class TempType(types.Base): + __registry__ = None + + self.assertFalse(types.iscomplex(TempType)) + types.registry.register(TempType) + self.assertTrue(types.iscomplex(TempType)) diff --git a/wsme/types.py b/wsme/types.py index 383dea6..a751abf 100644 --- a/wsme/types.py +++ b/wsme/types.py @@ -754,7 +754,7 @@ class BaseMeta(type): return type.__new__(cls, name, bases, dct) def __init__(cls, name, bases, dct): - if bases and bases[0] is not object: + if bases and bases[0] is not object and cls.__registry__: cls.__registry__.register(cls)