allow deprecation of a class with custom metaclass

This commit is contained in:
Daniel Graña 2014-01-10 17:50:05 -02:00
parent 1e37b64ecd
commit 6313b7ff4c
2 changed files with 6 additions and 1 deletions

View File

@ -177,3 +177,8 @@ class WarnWhenSubclassedTest(unittest.TestCase):
Deprecated = create_deprecated_class('Deprecated', NewName, {'foo': 'bar'})
self.assertEqual(Deprecated.foo, 'bar')
def test_deprecate_a_class_with_custom_metaclass(self):
Meta1 = type('Meta1', (type,), {})
New = Meta1('New', (), {})
Deprecated = create_deprecated_class('Deprecated', New)

View File

@ -45,7 +45,7 @@ def create_deprecated_class(name, new_class, clsdict=None,
OldName.
"""
class DeprecatedClass(type):
class DeprecatedClass(new_class.__class__):
deprecated_class = None
warned_on_subclass = False