bpo-31847: Fix commented out tests in test_syntax. (GH-4084) (#4095)

SyntaxError now is raised instead of SyntaxWarning.
(cherry picked from commit 3b66ebe772)
This commit is contained in:
Miss Islington (bot) 2017-10-23 15:08:03 -07:00 committed by Serhiy Storchaka
parent a5f9d24c17
commit d7604f5d06

View file

@ -384,6 +384,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):
@ -409,24 +418,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