gojay

high performance JSON encoder/decoder with stream API for Golang
git clone git://git.lair.cx/gojay
Log | Files | Refs | README | LICENSE

commit cf7ba22141e2c659015749697d99522c6d743d7b
parent 6bdffa7fb6682104b576778da2fb9bcccfebe695
Author: francoispqt <francois@parquet.ninja>
Date:   Sun, 20 May 2018 01:42:37 +0800

add tests for unicode

Diffstat:
Mdecode_string.go | 2+-
Mdecode_string_test.go | 6++++++
2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/decode_string.go b/decode_string.go @@ -87,7 +87,7 @@ func (dec *Decoder) parseEscapedString() error { diff := dec.cursor - start dec.data = append(append(dec.data[:start], str...), dec.data[dec.cursor:]...) dec.length = len(dec.data) - dec.cursor = dec.cursor - diff + dec.cursor = dec.cursor - diff + len(str) return nil case 'b': // number of slash must be even diff --git a/decode_string_test.go b/decode_string_test.go @@ -139,6 +139,12 @@ func TestDecoderString(t *testing.T) { }, { name: "utf16-surrogate", + json: `"\uD834\\"`, + expectedResult: `�\`, + err: false, + }, + { + name: "utf16-surrogate", json: `"\uD834\uD834"`, expectedResult: "�\x00\x00\x00", err: false,