46 lines
2.0 KiB
Go
46 lines
2.0 KiB
Go
package parser
|
|
|
|
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{`string("basic s\tring value")`}},
|
|
{`'literal s\tring value'`, []string{`string("literal s\\tring value")`}},
|
|
{"\"\"\"basic multi-line\nstring value\"\"\"", []string{`string("basic multi-line\nstring value")`}},
|
|
{"'''literal multi-line\nstring value'''", []string{`string("literal multi-line\nstring value")`}},
|
|
{"true", []string{`boolean(true)`}},
|
|
{"false", []string{`boolean(false)`}},
|
|
{"0", []string{`integer(0)`}},
|
|
{"+0", []string{`integer(0)`}},
|
|
{"-0", []string{`integer(0)`}},
|
|
{"0.0", []string{`float(0)`}},
|
|
{"+0.0", []string{`float(0)`}},
|
|
{"-0.0", []string{`float(-0)`}},
|
|
{"1234", []string{`integer(1234)`}},
|
|
{"-1234", []string{`integer(-1234)`}},
|
|
{"+9_8_7.6_5_4e-321", []string{`float(9.8765e-319)`}},
|
|
{"-1_234.5678e-33", []string{`float(-1.2345678e-30)`}},
|
|
{"inf", []string{`float(+Inf)`}},
|
|
{"+inf", []string{`float(+Inf)`}},
|
|
{"-inf", []string{`float(-Inf)`}},
|
|
{"nan", []string{`float(NaN)`}},
|
|
{"+nan", []string{`float(NaN)`}},
|
|
{"-nan", []string{`float(NaN)`}},
|
|
{"2019-06-19", []string{`date(2019-06-19 00:00:00 +0000 UTC)`}},
|
|
{"08:38:54", []string{`time(0000-01-01 08:38:54 +0000 UTC)`}},
|
|
{"2019-06-19 08:38:54", []string{`datetime(2019-06-19 08:38:54 +0000 UTC)`}},
|
|
{"2019-06-19T08:38:54", []string{`datetime(2019-06-19 08:38:54 +0000 UTC)`}},
|
|
{"2019-06-19 08:38:54", []string{`datetime(2019-06-19 08:38:54 +0000 UTC)`}},
|
|
{"2019-06-19T08:38:54.88888", []string{`datetime(2019-06-19 08:38:54.88888 +0000 UTC)`}},
|
|
{"1979-05-27T07:32:00Z", []string{`offset_datetime(1979-05-27 07:32:00 +0000 UTC)`}},
|
|
{"1979-05-27T00:32:00-07:00", []string{`offset_datetime(1979-05-27 00:32:00 -0700 -0700)`}},
|
|
{"1979-05-27T00:32:00.999999-07:00", []string{`offset_datetime(1979-05-27 00:32:00.999999 -0700 -0700)`}},
|
|
} {
|
|
p := &parser{}
|
|
testParseHandler(t, p, p.startValue, test)
|
|
}
|
|
}
|