From c785899276d009145d1a3d757a8889f6fd5ffe7e Mon Sep 17 00:00:00 2001 From: zhangchengshuai Date: Mon, 10 Dec 2018 17:32:53 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=AF=B9json.Number?= =?UTF-8?q?=E7=9A=84=E5=85=BC=E5=AE=B9=EF=BC=8C=E9=81=BF=E5=85=8D=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E6=A0=87=E5=87=86=E5=BA=93encoding/json=E5=A4=84?= =?UTF-8?q?=E7=90=86json=E6=95=B0=E6=8D=AE=E6=97=B6=E7=9A=84int=E7=BB=8F?= =?UTF-8?q?=E5=BA=A6=E4=B8=A2=E5=A4=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- yql.go | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/yql.go b/yql.go index bb0ffea..923ecbe 100644 --- a/yql.go +++ b/yql.go @@ -3,6 +3,7 @@ package yql import ( "fmt" "strconv" + "encoding/json" "github.com/antlr/antlr4/runtime/Go/antlr" "github.com/caibirdme/yql/internal/grammar" @@ -194,6 +195,16 @@ func compare(actualValue interface{}, expectValue []string, op string) bool { return false } return cmpInt(actual, expect, op) + case json.Number: + actualValue, err := strconv.ParseInt(actualValue.(json.Number).String(), 10, 64) + if nil != err { + return false + } + expect, err := strconv.ParseInt(e, 10, 64) + if nil != err { + return false + } + return cmpInt(actualValue, expect, op) case float64: expect, err := strconv.ParseFloat(e, 64) if nil != err { From 292593bdf50ff5dd656e61933d293d5634ab8fd5 Mon Sep 17 00:00:00 2001 From: zhangchengshuai Date: Mon, 10 Dec 2018 17:53:04 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E5=B0=86=E5=8E=9F=E6=8C=87=E5=90=91caibird?= =?UTF-8?q?me=E7=9A=84import=E6=8C=87=E5=90=91=E8=87=AA=E8=BA=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- example_test.go | 2 +- lambda/instruct.go | 2 +- lambda/lambda.go | 2 +- yql.go | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/example_test.go b/example_test.go index f549b1a..8c739be 100644 --- a/example_test.go +++ b/example_test.go @@ -3,7 +3,7 @@ package yql_test import ( "fmt" - "github.com/caibirdme/yql" + "github.com/zcs-seu/yql" ) func ExampleMatch() { diff --git a/lambda/instruct.go b/lambda/instruct.go index f4c749d..00a90f0 100644 --- a/lambda/instruct.go +++ b/lambda/instruct.go @@ -8,7 +8,7 @@ import ( "strconv" "strings" - grammar "github.com/caibirdme/yql/internal/lambda" + grammar "github.com/zcs-seu/yql/internal/lambda" ) type action uint8 diff --git a/lambda/lambda.go b/lambda/lambda.go index 39635ca..b014664 100644 --- a/lambda/lambda.go +++ b/lambda/lambda.go @@ -6,7 +6,7 @@ import ( "reflect" "github.com/antlr/antlr4/runtime/Go/antlr" - grammar "github.com/caibirdme/yql/internal/lambda" + grammar "github.com/zcs-seu/yql/internal/lambda" ) type bailLexer struct { diff --git a/yql.go b/yql.go index 923ecbe..4e45dc7 100644 --- a/yql.go +++ b/yql.go @@ -6,8 +6,8 @@ import ( "encoding/json" "github.com/antlr/antlr4/runtime/Go/antlr" - "github.com/caibirdme/yql/internal/grammar" - "github.com/caibirdme/yql/internal/stack" + "github.com/zcs-seu/yql/internal/grammar" + "github.com/zcs-seu/yql/internal/stack" ) type boolStack interface { From 2f3cc9bc13a011bcefc243094141b90079d4ff8b Mon Sep 17 00:00:00 2001 From: zhangchengshuai Date: Mon, 10 Dec 2018 17:32:53 +0800 Subject: [PATCH 3/4] increase compatibility with json.Number to avoid accuracy loss of int --- yql.go | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/yql.go b/yql.go index bb0ffea..923ecbe 100644 --- a/yql.go +++ b/yql.go @@ -3,6 +3,7 @@ package yql import ( "fmt" "strconv" + "encoding/json" "github.com/antlr/antlr4/runtime/Go/antlr" "github.com/caibirdme/yql/internal/grammar" @@ -194,6 +195,16 @@ func compare(actualValue interface{}, expectValue []string, op string) bool { return false } return cmpInt(actual, expect, op) + case json.Number: + actualValue, err := strconv.ParseInt(actualValue.(json.Number).String(), 10, 64) + if nil != err { + return false + } + expect, err := strconv.ParseInt(e, 10, 64) + if nil != err { + return false + } + return cmpInt(actualValue, expect, op) case float64: expect, err := strconv.ParseFloat(e, 64) if nil != err { From 08c3dd2afadd66847288f17166f93cb3c1867260 Mon Sep 17 00:00:00 2001 From: zhangchengshuai Date: Mon, 10 Dec 2018 17:53:04 +0800 Subject: [PATCH 4/4] update import by replacing caibirdme with zcs-seu --- example_test.go | 2 +- lambda/instruct.go | 2 +- lambda/lambda.go | 2 +- yql.go | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/example_test.go b/example_test.go index f549b1a..8c739be 100644 --- a/example_test.go +++ b/example_test.go @@ -3,7 +3,7 @@ package yql_test import ( "fmt" - "github.com/caibirdme/yql" + "github.com/zcs-seu/yql" ) func ExampleMatch() { diff --git a/lambda/instruct.go b/lambda/instruct.go index f4c749d..00a90f0 100644 --- a/lambda/instruct.go +++ b/lambda/instruct.go @@ -8,7 +8,7 @@ import ( "strconv" "strings" - grammar "github.com/caibirdme/yql/internal/lambda" + grammar "github.com/zcs-seu/yql/internal/lambda" ) type action uint8 diff --git a/lambda/lambda.go b/lambda/lambda.go index 39635ca..b014664 100644 --- a/lambda/lambda.go +++ b/lambda/lambda.go @@ -6,7 +6,7 @@ import ( "reflect" "github.com/antlr/antlr4/runtime/Go/antlr" - grammar "github.com/caibirdme/yql/internal/lambda" + grammar "github.com/zcs-seu/yql/internal/lambda" ) type bailLexer struct { diff --git a/yql.go b/yql.go index 923ecbe..4e45dc7 100644 --- a/yql.go +++ b/yql.go @@ -6,8 +6,8 @@ import ( "encoding/json" "github.com/antlr/antlr4/runtime/Go/antlr" - "github.com/caibirdme/yql/internal/grammar" - "github.com/caibirdme/yql/internal/stack" + "github.com/zcs-seu/yql/internal/grammar" + "github.com/zcs-seu/yql/internal/stack" ) type boolStack interface {