diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2019-04-09 18:40:39 -0300 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2019-04-09 18:40:39 -0300 |
commit | 65d1aa7a779b30bf5b0e7b968b3980b702b08b2c (patch) | |
tree | 05590585cbc70bbc5bb9fa8799220e9fc50c0900 /testes/literals.lua | |
parent | 8004798b0374744208b102bb4cbcf12f904ea120 (diff) | |
download | lua-65d1aa7a779b30bf5b0e7b968b3980b702b08b2c.tar.gz lua-65d1aa7a779b30bf5b0e7b968b3980b702b08b2c.tar.bz2 lua-65d1aa7a779b30bf5b0e7b968b3980b702b08b2c.zip |
Syntax should not allow numbers touching identifiers
Code like 'a = 1print()' should not be accepted.
Diffstat (limited to 'testes/literals.lua')
-rw-r--r-- | testes/literals.lua | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/testes/literals.lua b/testes/literals.lua index fc45d4ad..27f9377d 100644 --- a/testes/literals.lua +++ b/testes/literals.lua | |||
@@ -306,4 +306,13 @@ assert(not load"a = 'non-ending string\n'") | |||
306 | assert(not load"a = '\\345'") | 306 | assert(not load"a = '\\345'") |
307 | assert(not load"a = [=x]") | 307 | assert(not load"a = [=x]") |
308 | 308 | ||
309 | local function malformednum (n, exp) | ||
310 | local s, msg = load("return " .. n) | ||
311 | assert(not s and string.find(msg, exp)) | ||
312 | end | ||
313 | |||
314 | malformednum("0xe-", "near <eof>") | ||
315 | malformednum("0xep-p", "malformed number") | ||
316 | malformednum("1print()", "malformed number") | ||
317 | |||
309 | print('OK') | 318 | print('OK') |