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  }