-
Notifications
You must be signed in to change notification settings - Fork 4
/
config_test.go
89 lines (84 loc) · 2.39 KB
/
config_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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
package main
import (
"bufio"
"fmt"
"os"
"os/user"
"testing"
"github.com/jroimartin/gocui"
"github.com/stretchr/testify/assert"
)
func TestInitConfig(t *testing.T) {
g := initGui()
defer g.Close()
usr, _ := user.Current()
configPath := usr.HomeDir + "/.stretto.json"
copyPath := usr.HomeDir + "/r9w92W2Cn7MTtAhuCP5si2LxwP9UrmC6Y99.json"
err := os.Rename(configPath, copyPath)
f, _ := os.Create(configPath)
w := bufio.NewWriter(f)
s := "{\n" +
"\"wrap\" : true,\n" +
"\"cursor\" : true,\n" +
"\"guibgcolor\" : \"black\",\n" +
"\"guifgcolor\" : \"white\",\n" +
"\"viewbgcolor\" : \"red\",\n" +
"\"viewfgcolor\" : \"yellow\",\n" +
"\"selbgcolor\" : \"blue\",\n" +
"\"selfgcolor\" : \"green\",\n" +
"\"highlight\" : true\n" +
"}"
fmt.Fprintf(w, s)
w.Flush()
initConfig(g)
assert.Equal(t, gocui.Attribute(gocui.ColorBlack), gocui.Attribute(g.BgColor))
assert.Equal(t, gocui.Attribute(gocui.ColorWhite), gocui.Attribute(g.FgColor))
os.Remove(configPath)
if err == nil {
os.Rename(copyPath, configPath)
}
}
func TestInitConfig2(t *testing.T) {
g := initGui()
defer g.Close()
usr, _ := user.Current()
configPath := usr.HomeDir + "/.stretto.json"
copyPath := usr.HomeDir + "/r9w92W2Cn7MTtAhuCP5si2LxwP9UrmC6Y99.json"
err := os.Rename(configPath, copyPath)
f, _ := os.Create(configPath)
w := bufio.NewWriter(f)
s := "{\n" +
"\"wrap\" : true,\n" +
"\"cursor\" : true,\n" +
"\"guibgcolor\" : \"magenta\",\n" +
"\"guifgcolor\" : \"cyan\",\n" +
"\"viewbgcolor\" : \"red\",\n" +
"\"viewfgcolor\" : \"yellow\",\n" +
"\"selbgcolor\" : \"blue\",\n" +
"\"selfgcolor\" : \"green\",\n" +
"\"highlight\" : true\n" +
"}"
fmt.Fprintf(w, s)
w.Flush()
initConfig(g)
assert.Equal(t, gocui.Attribute(gocui.ColorMagenta), gocui.Attribute(g.BgColor))
assert.Equal(t, gocui.Attribute(gocui.ColorCyan), gocui.Attribute(g.FgColor))
os.Remove(configPath)
if err == nil {
os.Rename(copyPath, configPath)
}
}
func TestNoConfig(t *testing.T) {
g := initGui()
defer g.Close()
usr, _ := user.Current()
configPath := usr.HomeDir + "/.stretto.json"
copyPath := usr.HomeDir + "/r9w92W2Cn7MTtAhuCP5si2LxwP9UrmC6Y99.json"
err := os.Rename(configPath, copyPath)
initConfig(g)
assert.Equal(t, gocui.Attribute(gocui.ColorBlack), gocui.Attribute(g.BgColor))
assert.Equal(t, gocui.Attribute(gocui.ColorWhite), gocui.Attribute(g.FgColor))
if err == nil {
os.Rename(copyPath, configPath)
}
}