aboutsummaryrefslogtreecommitdiff
path: root/testes/literals.lua
diff options
context:
space:
mode:
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 = [==[[===[[=[]]=][====[]]===]===]==]