circuitpython/tests/misc/non_compliant_lexer.py

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

34 lines
716 B
Python
Raw Permalink Normal View History

# lexer tests for things that are not implemented, or have non-compliant behaviour
2021-03-15 09:57:36 -04:00
def test(code):
try:
exec(code)
2021-03-15 09:57:36 -04:00
print("no Error")
except SyntaxError:
2021-03-15 09:57:36 -04:00
print("SyntaxError")
except NotImplementedError:
2021-03-15 09:57:36 -04:00
print("NotImplementedError")
# uPy requires spaces between literal numbers and keywords, CPy doesn't
try:
2021-03-15 09:57:36 -04:00
eval("1and 0")
except SyntaxError:
2021-03-15 09:57:36 -04:00
print("SyntaxError")
try:
2021-03-15 09:57:36 -04:00
eval("1or 0")
except SyntaxError:
2021-03-15 09:57:36 -04:00
print("SyntaxError")
try:
2021-03-15 09:57:36 -04:00
eval("1if 1else 0")
except SyntaxError:
2021-03-15 09:57:36 -04:00
print("SyntaxError")
try:
2021-03-15 09:57:36 -04:00
eval("1if 0else 0")
except SyntaxError:
2021-03-15 09:57:36 -04:00
print("SyntaxError")
# unicode name escapes are not implemented
test('"\\N{LATIN SMALL LETTER A}"')