From ad7451f8098b8a8efebd2970e8272c5d5a2f1b72 Mon Sep 17 00:00:00 2001 From: Mike Dillon Date: Sat, 6 Dec 2014 23:30:14 -0800 Subject: [PATCH] Remove reflection from TestKeys Now using an actual template. Most tests should probably do this. --- template_test.go | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/template_test.go b/template_test.go index 0618df6e..f01ae615 100644 --- a/template_test.go +++ b/template_test.go @@ -5,6 +5,7 @@ import ( "encoding/json" "reflect" "testing" + "text/template" ) func TestContains(t *testing.T) { @@ -27,20 +28,16 @@ func TestKeys(t *testing.T) { expected: "demo.local", } - k, err := keys(env) - if err != nil { - t.Fatalf("Error fetching keys: %v", err) - } - vk := reflect.ValueOf(k) - if vk.Kind() == reflect.Invalid { - t.Fatalf("Got invalid kind for keys: %v", vk) - } + const text = "{{range (keys $)}}{{.}}{{end}}" + tmpl := template.Must(newTemplate("keys-test").Parse(text)) - if len(env) != vk.Len() { - t.Fatalf("Incorrect key count; expected %s, got %s", len(env), vk.Len()) + var b bytes.Buffer + err := tmpl.ExecuteTemplate(&b, "keys-test", env) + if err != nil { + t.Fatalf("Error executing template: %v", err) } - got := vk.Index(0).Interface() + got := b.String() if expected != got { t.Fatalf("Incorrect key found; expected %s, got %s", expected, got) }