80 lines
1.6 KiB
Go
80 lines
1.6 KiB
Go
package cmds
|
|
|
|
import (
|
|
"reflect"
|
|
"sort"
|
|
"testing"
|
|
"text/template"
|
|
)
|
|
|
|
func TestSortImports(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
a1 := importList{
|
|
`"fmt"`,
|
|
`"errors"`,
|
|
}
|
|
a2 := importList{
|
|
`_ "github.com/lib/pq"`,
|
|
`_ "github.com/gorilla/n"`,
|
|
`"github.com/gorilla/mux"`,
|
|
`"github.com/gorilla/websocket"`,
|
|
}
|
|
|
|
a1Expected := importList{`"errors"`, `"fmt"`}
|
|
a2Expected := importList{
|
|
`"github.com/gorilla/mux"`,
|
|
`_ "github.com/gorilla/n"`,
|
|
`"github.com/gorilla/websocket"`,
|
|
`_ "github.com/lib/pq"`,
|
|
}
|
|
|
|
sort.Sort(a1)
|
|
if !reflect.DeepEqual(a1, a1Expected) {
|
|
t.Errorf("Expected a1 to match a1Expected, got: %v", a1)
|
|
}
|
|
|
|
for i, v := range a1 {
|
|
if v != a1Expected[i] {
|
|
t.Errorf("Expected a1[%d] to match a1Expected[%d]:\n%s\n%s\n", i, i, v, a1Expected[i])
|
|
}
|
|
}
|
|
|
|
sort.Sort(a2)
|
|
if !reflect.DeepEqual(a2, a2Expected) {
|
|
t.Errorf("Expected a2 to match a2expected, got: %v", a2)
|
|
}
|
|
|
|
for i, v := range a2 {
|
|
if v != a2Expected[i] {
|
|
t.Errorf("Expected a2[%d] to match a2Expected[%d]:\n%s\n%s\n", i, i, v, a1Expected[i])
|
|
}
|
|
}
|
|
}
|
|
|
|
func TestSortTemplates(t *testing.T) {
|
|
templs := templater{
|
|
template.New("bob.tpl"),
|
|
template.New("all.tpl"),
|
|
template.New("struct.tpl"),
|
|
template.New("ttt.tpl"),
|
|
}
|
|
|
|
expected := []string{"bob.tpl", "all.tpl", "struct.tpl", "ttt.tpl"}
|
|
|
|
for i, v := range templs {
|
|
if v.Name() != expected[i] {
|
|
t.Errorf("Order mismatch, expected: %s, got: %s", expected[i], v.Name())
|
|
}
|
|
}
|
|
|
|
expected = []string{"struct.tpl", "all.tpl", "bob.tpl", "ttt.tpl"}
|
|
|
|
sort.Sort(templs)
|
|
|
|
for i, v := range templs {
|
|
if v.Name() != expected[i] {
|
|
t.Errorf("Order mismatch, expected: %s, got: %s", expected[i], v.Name())
|
|
}
|
|
}
|
|
}
|