github.com/delicb/asdf-exec@v0.1.3-0.20220111003559-af5f44250ab7/config_test.go (about) 1 package main 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/assert" 7 ) 8 9 func TestParseBool(t *testing.T) { 10 for _, value := range []string{"yes", "1", "true", "True", "YES"} { 11 res, err := ParseBool(value) 12 assert.Nil(t, err) 13 assert.Equal(t, true, res) 14 } 15 for _, value := range []string{"no", "0", "false", "False", "NO"} { 16 res, err := ParseBool(value) 17 assert.Nil(t, err) 18 assert.Equal(t, false, res) 19 } 20 for _, value := range []string{"aaq", "something crazy", "123"} { 21 _, err := ParseBool(value) 22 assert.NotNil(t, err) 23 } 24 } 25 26 func TestConfigFromString(t *testing.T) { 27 config, err := ConfigFromString(` 28 # single line comment 29 legacy_version_file = yes # end of line comment 30 # empty line 31 32 use_release_candidates = true 33 unknown_key = false 34 `) 35 assert.Nil(t, err) 36 assert.True(t, config.LegacyVersionFile) 37 38 _, err = ConfigFromString(` 39 # bad format 40 this is a bad line 41 `) 42 assert.NotNil(t, err) 43 }