-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain_test.go
65 lines (56 loc) · 1.45 KB
/
main_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
package main
import "testing"
const buffer = `{
"let": {
"prefix": "let",
"body": [
"let ${1:varname} : ${2:type} = $0"
],
"description": "unmutable var declaration"
},
"let_mut": {
"prefix": "let_mut",
"body": [
"let mut ${1:varname} : ${2:type} = $0"
],
"description": "mutable var declaration"
}
}
`
const expectedTable = `| prefix | description |
| :----- | :---------- |
| let | unmutable var declaration |
| let_mut | mutable var declaration |
`
func TestSnippetsParsing(t *testing.T) {
items := []TableItem{
{"let", "unmutable var declaration"},
{"let_mut", "mutable var declaration"},
}
parsedItems, err := snippetsParsing([]byte(buffer))
if err != nil {
t.Errorf("error parsing %q", err.Error())
}
piLen := len(parsedItems)
if len(parsedItems) != 2 {
t.Errorf("wrong number of items parsed, got %d, wanted 2", piLen)
}
for i := range parsedItems {
if parsedItems[i].prefix != items[i].prefix || parsedItems[i].description != items[i].description {
t.Errorf("Wrong item! got%v, wanted %v", parsedItems[i], items[i])
}
}
}
func TestBuildMDTable(t *testing.T) {
items := []TableItem{
{"let", "unmutable var declaration"},
{"let_mut", "mutable var declaration"},
}
mdTable, err := buildMDTable(items)
if err != nil {
t.Errorf("error building MD table: %q", err.Error())
}
if mdTable != expectedTable {
t.Errorf("MD Tables mismatch! Given:\n%q\nWanted:\n%q", mdTable, expectedTable)
}
}