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) } }