12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- local util = require 'lua_util'
-
- context("Lua util - callback_from_string", function()
- local cases = {
- {'return function', 'return function(a, b) return a + b end'},
- {'function', 'function(a, b) return a + b end'},
- {'plain ops', 'local c = select(1, ...)\nreturn c + select(2, ...)'},
- }
- local fail_cases = {
- nil,
- '',
- 'return function(a, b) ( end',
- 'function(a, b) ( end',
- 'return a + b'
- }
-
- for _,c in ipairs(cases) do
- test('Success case: ' .. c[1], function()
- local ret,f = util.callback_from_string(c[2])
- assert_true(ret, f)
- assert_equal(f(2, 2), 4)
- end)
- end
- for i,c in ipairs(fail_cases) do
- test('Failure case: ' .. tostring(i), function()
- local ret,f = util.callback_from_string(c)
- assert_false(ret)
- end)
- end
- end)
-
- context("Lua util - str_endswith", function()
- local ending = {
- {'a', 'a'},
- {'ab', 'b'},
- {'ab', 'ab'},
- {'abc', 'bc'},
- {'any', ''},
- }
- local not_ending = {
- {'a', 'b'},
- {'', 'a'},
- {'ab', 'a'},
- {'ab', 'ba'},
- {'ab', 'lab'},
- {'abc', 'ab'},
- {'abcd', 'bc'},
- {'a', 'A'},
- {'aB', 'b'},
- }
- for _, c in ipairs(ending) do
- test(string.format('True case: str_endswith("%s", "%s")', c[1], c[2]), function()
- assert_true(util.str_endswith(c[1], c[2]))
- end)
- end
- for _, c in ipairs(not_ending) do
- test(string.format('False case: str_endswith("%s", "%s")', c[1], c[2]), function()
- assert_false(util.str_endswith(c[1], c[2]))
- end)
- end
- end)
|