Test for #484
This commit is contained in:
@@ -2,6 +2,7 @@ package toml_test
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"math"
|
"math"
|
||||||
|
"strconv"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/pelletier/go-toml/v2"
|
"github.com/pelletier/go-toml/v2"
|
||||||
@@ -671,3 +672,34 @@ B = "data"`,
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
type Integer484 struct {
|
||||||
|
Value int
|
||||||
|
}
|
||||||
|
|
||||||
|
func (i Integer484) MarshalText() ([]byte, error) {
|
||||||
|
return []byte(strconv.Itoa(i.Value)), nil
|
||||||
|
}
|
||||||
|
func (i *Integer484) UnmarshalText(data []byte) error {
|
||||||
|
conv, err := strconv.Atoi(string(data))
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
i.Value = conv
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
type Config struct {
|
||||||
|
Integers []Integer484 `toml:"integers"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestIssue484(t *testing.T) {
|
||||||
|
raw := []byte(`integers = ["1","2","3","100"]`)
|
||||||
|
var cfg Config
|
||||||
|
err := toml.Unmarshal(raw, &cfg)
|
||||||
|
require.NoError(t, err)
|
||||||
|
assert.Equal(t, Config{
|
||||||
|
Integers: []Integer484{{1}, {2}, {3}, {100}},
|
||||||
|
}, cfg)
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user