]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.11] gh-108983: Add more PEP 526 tests to `test_grammar` (GH-108984) (#109001)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Wed, 6 Sep 2023 14:09:54 +0000 (07:09 -0700)
committerGitHub <noreply@github.com>
Wed, 6 Sep 2023 14:09:54 +0000 (14:09 +0000)
gh-108983: Add more PEP 526 tests to `test_grammar` (GH-108984)
(cherry picked from commit 1fb20d42c58924e2e941622b3539645c7b843e0e)

Co-authored-by: Nikita Sobolev <mail@sobolevn.me>
Lib/test/test_grammar.py

index bcd8d584b0f51b8bf922374233e3ee9d20e6faf1..38e98beeb94c5e08f83872e1d1bd5c80bfd38ef9 100644 (file)
@@ -355,6 +355,11 @@ class GrammarTests(unittest.TestCase):
         check_syntax_error(self, "x: int: str")
         check_syntax_error(self, "def f():\n"
                                  "    nonlocal x: int\n")
+        check_syntax_error(self, "def f():\n"
+                                 "    global x: int\n")
+        check_syntax_error(self, "x: int = y = 1")
+        check_syntax_error(self, "z = w: int = 1")
+        check_syntax_error(self, "x: int = y: int = 1")
         # AST pass
         check_syntax_error(self, "[x, 0]: int\n")
         check_syntax_error(self, "f(): int\n")
@@ -368,6 +373,12 @@ class GrammarTests(unittest.TestCase):
         check_syntax_error(self, "def f():\n"
                                  "    global x\n"
                                  "    x: int\n")
+        check_syntax_error(self, "def f():\n"
+                                 "    x: int\n"
+                                 "    nonlocal x\n")
+        check_syntax_error(self, "def f():\n"
+                                 "    nonlocal x\n"
+                                 "    x: int\n")
 
     def test_var_annot_basic_semantics(self):
         # execution order