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 | |
| 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')
| -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') |
