47 lines
1.7 KiB
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)
|
|
}
|
|
}
|