github.com/koron/hk@v0.0.0-20150303213137-b8aeaa3ab34c/addons_test.go (about) 1 package main 2 3 import ( 4 "reflect" 5 "testing" 6 ) 7 8 var testAddonConfigs = []struct { 9 in []string 10 out map[string]string 11 err error 12 }{ 13 { 14 []string{"key=val", "really_long-conf=crazy-value.1"}, 15 map[string]string{"key": "val", "really_long-conf": "crazy-value.1"}, 16 nil, 17 }, 18 { 19 []string{"k='single-quoted value'", "k2=\"double-quoted value\"", "k3='\"'"}, 20 map[string]string{"k": "single-quoted value", "k2": "double-quoted value", "k3": "\""}, 21 nil, 22 }, 23 } 24 25 func TestParseAddonAddConfig(t *testing.T) { 26 for i, c := range testAddonConfigs { 27 res, err := parseAddonAddConfig(c.in) 28 if err != c.err { 29 t.Errorf("%d. parseAddonAddConfig(%q).err => %q, want %q", i, c.in, err, c.err) 30 } 31 if !reflect.DeepEqual(*res, c.out) { 32 t.Errorf("%d. parseAddonAddConfig(%q) => %v, want %v", i, c.in, *res, c.out) 33 } 34 } 35 }