You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
packer/config_test.go

65 lines
1.3 KiB

package main
import (
"cgl.tideland.biz/asserts"
"testing"
)
func TestConfig_MergeConfig(t *testing.T) {
assert := asserts.NewTestingAsserts(t, true)
aString := `
[commands]
a = "1"
b = "1"
`
bString := `
[commands]
a = "1"
b = "2"
c = "3"
`
a, _ := parseConfig(aString)
b, _ := parseConfig(bString)
result := mergeConfig(a, b)
assert.Equal(result.Commands["a"], "1", "a should be 1")
assert.Equal(result.Commands["b"], "2", "a should be 2")
assert.Equal(result.Commands["c"], "3", "a should be 3")
}
func TestConfig_ParseConfig_Bad(t *testing.T) {
assert := asserts.NewTestingAsserts(t, true)
data := `
[commands]
foo = bar
`
_, err := parseConfig(data)
assert.NotNil(err, "should have an error")
}
func TestConfig_ParseConfig_DefaultConfig(t *testing.T) {
assert := asserts.NewTestingAsserts(t, true)
_, err := parseConfig(defaultConfig)
assert.Nil(err, "should be able to parse the default config")
}
func TestConfig_ParseConfig_Good(t *testing.T) {
assert := asserts.NewTestingAsserts(t, true)
data := `
[commands]
foo = "bar"
`
c, err := parseConfig(data)
assert.Nil(err, "should not have an error")
assert.Equal(c.CommandNames(), []string{"foo"}, "should have correct command names")
assert.Equal(c.Commands["foo"], "bar", "should have the command")
}