]> granicus.if.org Git - python/commitdiff
bpo-31847: Fix commented out tests in test_syntax. (#4084)
authorSerhiy Storchaka <storchaka@gmail.com>
Mon, 23 Oct 2017 21:27:14 +0000 (00:27 +0300)
committerGitHub <noreply@github.com>
Mon, 23 Oct 2017 21:27:14 +0000 (00:27 +0300)
SyntaxError now is raised instead of SyntaxWarning.

Lib/test/test_syntax.py

index 5d398e6688ba9be747c10ef59075b9db948f9cce..7ce3d75a89223b263f4e386bfc2e0dad40083f66 100644 (file)
@@ -415,6 +415,15 @@ Misuse of the nonlocal and global statement can lead to a few unique syntax erro
      ...
    SyntaxError: name 'x' is used prior to nonlocal declaration
 
+   >>> def f():
+   ...     x = 1
+   ...     def g():
+   ...         x = 2
+   ...         nonlocal x
+   Traceback (most recent call last):
+     ...
+   SyntaxError: name 'x' is assigned to before nonlocal declaration
+
    >>> def f(x):
    ...     nonlocal x
    Traceback (most recent call last):
@@ -440,24 +449,7 @@ From SF bug #1705365
      ...
    SyntaxError: nonlocal declaration not allowed at module level
 
-TODO(jhylton): Figure out how to test SyntaxWarning with doctest.
-
-##   >>> def f(x):
-##   ...     def f():
-##   ...         print(x)
-##   ...         nonlocal x
-##   Traceback (most recent call last):
-##     ...
-##   SyntaxWarning: name 'x' is assigned to before nonlocal declaration
-
-##   >>> def f():
-##   ...     x = 1
-##   ...     nonlocal x
-##   Traceback (most recent call last):
-##     ...
-##   SyntaxWarning: name 'x' is assigned to before nonlocal declaration
-
- From https://bugs.python.org/issue25973
+From https://bugs.python.org/issue25973
    >>> class A:
    ...     def f(self):
    ...         nonlocal __x