[3.14] gh-133516: Raise ValueError when constants True, False or None are used as an identifier after NFKC normalization (GH-133523) (#133596)

This commit is contained in:
Miss Islington (bot) 2025-05-08 00:26:06 +02:00 committed by GitHub
parent c98b5a9369
commit 54c3aa1597
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 28 additions and 0 deletions

View file

@ -821,6 +821,17 @@ def test_constant_as_name(self):
with self.assertRaisesRegex(ValueError, f"identifier field can't represent '{constant}' constant"):
compile(expr, "<test>", "eval")
def test_constant_as_unicode_name(self):
constants = [
("True", b"Tru\xe1\xb5\x89"),
("False", b"Fal\xc5\xbfe"),
("None", b"N\xc2\xbane"),
]
for constant in constants:
with self.assertRaisesRegex(ValueError,
f"identifier field can't represent '{constant[0]}' constant"):
ast.parse(constant[1], mode="eval")
def test_precedence_enum(self):
class _Precedence(enum.IntEnum):
"""Precedence table that originated from python grammar."""