From 78b76feda6f35b2c5c1d283513f6419e59086729 Mon Sep 17 00:00:00 2001 From: xiehuc Date: Sun, 23 Sep 2018 02:02:51 +0800 Subject: [PATCH] Fix integer keys in inline tables (#239) Fixes #224 --- parser.go | 2 +- parser_test.go | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/parser.go b/parser.go index 2d27599..776353b 100644 --- a/parser.go +++ b/parser.go @@ -338,7 +338,7 @@ Loop: case tokenRightCurlyBrace: p.getToken() break Loop - case tokenKey: + case tokenKey, tokenInteger, tokenString: if !tokenIsComma(previous) && previous != nil { p.raiseError(follow, "comma expected between fields in inline table") } diff --git a/parser_test.go b/parser_test.go index ca29c44..476fd4e 100644 --- a/parser_test.go +++ b/parser_test.go @@ -897,3 +897,14 @@ func TestInvalidFloatParsing(t *testing.T) { t.Error("Bad error message:", err.Error()) } } + +func TestMapKeyIsNum(t *testing.T) { + _, err := Load("table={2018=1,2019=2}") + if err != nil { + t.Error("should be passed") + } + _, err = Load(`table={"2018"=1,"2019"=2}`) + if err != nil { + t.Error("should be passed") + } +}