1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
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)
|