aboutsummaryrefslogtreecommitdiff
path: root/testes/literals.lua
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>2022-12-28 18:34:11 -0300
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>2022-12-28 18:34:11 -0300
commit314745ed8438d1276c6c928d5f9d4be018dfadb6 (patch)
tree594b7e873f2c29113d95c75147ab10865cdd772c /testes/literals.lua
parent0825cf237d9d3505155f8b40bcf83ea1b135e8da (diff)
downloadlua-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.lua33
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
11dostring("x \v\f = \t\r 'a\0a' \v\f\f") 11dostring("x \v\f = \t\r 'a\0a' \v\f\f")
12assert(x == 'a\0a' and string.len(x) == 3) 12assert(x == 'a\0a' and string.len(x) == 3)
13_G.x = nil
13 14
14-- escape sequences 15-- escape sequences
15assert('\n\"\'\\' == [[ 16assert('\n\"\'\\' == [[
@@ -129,16 +130,16 @@ end
129 130
130-- long variable names 131-- long variable names
131 132
132var1 = string.rep('a', 15000) .. '1' 133local var1 = string.rep('a', 15000) .. '1'
133var2 = string.rep('a', 15000) .. '2' 134local var2 = string.rep('a', 15000) .. '2'
134prog = string.format([[ 135local 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)
139local f = dostring(prog) 140local f = dostring(prog)
140assert(_G[var1] == 5 and _G[var2] == 6 and f() == -1) 141assert(_G[var1] == 5 and _G[var2] == 6 and f() == -1)
141var1, var2, f = nil 142_G[var1], _G[var2] = nil
142print('+') 143print('+')
143 144
144-- escapes -- 145-- escapes --
@@ -150,13 +151,13 @@ assert([[
150 $debug]] == "\n $debug") 151 $debug]] == "\n $debug")
151assert([[ [ ]] ~= [[ ] ]]) 152assert([[ [ ]] ~= [[ ] ]])
152-- long strings -- 153-- long strings --
153b = "001234567890123456789012345678901234567891234567890123456789012345678901234567890012345678901234567890123456789012345678912345678901234567890123456789012345678900123456789012345678901234567890123456789123456789012345678901234567890123456789001234567890123456789012345678901234567891234567890123456789012345678901234567890012345678901234567890123456789012345678912345678901234567890123456789012345678900123456789012345678901234567890123456789123456789012345678901234567890123456789001234567890123456789012345678901234567891234567890123456789012345678901234567890012345678901234567890123456789012345678912345678901234567890123456789012345678900123456789012345678901234567890123456789123456789012345678901234567890123456789001234567890123456789012345678901234567891234567890123456789012345678901234567890012345678901234567890123456789012345678912345678901234567890123456789012345678900123456789012345678901234567890123456789123456789012345678901234567890123456789" 154local b = "001234567890123456789012345678901234567891234567890123456789012345678901234567890012345678901234567890123456789012345678912345678901234567890123456789012345678900123456789012345678901234567890123456789123456789012345678901234567890123456789001234567890123456789012345678901234567891234567890123456789012345678901234567890012345678901234567890123456789012345678912345678901234567890123456789012345678900123456789012345678901234567890123456789123456789012345678901234567890123456789001234567890123456789012345678901234567891234567890123456789012345678901234567890012345678901234567890123456789012345678912345678901234567890123456789012345678900123456789012345678901234567890123456789123456789012345678901234567890123456789001234567890123456789012345678901234567891234567890123456789012345678901234567890012345678901234567890123456789012345678912345678901234567890123456789012345678900123456789012345678901234567890123456789123456789012345678901234567890123456789"
154assert(string.len(b) == 960) 155assert(string.len(b) == 960)
155prog = [=[ 156prog = [=[
156print('+') 157print('+')
157 158
158a1 = [["this is a 'string' with several 'quotes'"]] 159local a1 = [["this is a 'string' with several 'quotes'"]]
159a2 = "'quotes'" 160local a2 = "'quotes'"
160 161
161assert(string.find(a1, a2) == 34) 162assert(string.find(a1, a2) == 34)
162print('+') 163print('+')
@@ -164,12 +165,13 @@ print('+')
164a1 = [==[temp = [[an arbitrary value]]; ]==] 165a1 = [==[temp = [[an arbitrary value]]; ]==]
165assert(load(a1))() 166assert(load(a1))()
166assert(temp == 'an arbitrary value') 167assert(temp == 'an arbitrary value')
168_G.temp = nil
167-- long strings -- 169-- long strings --
168b = "001234567890123456789012345678901234567891234567890123456789012345678901234567890012345678901234567890123456789012345678912345678901234567890123456789012345678900123456789012345678901234567890123456789123456789012345678901234567890123456789001234567890123456789012345678901234567891234567890123456789012345678901234567890012345678901234567890123456789012345678912345678901234567890123456789012345678900123456789012345678901234567890123456789123456789012345678901234567890123456789001234567890123456789012345678901234567891234567890123456789012345678901234567890012345678901234567890123456789012345678912345678901234567890123456789012345678900123456789012345678901234567890123456789123456789012345678901234567890123456789001234567890123456789012345678901234567891234567890123456789012345678901234567890012345678901234567890123456789012345678912345678901234567890123456789012345678900123456789012345678901234567890123456789123456789012345678901234567890123456789" 170local b = "001234567890123456789012345678901234567891234567890123456789012345678901234567890012345678901234567890123456789012345678912345678901234567890123456789012345678900123456789012345678901234567890123456789123456789012345678901234567890123456789001234567890123456789012345678901234567891234567890123456789012345678901234567890012345678901234567890123456789012345678912345678901234567890123456789012345678900123456789012345678901234567890123456789123456789012345678901234567890123456789001234567890123456789012345678901234567891234567890123456789012345678901234567890012345678901234567890123456789012345678912345678901234567890123456789012345678900123456789012345678901234567890123456789123456789012345678901234567890123456789001234567890123456789012345678901234567891234567890123456789012345678901234567890012345678901234567890123456789012345678912345678901234567890123456789012345678900123456789012345678901234567890123456789123456789012345678901234567890123456789"
169assert(string.len(b) == 960) 171assert(string.len(b) == 960)
170print('+') 172print('+')
171 173
172a = [[00123456789012345678901234567890123456789123456789012345678901234567890123456789 174local a = [[00123456789012345678901234567890123456789123456789012345678901234567890123456789
17300123456789012345678901234567890123456789123456789012345678901234567890123456789 17500123456789012345678901234567890123456789123456789012345678901234567890123456789
17400123456789012345678901234567890123456789123456789012345678901234567890123456789 17600123456789012345678901234567890123456789123456789012345678901234567890123456789
17500123456789012345678901234567890123456789123456789012345678901234567890123456789 17700123456789012345678901234567890123456789123456789012345678901234567890123456789
@@ -199,13 +201,11 @@ x = 1
199]=] 201]=]
200 202
201print('+') 203print('+')
202x = nil 204_G.x = nil
203dostring(prog) 205dostring(prog)
204assert(x) 206assert(x)
207_G.x = nil
205 208
206prog = nil
207a = nil
208b = nil
209 209
210 210
211do -- reuse of long strings 211do -- reuse of long strings
@@ -234,8 +234,8 @@ end
234 234
235-- testing line ends 235-- testing line ends
236prog = [[ 236prog = [[
237a = 1 -- a comment 237local a = 1 -- a comment
238b = 2 238local b = 2
239 239
240 240
241x = [=[ 241x = [=[
@@ -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")
254end 254end
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
258a = [==[]=]==] 259local a = [==[]=]==]
259assert(a == "]=") 260assert(a == "]=")
260 261
261a = [==[[===[[=[]]=][====[]]===]===]==] 262a = [==[[===[[=[]]=][====[]]===]===]==]