diff options
Diffstat (limited to 'testes')
-rw-r--r-- | testes/api.lua | 21 | ||||
-rw-r--r-- | testes/strings.lua | 1 |
2 files changed, 15 insertions, 7 deletions
diff --git a/testes/api.lua b/testes/api.lua index 9904dadf..d034ea80 100644 --- a/testes/api.lua +++ b/testes/api.lua | |||
@@ -332,6 +332,7 @@ function to (s, x, n) | |||
332 | return T.testC(string.format("%s %d; return 1", s, n), x) | 332 | return T.testC(string.format("%s %d; return 1", s, n), x) |
333 | end | 333 | end |
334 | 334 | ||
335 | local null = T.pushuserdata(0) | ||
335 | local hfunc = string.gmatch("", "") -- a "heavy C function" (with upvalues) | 336 | local hfunc = string.gmatch("", "") -- a "heavy C function" (with upvalues) |
336 | assert(debug.getupvalue(hfunc, 1)) | 337 | assert(debug.getupvalue(hfunc, 1)) |
337 | assert(to("tostring", {}) == nil) | 338 | assert(to("tostring", {}) == nil) |
@@ -349,13 +350,19 @@ assert(to("tonumber", {}) == 0) | |||
349 | assert(to("tonumber", "12") == 12) | 350 | assert(to("tonumber", "12") == 12) |
350 | assert(to("tonumber", "s2") == 0) | 351 | assert(to("tonumber", "s2") == 0) |
351 | assert(to("tonumber", 1, 20) == 0) | 352 | assert(to("tonumber", 1, 20) == 0) |
352 | assert(to("topointer", 10) == 0) | 353 | assert(to("topointer", 10) == null) |
353 | assert(to("topointer", true) == 0) | 354 | assert(to("topointer", true) == null) |
354 | assert(to("topointer", T.pushuserdata(20)) == 20) | 355 | assert(to("topointer", nil) == null) |
355 | assert(to("topointer", io.read) ~= 0) -- light C function | 356 | assert(to("topointer", "abc") ~= null) |
356 | assert(to("topointer", hfunc) ~= 0) -- "heavy" C function | 357 | assert(to("topointer", string.rep("x", 10)) == |
357 | assert(to("topointer", function () end) ~= 0) -- Lua function | 358 | to("topointer", string.rep("x", 10))) -- short strings |
358 | assert(to("topointer", io.stdin) ~= 0) -- full userdata | 359 | assert(to("topointer", string.rep("x", 300)) ~= |
360 | to("topointer", string.rep("x", 300))) -- long strings | ||
361 | assert(to("topointer", T.pushuserdata(20)) ~= null) | ||
362 | assert(to("topointer", io.read) ~= null) -- light C function | ||
363 | assert(to("topointer", hfunc) ~= null) -- "heavy" C function | ||
364 | assert(to("topointer", function () end) ~= null) -- Lua function | ||
365 | assert(to("topointer", io.stdin) ~= null) -- full userdata | ||
359 | assert(to("func2num", 20) == 0) | 366 | assert(to("func2num", 20) == 0) |
360 | assert(to("func2num", T.pushuserdata(10)) == 0) | 367 | assert(to("func2num", T.pushuserdata(10)) == 0) |
361 | assert(to("func2num", io.read) ~= 0) -- light C function | 368 | assert(to("func2num", io.read) ~= 0) -- light C function |
diff --git a/testes/strings.lua b/testes/strings.lua index 88480924..da53a87e 100644 --- a/testes/strings.lua +++ b/testes/strings.lua | |||
@@ -199,6 +199,7 @@ end | |||
199 | 199 | ||
200 | assert(string.format("\0%s\0", "\0\0\1") == "\0\0\0\1\0") | 200 | assert(string.format("\0%s\0", "\0\0\1") == "\0\0\0\1\0") |
201 | checkerror("contains zeros", string.format, "%10s", "\0") | 201 | checkerror("contains zeros", string.format, "%10s", "\0") |
202 | checkerror("cannot have modifiers", string.format, "%10q", "1") | ||
202 | 203 | ||
203 | -- format x tostring | 204 | -- format x tostring |
204 | assert(string.format("%s %s", nil, true) == "nil true") | 205 | assert(string.format("%s %s", nil, true) == "nil true") |