1# lexer tests for things that are not implemented, or have non-compliant behaviour 2 3 4def test(code): 5 try: 6 exec(code) 7 print("no Error") 8 except SyntaxError: 9 print("SyntaxError") 10 except NotImplementedError: 11 print("NotImplementedError") 12 13 14# uPy requires spaces between literal numbers and keywords, CPy doesn't 15try: 16 eval("1and 0") 17except SyntaxError: 18 print("SyntaxError") 19try: 20 eval("1or 0") 21except SyntaxError: 22 print("SyntaxError") 23try: 24 eval("1if 1else 0") 25except SyntaxError: 26 print("SyntaxError") 27try: 28 eval("1if 0else 0") 29except SyntaxError: 30 print("SyntaxError") 31 32# unicode name escapes are not implemented 33test('"\\N{LATIN SMALL LETTER A}"') 34