commit cf7ba22141e2c659015749697d99522c6d743d7b
parent 6bdffa7fb6682104b576778da2fb9bcccfebe695
Author: francoispqt <francois@parquet.ninja>
Date: Sun, 20 May 2018 01:42:37 +0800
add tests for unicode
Diffstat:
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,