diff options
Diffstat (limited to 'tests/lib/script1.lua')
-rw-r--r-- | tests/lib/script1.lua | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/tests/lib/script1.lua b/tests/lib/script1.lua new file mode 100644 index 0000000..6361c96 --- /dev/null +++ b/tests/lib/script1.lua @@ -0,0 +1,54 @@ + +-- Positive testing + +function foo(a, b) + a = a + 1 + b = b + 1 + return { + a = a, + b = b, + } +end + +function bar(a, b) + a = a + 1 + b = b + 1 + c = 303 + return { + b = b, + c = c, + } +end + +function fact(n) + -- outer function must return a table + -- inner functions can be used to recurse or as helpers + function helper(m) + if m == 0 then + return 1 + else + return m * helper(m - 1) + end + end + return { + ans = helper(n) + } +end + +-- Negative testing + +function bad_return1() +end + +function bad_return2() + return 123 +end + +function bad_return3() + return {} +end + +function bad_return4() + error("Something bad!") +end + |