mirror of
https://github.com/python/cpython
synced 2024-10-14 09:01:41 +00:00
bpo-43162: [Enum] update docs, renable doc tests (GH-24487)
* update docs, renable doc tests * make deprecation warning active for two releases
This commit is contained in:
parent
04f6fbb696
commit
44e580f448
|
@ -1222,17 +1222,18 @@ Private names are not converted to Enum members, but remain normal attributes.
|
|||
:class:`Enum` members are instances of their :class:`Enum` class, and are
|
||||
normally accessed as ``EnumClass.member``. In Python versions ``3.5`` to
|
||||
``3.9`` you could access members from other members -- this practice was
|
||||
discouraged, and in ``3.10`` :class:`Enum` has returned to not allowing it::
|
||||
discouraged, and in ``3.12`` :class:`Enum` will return to not allowing it,
|
||||
while in ``3.10`` and ``3.11`` it will raise a :exc:`DeprecationWarning`::
|
||||
|
||||
>>> class FieldTypes(Enum):
|
||||
... name = 0
|
||||
... value = 1
|
||||
... size = 2
|
||||
...
|
||||
>>> FieldTypes.value.size
|
||||
Traceback (most recent call last):
|
||||
...
|
||||
AttributeError: FieldTypes: no attribute 'size'
|
||||
>>> FieldTypes.value.size # doctest: +SKIP
|
||||
DeprecationWarning: accessing one member from another is not supported,
|
||||
and will be disabled in 3.12
|
||||
<FieldTypes.size: 2>
|
||||
|
||||
.. versionchanged:: 3.5
|
||||
.. versionchanged:: 3.10
|
||||
|
|
|
@ -148,7 +148,7 @@ def __get__(self, instance, ownerclass=None):
|
|||
import warnings
|
||||
warnings.warn(
|
||||
"accessing one member from another is not supported, "
|
||||
" and will be disabled in 3.11",
|
||||
" and will be disabled in 3.12",
|
||||
DeprecationWarning,
|
||||
stacklevel=2,
|
||||
)
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
|
||||
def load_tests(loader, tests, ignore):
|
||||
tests.addTests(doctest.DocTestSuite(enum))
|
||||
if os.path.exists('../../Doc/library/enum.rst'):
|
||||
if os.path.exists('Doc/library/enum.rst'):
|
||||
tests.addTests(doctest.DocFileSuite(
|
||||
'../../Doc/library/enum.rst',
|
||||
optionflags=doctest.ELLIPSIS|doctest.NORMALIZE_WHITESPACE,
|
||||
|
@ -2186,7 +2186,7 @@ class Private(Enum):
|
|||
self.assertEqual(Private._Private__major_, 'Hoolihan')
|
||||
|
||||
@unittest.skipUnless(
|
||||
sys.version_info[:2] == (3, 10),
|
||||
sys.version_info[:2] < (3, 12),
|
||||
'member-member access now raises an exception',
|
||||
)
|
||||
def test_warning_for_member_from_member_access(self):
|
||||
|
@ -2198,7 +2198,7 @@ class Di(Enum):
|
|||
self.assertIs(Di.NO, nope)
|
||||
|
||||
@unittest.skipUnless(
|
||||
sys.version_info[:2] > (3, 10),
|
||||
sys.version_info[:2] >= (3, 12),
|
||||
'member-member access currently issues a warning',
|
||||
)
|
||||
def test_exception_for_member_from_member_access(self):
|
||||
|
|
Loading…
Reference in a new issue