From f3da083be9a0152e5b953c926d962e852a65feb8 Mon Sep 17 00:00:00 2001 From: wdvxdr Date: Tue, 31 Jan 2023 23:10:30 +0800 Subject: [PATCH] coolq/cqcode: add a testcase for quote May report an empty json message. --- coolq/cqcode/all_test.go | 33 +++++++++++++++++++++++---------- 1 file changed, 23 insertions(+), 10 deletions(-) diff --git a/coolq/cqcode/all_test.go b/coolq/cqcode/all_test.go index a42e9bb..ff285c5 100644 --- a/coolq/cqcode/all_test.go +++ b/coolq/cqcode/all_test.go @@ -2,18 +2,31 @@ package cqcode import ( "bytes" + "encoding/json" "testing" ) -func TestIssue1733(t *testing.T) { - const ( - input = "\u0005" - expected = `"\u0005"` - ) - var b bytes.Buffer - writeQuote(&b, input) - got := b.String() - if got != expected { - t.Errorf("want %v but got %v", expected, got) +func jsonMarshal(s string) string { + b, err := json.Marshal(s) + if err != nil { + panic(err) + } + return string(b) +} + +func Test_quote(t *testing.T) { + testcase := []string{ + "\u0005", // issue 1773 + "\v", + } + + for _, input := range testcase { + var b bytes.Buffer + writeQuote(&b, input) + got := b.String() + expected := jsonMarshal(input) + if got != expected { + t.Errorf("want %v but got %v", expected, got) + } } }