1 require
'busted.runner'()
3 local file
= vis
.win
.file
5 describe("file.lines_iterator()", function()
7 it("same as file.lines[]", function()
9 local iterator_lines
= {}
10 for line
in file
:lines_iterator() do
11 iterator_lines
[i
] = line
14 local array_lines
= {}
15 for j
= 1, #file
.lines
do
16 array_lines
[j
] = file
.lines
[j
]
18 assert.are
.same(array_lines
, iterator_lines
)
22 describe("get file.lines[]", function()
24 it("#lines", function()
25 assert.are
.equals(5, #file
.lines
)
28 it("get lines[0]", function()
29 -- is that what we want?
30 assert.are
.equals(file
.lines
[0], file
.lines
[1])
33 it("get lines[1]", function()
34 assert.are
.equals("1", file
.lines
[1])
37 it("get empty \n line", function()
38 assert.are
.equals("", file
.lines
[2])
41 it("get empty \r\n line", function()
42 assert.are
.equals("\r", file
.lines
[4])
45 it("get lines[#lines]", function()
46 assert.are
.equals("5", file
.lines
[#file
.lines
])
49 it("get lines[#lines+1]", function()
50 -- is that what we want?
51 assert.are
.equals("5", file
.lines
[#file
.lines
])
56 describe("set file.lines[]", function()
58 it("replace empty \n line", function()
61 assert.are
.equals(new
, file
.lines
[2])
65 it("replace empty \r\n line", function()
68 assert.are.equals(new, file.lines[4])
72 it("set lines[0], add new line at start", function()
73 local lines
= #file
.lines
74 local new_first
= "new first line"
75 local old_first
= file
.lines
[1]
76 file
.lines
[0] = new_first
77 assert.are
.equals(lines
+1, #file
.lines
)
78 assert.are
.equals(new_first
, file
.lines
[1])
79 assert.are
.equals(old_first
, file
.lines
[2])
82 it("set lines[#lines+1], add new line at end", function()
83 local lines
= #file
.lines
84 local new_last
= "new last line"
85 local old_last
= file
.lines
[#file
.lines
]
86 file
.lines
[#file
.lines
+1] = new_last
87 assert.are
.equals(lines
+1, #file
.lines
)
88 assert.are
.equals(new_last
, file
.lines
[#file
.lines
])
89 assert.are
.equals(old_last
, file
.lines
[lines
])