diff options
Diffstat (limited to 'engines/sword25/util/pluto/pptest.lua')
-rw-r--r-- | engines/sword25/util/pluto/pptest.lua | 168 |
1 files changed, 0 insertions, 168 deletions
diff --git a/engines/sword25/util/pluto/pptest.lua b/engines/sword25/util/pluto/pptest.lua deleted file mode 100644 index 144da3ee80..0000000000 --- a/engines/sword25/util/pluto/pptest.lua +++ /dev/null @@ -1,168 +0,0 @@ --- $Id$ - -require "pluto" - -permtable = { 1234 } - -perms = { [coroutine.yield] = 1, [permtable] = 2 } - -twithmt = {} -setmetatable( twithmt, { __call = function() return 21 end } ) - -function testfenv() - return abc -end - -setfenv(testfenv, { abc = 456 }) - -function fa(i) - local ia = i + 1 - return fb(ia) -end - -function fb(i) - local ib = i + 1 - ib = ib + fc(ib) - return ib -end - -function fc(i) - local ic = i + 1 - coroutine.yield() - return ic*2 -end - -function func() - return 4 -end - -thr = coroutine.create(fa) -coroutine.resume(thr, 2) - -testtbl = { a = 2, [2] = 4 } - -function funcreturningclosure(n) - return function() - return n - end -end - -function nestedfunc(n) - return (function(m) return m+2 end)(n+3) -end - -testloopa = {} -testloopb = { testloopa = testloopa } -testloopa.testloopb = testloopb - -sharedref = {} -refa = {sharedref = sharedref} -refb = {sharedref = sharedref} - -sptable = { a = 3 } - -setmetatable(sptable, { - __persist = function(tbl) - local a = tbl.a - return function() - return { a = a+3 } - end - end -}) - -literaludata = boxinteger(71) - -function booleanpersist(udata) - local b = unboxboolean(udata) - return function() - return boxboolean(b) - end -end - -function makecounter() - local a = 0 - return { - inc = function() a = a + 1 end, - cur = function() return a end - } -end - -function uvinthreadfunc() - local a = 1 - local b = function() - a = a+1 - coroutine.yield() - a = a+1 - end - a = a+1 - b() - a = a+1 - return a -end - -uvinthread = coroutine.create(uvinthreadfunc) -coroutine.resume(uvinthread) - -niinmt = { a = 3 } -setmetatable(niinmt, {__newindex = function(key, val) end }) - - - - -local function GenerateObjects() - local Table = {} - - function Table:Func() - return { Table, self } - end - - function uvcycle() - return Table:Func() - end -end - -GenerateObjects() - - - -function debuginfo(foo) - foo = foo + foo - return debug.getlocal(1,1) -end - -rootobj = { - testfalse = false, - testtrue = true, - testseven = 7, - testfoobar = "foobar", - testfuncreturnsfour = func, - testnil = nil, - testthread = thr, - testperm = permtable, - testmt = twithmt, - testtbl = testtbl, - testfenv = testfenv, - testclosure = funcreturningclosure(11), - testnilclosure = funcreturningclosure(nil), - testnest = nestedfunc, - testludata = createludata(), - testlooptable = testloopa, - testsharedrefa = refa, - testsharedrefb = refb, - testsptable = sptable, - testliteraludata = literaludata, - testspudata1 = boxboolean(true), - testspudata2 = boxboolean(false), - testsharedupval = makecounter(), - testuvinthread = uvinthread, - testniinmt = niinmt, - testuvcycle = uvcycle, - testdebuginfo = debuginfo -} - -buf = pluto.persist(perms, rootobj) - -onerror() -outfile = io.open("test.plh", "wb") -outfile:write(buf) -outfile:close() |