mirror of https://github.com/python/cpython.git
Add test cases to make sure we get the right SyntaxError message for
various illegal uses of "continue".
This commit is contained in:
parent
fd1f1be98d
commit
72e48bd05f
|
@ -27,6 +27,16 @@ RuntimeError
|
||||||
(not used any more?)
|
(not used any more?)
|
||||||
spam
|
spam
|
||||||
SyntaxError
|
SyntaxError
|
||||||
|
'continue' not supported inside 'try' clause
|
||||||
|
ok
|
||||||
|
'continue' not supported inside 'try' clause
|
||||||
|
ok
|
||||||
|
'continue' not supported inside 'try' clause
|
||||||
|
ok
|
||||||
|
'continue' not properly in loop
|
||||||
|
ok
|
||||||
|
'continue' not properly in loop
|
||||||
|
ok
|
||||||
spam
|
spam
|
||||||
IndentationError
|
IndentationError
|
||||||
spam
|
spam
|
||||||
|
|
|
@ -86,6 +86,55 @@ def r(thing):
|
||||||
try: exec '/\n'
|
try: exec '/\n'
|
||||||
except SyntaxError: pass
|
except SyntaxError: pass
|
||||||
|
|
||||||
|
# make sure the right exception message is raised for each of these
|
||||||
|
# code fragments:
|
||||||
|
|
||||||
|
def ckmsg(src, msg):
|
||||||
|
try:
|
||||||
|
compile(src, '<fragment>', 'exec')
|
||||||
|
except SyntaxError, e:
|
||||||
|
print e.msg
|
||||||
|
if e.msg == msg:
|
||||||
|
print "ok"
|
||||||
|
else:
|
||||||
|
print "expected:", msg
|
||||||
|
else:
|
||||||
|
print "failed to get expected SyntaxError"
|
||||||
|
|
||||||
|
s = '''\
|
||||||
|
while 1:
|
||||||
|
try:
|
||||||
|
continue
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
'''
|
||||||
|
ckmsg(s, "'continue' not supported inside 'try' clause")
|
||||||
|
s = '''\
|
||||||
|
while 1:
|
||||||
|
try:
|
||||||
|
continue
|
||||||
|
finally:
|
||||||
|
pass
|
||||||
|
'''
|
||||||
|
ckmsg(s, "'continue' not supported inside 'try' clause")
|
||||||
|
s = '''\
|
||||||
|
while 1:
|
||||||
|
try:
|
||||||
|
if 1:
|
||||||
|
continue
|
||||||
|
finally:
|
||||||
|
pass
|
||||||
|
'''
|
||||||
|
ckmsg(s, "'continue' not supported inside 'try' clause")
|
||||||
|
s = '''\
|
||||||
|
try:
|
||||||
|
continue
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
'''
|
||||||
|
ckmsg(s, "'continue' not properly in loop")
|
||||||
|
ckmsg("continue\n", "'continue' not properly in loop")
|
||||||
|
|
||||||
r(IndentationError)
|
r(IndentationError)
|
||||||
|
|
||||||
r(TabError)
|
r(TabError)
|
||||||
|
|
Loading…
Reference in New Issue