diff options
| author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2022-12-28 18:34:11 -0300 |
|---|---|---|
| committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2022-12-28 18:34:11 -0300 |
| commit | 314745ed8438d1276c6c928d5f9d4be018dfadb6 (patch) | |
| tree | 594b7e873f2c29113d95c75147ab10865cdd772c /testes/literals.lua | |
| parent | 0825cf237d9d3505155f8b40bcf83ea1b135e8da (diff) | |
| download | lua-314745ed8438d1276c6c928d5f9d4be018dfadb6.tar.gz lua-314745ed8438d1276c6c928d5f9d4be018dfadb6.tar.bz2 lua-314745ed8438d1276c6c928d5f9d4be018dfadb6.zip | |
Avoid excessive name pollution in test files
Test files are more polite regarding the use of globals when locals
would do, and when globals are necessary deleting them after use.
Diffstat (limited to 'testes/literals.lua')
| -rw-r--r-- | testes/literals.lua | 33 |
1 files changed, 17 insertions, 16 deletions
diff --git a/testes/literals.lua b/testes/literals.lua index d5a769ed..30ab9ab1 100644 --- a/testes/literals.lua +++ b/testes/literals.lua | |||
| @@ -10,6 +10,7 @@ local function dostring (x) return assert(load(x), "")() end | |||
| 10 | 10 | ||
| 11 | dostring("x \v\f = \t\r 'a\0a' \v\f\f") | 11 | dostring("x \v\f = \t\r 'a\0a' \v\f\f") |
| 12 | assert(x == 'a\0a' and string.len(x) == 3) | 12 | assert(x == 'a\0a' and string.len(x) == 3) |
| 13 | _G.x = nil | ||
| 13 | 14 | ||
| 14 | -- escape sequences | 15 | -- escape sequences |
| 15 | assert('\n\"\'\\' == [[ | 16 | assert('\n\"\'\\' == [[ |
| @@ -129,16 +130,16 @@ end | |||
| 129 | 130 | ||
| 130 | -- long variable names | 131 | -- long variable names |
| 131 | 132 | ||
| 132 | var1 = string.rep('a', 15000) .. '1' | 133 | local var1 = string.rep('a', 15000) .. '1' |
| 133 | var2 = string.rep('a', 15000) .. '2' | 134 | local var2 = string.rep('a', 15000) .. '2' |
| 134 | prog = string.format([[ | 135 | local prog = string.format([[ |
| 135 | %s = 5 | 136 | %s = 5 |
| 136 | %s = %s + 1 | 137 | %s = %s + 1 |
| 137 | return function () return %s - %s end | 138 | return function () return %s - %s end |
| 138 | ]], var1, var2, var1, var1, var2) | 139 | ]], var1, var2, var1, var1, var2) |
| 139 | local f = dostring(prog) | 140 | local f = dostring(prog) |
| 140 | assert(_G[var1] == 5 and _G[var2] == 6 and f() == -1) | 141 | assert(_G[var1] == 5 and _G[var2] == 6 and f() == -1) |
| 141 | var1, var2, f = nil | 142 | _G[var1], _G[var2] = nil |
| 142 | print('+') | 143 | print('+') |
| 143 | 144 | ||
| 144 | -- escapes -- | 145 | -- escapes -- |
| @@ -150,13 +151,13 @@ assert([[ | |||
| 150 | $debug]] == "\n $debug") | 151 | $debug]] == "\n $debug") |
| 151 | assert([[ [ ]] ~= [[ ] ]]) | 152 | assert([[ [ ]] ~= [[ ] ]]) |
| 152 | -- long strings -- | 153 | -- long strings -- |
| 153 | b = "001234567890123456789012345678901234567891234567890123456789012345678901234567890012345678901234567890123456789012345678912345678901234567890123456789012345678900123456789012345678901234567890123456789123456789012345678901234567890123456789001234567890123456789012345678901234567891234567890123456789012345678901234567890012345678901234567890123456789012345678912345678901234567890123456789012345678900123456789012345678901234567890123456789123456789012345678901234567890123456789001234567890123456789012345678901234567891234567890123456789012345678901234567890012345678901234567890123456789012345678912345678901234567890123456789012345678900123456789012345678901234567890123456789123456789012345678901234567890123456789001234567890123456789012345678901234567891234567890123456789012345678901234567890012345678901234567890123456789012345678912345678901234567890123456789012345678900123456789012345678901234567890123456789123456789012345678901234567890123456789" | 154 | local b = "001234567890123456789012345678901234567891234567890123456789012345678901234567890012345678901234567890123456789012345678912345678901234567890123456789012345678900123456789012345678901234567890123456789123456789012345678901234567890123456789001234567890123456789012345678901234567891234567890123456789012345678901234567890012345678901234567890123456789012345678912345678901234567890123456789012345678900123456789012345678901234567890123456789123456789012345678901234567890123456789001234567890123456789012345678901234567891234567890123456789012345678901234567890012345678901234567890123456789012345678912345678901234567890123456789012345678900123456789012345678901234567890123456789123456789012345678901234567890123456789001234567890123456789012345678901234567891234567890123456789012345678901234567890012345678901234567890123456789012345678912345678901234567890123456789012345678900123456789012345678901234567890123456789123456789012345678901234567890123456789" |
| 154 | assert(string.len(b) == 960) | 155 | assert(string.len(b) == 960) |
| 155 | prog = [=[ | 156 | prog = [=[ |
| 156 | print('+') | 157 | print('+') |
| 157 | 158 | ||
| 158 | a1 = [["this is a 'string' with several 'quotes'"]] | 159 | local a1 = [["this is a 'string' with several 'quotes'"]] |
| 159 | a2 = "'quotes'" | 160 | local a2 = "'quotes'" |
| 160 | 161 | ||
| 161 | assert(string.find(a1, a2) == 34) | 162 | assert(string.find(a1, a2) == 34) |
| 162 | print('+') | 163 | print('+') |
| @@ -164,12 +165,13 @@ print('+') | |||
| 164 | a1 = [==[temp = [[an arbitrary value]]; ]==] | 165 | a1 = [==[temp = [[an arbitrary value]]; ]==] |
| 165 | assert(load(a1))() | 166 | assert(load(a1))() |
| 166 | assert(temp == 'an arbitrary value') | 167 | assert(temp == 'an arbitrary value') |
| 168 | _G.temp = nil | ||
| 167 | -- long strings -- | 169 | -- long strings -- |
| 168 | b = "001234567890123456789012345678901234567891234567890123456789012345678901234567890012345678901234567890123456789012345678912345678901234567890123456789012345678900123456789012345678901234567890123456789123456789012345678901234567890123456789001234567890123456789012345678901234567891234567890123456789012345678901234567890012345678901234567890123456789012345678912345678901234567890123456789012345678900123456789012345678901234567890123456789123456789012345678901234567890123456789001234567890123456789012345678901234567891234567890123456789012345678901234567890012345678901234567890123456789012345678912345678901234567890123456789012345678900123456789012345678901234567890123456789123456789012345678901234567890123456789001234567890123456789012345678901234567891234567890123456789012345678901234567890012345678901234567890123456789012345678912345678901234567890123456789012345678900123456789012345678901234567890123456789123456789012345678901234567890123456789" | 170 | local b = "001234567890123456789012345678901234567891234567890123456789012345678901234567890012345678901234567890123456789012345678912345678901234567890123456789012345678900123456789012345678901234567890123456789123456789012345678901234567890123456789001234567890123456789012345678901234567891234567890123456789012345678901234567890012345678901234567890123456789012345678912345678901234567890123456789012345678900123456789012345678901234567890123456789123456789012345678901234567890123456789001234567890123456789012345678901234567891234567890123456789012345678901234567890012345678901234567890123456789012345678912345678901234567890123456789012345678900123456789012345678901234567890123456789123456789012345678901234567890123456789001234567890123456789012345678901234567891234567890123456789012345678901234567890012345678901234567890123456789012345678912345678901234567890123456789012345678900123456789012345678901234567890123456789123456789012345678901234567890123456789" |
| 169 | assert(string.len(b) == 960) | 171 | assert(string.len(b) == 960) |
| 170 | print('+') | 172 | print('+') |
| 171 | 173 | ||
| 172 | a = [[00123456789012345678901234567890123456789123456789012345678901234567890123456789 | 174 | local a = [[00123456789012345678901234567890123456789123456789012345678901234567890123456789 |
| 173 | 00123456789012345678901234567890123456789123456789012345678901234567890123456789 | 175 | 00123456789012345678901234567890123456789123456789012345678901234567890123456789 |
| 174 | 00123456789012345678901234567890123456789123456789012345678901234567890123456789 | 176 | 00123456789012345678901234567890123456789123456789012345678901234567890123456789 |
| 175 | 00123456789012345678901234567890123456789123456789012345678901234567890123456789 | 177 | 00123456789012345678901234567890123456789123456789012345678901234567890123456789 |
| @@ -199,13 +201,11 @@ x = 1 | |||
| 199 | ]=] | 201 | ]=] |
| 200 | 202 | ||
| 201 | print('+') | 203 | print('+') |
| 202 | x = nil | 204 | _G.x = nil |
| 203 | dostring(prog) | 205 | dostring(prog) |
| 204 | assert(x) | 206 | assert(x) |
| 207 | _G.x = nil | ||
| 205 | 208 | ||
| 206 | prog = nil | ||
| 207 | a = nil | ||
| 208 | b = nil | ||
| 209 | 209 | ||
| 210 | 210 | ||
| 211 | do -- reuse of long strings | 211 | do -- reuse of long strings |
| @@ -234,8 +234,8 @@ end | |||
| 234 | 234 | ||
| 235 | -- testing line ends | 235 | -- testing line ends |
| 236 | prog = [[ | 236 | prog = [[ |
| 237 | a = 1 -- a comment | 237 | local a = 1 -- a comment |
| 238 | b = 2 | 238 | local b = 2 |
| 239 | 239 | ||
| 240 | 240 | ||
| 241 | x = [=[ | 241 | x = [=[ |
| @@ -252,10 +252,11 @@ for _, n in pairs{"\n", "\r", "\n\r", "\r\n"} do | |||
| 252 | assert(dostring(prog) == nn) | 252 | assert(dostring(prog) == nn) |
| 253 | assert(_G.x == "hi\n" and _G.y == "\nhello\r\n\n") | 253 | assert(_G.x == "hi\n" and _G.y == "\nhello\r\n\n") |
| 254 | end | 254 | end |
| 255 | _G.x, _G.y = nil | ||
| 255 | 256 | ||
| 256 | 257 | ||
| 257 | -- testing comments and strings with long brackets | 258 | -- testing comments and strings with long brackets |
| 258 | a = [==[]=]==] | 259 | local a = [==[]=]==] |
| 259 | assert(a == "]=") | 260 | assert(a == "]=") |
| 260 | 261 | ||
| 261 | a = [==[[===[[=[]]=][====[]]===]===]==] | 262 | a = [==[[===[[=[]]=][====[]]===]===]==] |
