Fix single quote parsing of TOML durations

closes #2023
This commit is contained in:
Cameron Sparr
2016-11-09 16:35:58 +00:00
parent 8ecfe13bf8
commit 94de9dca1f
3 changed files with 15 additions and 1 deletions

View File

@@ -35,8 +35,9 @@ type Duration struct {
// UnmarshalTOML parses the duration from the TOML config file
func (d *Duration) UnmarshalTOML(b []byte) error {
var err error
b = bytes.Trim(b, `'`)
// see if we can straight convert it
// see if we can directly convert it
d.Duration, err = time.ParseDuration(string(b))
if err == nil {
return nil

View File

@@ -142,6 +142,10 @@ func TestDuration(t *testing.T) {
d.UnmarshalTOML([]byte(`1s`))
assert.Equal(t, time.Second, d.Duration)
d = Duration{}
d.UnmarshalTOML([]byte(`'1s'`))
assert.Equal(t, time.Second, d.Duration)
d = Duration{}
d.UnmarshalTOML([]byte(`10`))
assert.Equal(t, 10*time.Second, d.Duration)