-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathfiles_test.go
36 lines (32 loc) · 932 Bytes
/
files_test.go
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
package main
import "testing"
func TestInitFiles(t *testing.T) {
fileNames := []string{"One", "Two"}
state := NewAppState(fileNames, 10, 10)
_, hasFile1 := state.Files["One"]
_, hasFile2 := state.Files["Two"]
if !hasFile1 || !hasFile2 {
t.Fail()
}
}
func TestAppendLine(t *testing.T) {
fileNames := []string{"One", "Two"}
state := NewAppState(fileNames, 10, 10)
state.Files = map[string]file{"One": file{}}
newState := AppendLine{FileName: "One", Line: "MyLine"}.Apply(state)
file := newState.Files["One"]
if file.lines[0] != "MyLine" {
t.Fail()
}
}
func TestHlAndFilteredSelectorUpdates(t *testing.T) {
state := fixtureState()
f := file{
lines: lines{"one", "two", "three"},
filteredFileSelector: &filteredFileSelector{lastLen: 2, lastHlAndFiltered: lines{"one", "two"}},
}
l := f.hlAndFiltered(state)
if len(l) != 3 || l[0] != "one" && l[1] != "one" && l[2] != "one" {
t.Fail()
}
}