mirror of
https://github.com/python/cpython.git
synced 2025-10-31 21:51:50 +00:00
bpo-43945: [Enum] reduce scope of new format() behavior (GH-26752)
* [Enum] reduce scope of new format behavior
Instead of treating all Enums the same for format(), only user mixed-in
enums will be affected. In other words, IntEnum and IntFlag will not be
changing the format() behavior, due to the requirement that they be
drop-in replacements of existing integer constants.
If a user creates their own integer-based enum, then the new behavior
will apply:
class Grades(int, Enum):
A = 5
B = 4
C = 3
D = 2
F = 0
Now: format(Grades.B) -> DeprecationWarning and '4'
3.12: -> no warning, and 'B'
This commit is contained in:
parent
df1502e47f
commit
f60b07ab6c
5 changed files with 225 additions and 29 deletions
|
|
@ -259,7 +259,7 @@ def test_send_error(self):
|
|||
for code in (HTTPStatus.NO_CONTENT, HTTPStatus.NOT_MODIFIED,
|
||||
HTTPStatus.PROCESSING, HTTPStatus.RESET_CONTENT,
|
||||
HTTPStatus.SWITCHING_PROTOCOLS):
|
||||
self.con.request('SEND_ERROR', '/{:d}'.format(code))
|
||||
self.con.request('SEND_ERROR', '/{}'.format(code))
|
||||
res = self.con.getresponse()
|
||||
self.assertEqual(code, res.status)
|
||||
self.assertEqual(None, res.getheader('Content-Length'))
|
||||
|
|
@ -276,7 +276,7 @@ def test_head_via_send_error(self):
|
|||
for code in (HTTPStatus.OK, HTTPStatus.NO_CONTENT,
|
||||
HTTPStatus.NOT_MODIFIED, HTTPStatus.RESET_CONTENT,
|
||||
HTTPStatus.SWITCHING_PROTOCOLS):
|
||||
self.con.request('HEAD', '/{:d}'.format(code))
|
||||
self.con.request('HEAD', '/{}'.format(code))
|
||||
res = self.con.getresponse()
|
||||
self.assertEqual(code, res.status)
|
||||
if code == HTTPStatus.OK:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue