go-toml/value_test.go

47 lines
1.7 KiB
Go

package toml
import (
"testing"
)
func TestValue(t *testing.T) {
for _, test := range []parseTest{
{``, []string{`Error: unexpected end of file (expected a value) at start of file`}},
{`"basic s\tring value"`, []string{`"basic s\tring value"`}},
{`'literal s\tring value'`, []string{`"literal s\\tring value"`}},
{"\"\"\"basic multi-line\nstring value\"\"\"", []string{`"basic multi-line\nstring value"`}},
{"'''literal multi-line\nstring value'''", []string{`"literal multi-line\nstring value"`}},
{"true", []string{`true`}},
{"false", []string{`false`}},
{"0", []string{`0`}},
{"+0", []string{`0`}},
{"-0", []string{`0`}},
{"0.0", []string{`0`}},
{"+0.0", []string{`0`}},
{"-0.0", []string{`-0`}},
{"1234", []string{`1234`}},
{"-1234", []string{`-1234`}},
{"+9_8_7.6_5_4e-321", []string{`9.8765e-319`}},
{"-1_234.5678e-33", []string{`-1.2345678e-30`}},
{"inf", []string{`+Inf`}},
{"+inf", []string{`+Inf`}},
{"-inf", []string{`-Inf`}},
{"nan", []string{`NaN`}},
{"+nan", []string{`NaN`}},
{"-nan", []string{`NaN`}},
{"2019-06-19", []string{`2019-06-19`}},
{"08:38:54", []string{`08:38:54`}},
{"08:38:54.8765487654876", []string{`08:38:54.876548765`}},
{"2019-06-19 08:38:54", []string{`2019-06-19 08:38:54`}},
{"2019-06-19T08:38:54", []string{`2019-06-19 08:38:54`}},
{"2019-06-19T08:38:54.88888", []string{`2019-06-19 08:38:54.88888`}},
{"1979-05-27T07:32:00Z", []string{`1979-05-27T07:32:00Z`}},
{"1979-05-27T00:32:00-07:00", []string{`1979-05-27T00:32:00-07:00`}},
{"1979-05-27T00:32:00.999999-07:00", []string{`1979-05-27T00:32:00.999999-07:00`}},
{"[1,2,3]", []string{`[1, 2, 3]`}},
} {
p := newParser()
testParseHandler(t, p, p.startValue, test)
}
}