diff options
Diffstat (limited to 'testes')
-rw-r--r-- | testes/pm.lua | 29 | ||||
-rw-r--r-- | testes/strings.lua | 5 | ||||
-rw-r--r-- | testes/tpack.lua | 2 |
3 files changed, 34 insertions, 2 deletions
diff --git a/testes/pm.lua b/testes/pm.lua index 1afaccf6..8cc8772e 100644 --- a/testes/pm.lua +++ b/testes/pm.lua | |||
@@ -297,6 +297,35 @@ for k,v in pairs(t) do assert(k+1 == v+0); a=a+1 end | |||
297 | assert(a == 3) | 297 | assert(a == 3) |
298 | 298 | ||
299 | 299 | ||
300 | do -- init parameter in gmatch | ||
301 | local s = 0 | ||
302 | for k in string.gmatch("10 20 30", "%d+", 3) do | ||
303 | s = s + tonumber(k) | ||
304 | end | ||
305 | assert(s == 50) | ||
306 | |||
307 | s = 0 | ||
308 | for k in string.gmatch("11 21 31", "%d+", -4) do | ||
309 | s = s + tonumber(k) | ||
310 | end | ||
311 | assert(s == 32) | ||
312 | |||
313 | -- there is an empty string at the end of the subject | ||
314 | s = 0 | ||
315 | for k in string.gmatch("11 21 31", "%w*", 9) do | ||
316 | s = s + 1 | ||
317 | end | ||
318 | assert(s == 1) | ||
319 | |||
320 | -- there are no empty strings after the end of the subject | ||
321 | s = 0 | ||
322 | for k in string.gmatch("11 21 31", "%w*", 10) do | ||
323 | s = s + 1 | ||
324 | end | ||
325 | assert(s == 0) | ||
326 | end | ||
327 | |||
328 | |||
300 | -- tests for `%f' (`frontiers') | 329 | -- tests for `%f' (`frontiers') |
301 | 330 | ||
302 | assert(string.gsub("aaa aa a aaa a", "%f[%w]a", "x") == "xaa xa x xaa x") | 331 | assert(string.gsub("aaa aa a aaa a", "%f[%w]a", "x") == "xaa xa x xaa x") |
diff --git a/testes/strings.lua b/testes/strings.lua index 587a0e06..88480924 100644 --- a/testes/strings.lua +++ b/testes/strings.lua | |||
@@ -94,6 +94,11 @@ assert(string.char(string.byte("\xe4l\0ķu", 1, -1)) == "\xe4l\0ķu") | |||
94 | assert(string.char(string.byte("\xe4l\0ķu", 1, 0)) == "") | 94 | assert(string.char(string.byte("\xe4l\0ķu", 1, 0)) == "") |
95 | assert(string.char(string.byte("\xe4l\0ķu", -10, 100)) == "\xe4l\0ķu") | 95 | assert(string.char(string.byte("\xe4l\0ķu", -10, 100)) == "\xe4l\0ķu") |
96 | 96 | ||
97 | checkerror("out of range", string.char, 256) | ||
98 | checkerror("out of range", string.char, -1) | ||
99 | checkerror("out of range", string.char, math.maxinteger) | ||
100 | checkerror("out of range", string.char, math.mininteger) | ||
101 | |||
97 | assert(string.upper("ab\0c") == "AB\0C") | 102 | assert(string.upper("ab\0c") == "AB\0C") |
98 | assert(string.lower("\0ABCc%$") == "\0abcc%$") | 103 | assert(string.lower("\0ABCc%$") == "\0abcc%$") |
99 | assert(string.rep('teste', 0) == '') | 104 | assert(string.rep('teste', 0) == '') |
diff --git a/testes/tpack.lua b/testes/tpack.lua index 4c5fc7f7..2b9953f8 100644 --- a/testes/tpack.lua +++ b/testes/tpack.lua | |||
@@ -314,9 +314,7 @@ do -- testing initial position | |||
314 | for i = 1, #x + 1 do | 314 | for i = 1, #x + 1 do |
315 | assert(unpack("c0", x, i) == "") | 315 | assert(unpack("c0", x, i) == "") |
316 | end | 316 | end |
317 | checkerror("out of string", unpack, "c0", x, 0) | ||
318 | checkerror("out of string", unpack, "c0", x, #x + 2) | 317 | checkerror("out of string", unpack, "c0", x, #x + 2) |
319 | checkerror("out of string", unpack, "c0", x, -(#x + 1)) | ||
320 | 318 | ||
321 | end | 319 | end |
322 | 320 | ||