Commit 970d1887 authored by Benjamin Peterson's avatar Benjamin Peterson

add a test and a note about metaclasses now being abcs

parent 5397e862
......@@ -105,6 +105,19 @@ class TestABC(unittest.TestCase):
pass
self.assertRaises(AttributeError, getattr, meta, "__abstractmethods__")
def test_metaclass_abc(self):
# Metaclasses can be ABCs, too.
class A(metaclass=abc.ABCMeta):
@abc.abstractmethod
def x(self):
pass
self.assertEqual(A.__abstractmethods__, {"x"})
class meta(type, A):
def x(self):
return 1
class C(metaclass=meta):
pass
def test_registration_basics(self):
class A(metaclass=abc.ABCMeta):
pass
......
......@@ -10,14 +10,15 @@ What's New in Python 3.2 Alpha 3?
Core and Builtins
-----------------
- Issue #10006: type.__abstractmethods__ now raises an AttributeError. As a
result metaclasses can now be ABCs (see #9533).
- Issue #8670: ctypes.c_wchar supports non-BMP characters with 32 bits wchar_t.
- Issue #8670: PyUnicode_AsWideChar() and PyUnicode_AsWideCharString() replace
UTF-16 surrogate pairs by single non-BMP characters for 16 bits Py_UNICODE
and 32 bits wchar_t (eg. Linux in narrow build).
- Issue #10006: type.__abstractmethods__ now raises an AttributeError.
- Issue #10003: Allow handling of SIGBREAK on Windows. Fixes a regression
introduced by issue #9324.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment