From 64b106c13e18c33be0f2b0de532054e0ed3f731d Mon Sep 17 00:00:00 2001 From: jacqueline Date: Wed, 13 Dec 2023 16:10:08 +1100 Subject: add a cool lua repl --- lib/lua-repl/t/sync-repl-tests.lua | 52 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 lib/lua-repl/t/sync-repl-tests.lua (limited to 'lib/lua-repl/t/sync-repl-tests.lua') diff --git a/lib/lua-repl/t/sync-repl-tests.lua b/lib/lua-repl/t/sync-repl-tests.lua new file mode 100644 index 00000000..d5249ec2 --- /dev/null +++ b/lib/lua-repl/t/sync-repl-tests.lua @@ -0,0 +1,52 @@ +-- vim:foldmethod=marker +local sync = require 'repl.sync' +pcall(require, 'luarocks.loader') +require 'Test.More' + +plan(13) + +local clone = sync:clone() +local resultlist = {} + +function clone:lines() + local index = 0 + local function iterator(s) + index = index + 1 + return s[index] + end + + return iterator, { + 'return foo', + 'return 1', + 'return "bar"', + 'return {}', + 'return 1, 2, 3', + } +end + +function clone:showprompt() +end + +function clone:displayresults(results) + resultlist[#resultlist + 1] = results +end + +clone:run() + +is(#resultlist, 5) +is(resultlist[1].n, 1) +is(resultlist[1][1], nil) + +is(resultlist[2].n, 1) +is(resultlist[2][1], 1) + +is(resultlist[3].n, 1) +is(resultlist[3][1], 'bar') + +is(resultlist[4].n, 1) +is(type(resultlist[4][1]), 'table') + +is(resultlist[5].n, 3) +is(resultlist[5][1], 1) +is(resultlist[5][2], 2) +is(resultlist[5][3], 3) -- cgit v1.2.3