# HG changeset patch # User Matthew Wild # Date 1290401798 0 # Node ID 07ec490c7a6f6e77514047cd2f052ca3ea7b6eb9 # Parent 39b6ba80400963617b13574ece407a9b7906d22f Add a whole bunch of tests I've been using for recent additions diff -r 39b6ba804009 -r 07ec490c7a6f tests/fail/assert.lua --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/fail/assert.lua Mon Nov 22 04:56:38 2010 +0000 @@ -0,0 +1,1 @@ +assert(false, "Yep, assert works."); diff -r 39b6ba804009 -r 07ec490c7a6f tests/pass/assert.lua --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/pass/assert.lua Mon Nov 22 04:56:38 2010 +0000 @@ -0,0 +1,1 @@ +assert(true, "true is not true!"); diff -r 39b6ba804009 -r 07ec490c7a6f tests/pass/concat.lua --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/pass/concat.lua Mon Nov 22 04:56:38 2010 +0000 @@ -0,0 +1,1 @@ +assert(("foo".."bar") == "foobar"); diff -r 39b6ba804009 -r 07ec490c7a6f tests/pass/gmatch.lua --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/pass/gmatch.lua Mon Nov 22 04:56:38 2010 +0000 @@ -0,0 +1,10 @@ +local i = 1; +local s = "the rain in spain stays mainly in the plain"; +local st = { "the", "rain", "in", "spain", "stays", "mainly", "in", "the", "plain" }; +for word in string.gmatch(s, "%a+") do + print(word) + assert(word == st[i], word.." == "..st[i]); + i = i + 1; +end + +assert(i == 10, i.." == 10"); diff -r 39b6ba804009 -r 07ec490c7a6f tests/pass/length.lua --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/pass/length.lua Mon Nov 22 04:56:38 2010 +0000 @@ -0,0 +1,1 @@ +assert(#("hello") == 5, "#('hello') == 5"); diff -r 39b6ba804009 -r 07ec490c7a6f tests/pass/op_close.lua --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/pass/op_close.lua Mon Nov 22 04:56:38 2010 +0000 @@ -0,0 +1,15 @@ +local f = {}; +for i=1,2 do + local p; + f[i] = function (set) + if set then + p = set; + end + return p; + end; +end + +assert(f[1]("foo") == "foo"); +assert(f[2]("bar") == "bar"); +assert(f[1]() == "foo"); +assert(f[2]() == "bar"); diff -r 39b6ba804009 -r 07ec490c7a6f tests/pass/upvalue.lua --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/pass/upvalue.lua Mon Nov 22 04:56:38 2010 +0000 @@ -0,0 +1,17 @@ +local u; +local f = {}; +for i=1,2 do + f[i] = function (set) + if set then + u = set; + end + return u; + end; +end + +assert(f[1]("foo") == "foo"); +assert(f[2]() == "foo"); + +assert(f[2]("bar") == "bar"); +assert(f[1]() == "bar"); + diff -r 39b6ba804009 -r 07ec490c7a6f tests/pass/vararg.lua --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/pass/vararg.lua Mon Nov 22 04:56:38 2010 +0000 @@ -0,0 +1,16 @@ +function foo(a, b, ...) + assert(a == 1); + assert(b == 2); + local c, d = ...; + assert(c == 3); + assert(d == 4); + return a, b, ...; +end + +local a, b, c, d = foo(1, 2, 3, 4); +assert(a == 1); +assert(b == 2); +print("c is", c); +assert(c == 3); +assert(d == 4); +