diff options
Diffstat (limited to 'test/unittest_python3.py')
-rw-r--r-- | test/unittest_python3.py | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/test/unittest_python3.py b/test/unittest_python3.py index 114e3d3..295984a 100644 --- a/test/unittest_python3.py +++ b/test/unittest_python3.py @@ -127,8 +127,7 @@ class Python3TC(TestCase): """)) klass = astroid['SubTest'] metaclass = klass.metaclass() - self.assertIsInstance(metaclass, Class) - self.assertEqual(metaclass.name, 'type') + self.assertIsNone(metaclass) @require_version('3.0') def test_metaclass_yes_leak(self): @@ -142,6 +141,19 @@ class Python3TC(TestCase): self.assertIsNone(klass.metaclass()) @require_version('3.0') + def test_parent_metaclass(self): + astroid = self.builder.string_build(dedent(""" + from abc import ABCMeta + class Test(metaclass=ABCMeta): pass + class SubTest(Test): pass + """)) + klass = astroid['SubTest'] + self.assertTrue(klass.newstyle) + metaclass = klass.metaclass() + self.assertIsInstance(metaclass, Class) + self.assertEqual(metaclass.name, 'ABCMeta') + + @require_version('3.0') def test_metaclass_ancestors(self): astroid = self.builder.string_build(dedent(""" from abc import ABCMeta |