MCPcopy Create free account
hub / github.com/canopyclimate/golive / TestAppendString

Function TestAppendString

internal/json/string_test.go:9–50  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

7)
8
9func TestAppendString(t *testing.T) {
10 tests := []struct {
11 in string
12 want string
13 wantErrUTF8 error
14 }{
15 {"", `""`, nil},
16 {"hello", `"hello"`, nil},
17 {"\x00", `"\u0000"`, nil},
18 {"\x1f", `"\u001f"`, nil},
19 {"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz", `"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"`, nil},
20 {" !#$%&'()*+,-./0123456789:;<=>?@[]^_`{|}~\x7f", "\" !#$%&'()*+,-./0123456789:;<=>?@[]^_`{|}~\x7f\"", nil},
21 {"x\x80\ufffd", "\"x\ufffd\ufffd\"", ErrInvalidUTF8},
22 {"x\xff\ufffd", "\"x\ufffd\ufffd\"", ErrInvalidUTF8},
23 {"x\xc0", "\"x\ufffd\"", ErrInvalidUTF8},
24 {"x\xc0\x80", "\"x\ufffd\ufffd\"", ErrInvalidUTF8},
25 {"x\xe0", "\"x\ufffd\"", ErrInvalidUTF8},
26 {"x\xe0\x80", "\"x\ufffd\ufffd\"", ErrInvalidUTF8},
27 {"x\xe0\x80\x80", "\"x\ufffd\ufffd\ufffd\"", ErrInvalidUTF8},
28 {"x\xf0", "\"x\ufffd\"", ErrInvalidUTF8},
29 {"x\xf0\x80", "\"x\ufffd\ufffd\"", ErrInvalidUTF8},
30 {"x\xf0\x80\x80", "\"x\ufffd\ufffd\ufffd\"", ErrInvalidUTF8},
31 {"x\xf0\x80\x80\x80", "\"x\ufffd\ufffd\ufffd\ufffd\"", ErrInvalidUTF8},
32 {"x\xed\xba\xad", "\"x\ufffd\ufffd\ufffd\"", ErrInvalidUTF8},
33 {"\"\\/\b\f\n\r\t", `"\"\\/\b\f\n\r\t"`, nil},
34 {"٩(-̮̮̃-̃)۶ ٩(●̮̮̃•̃)۶ ٩(͡๏̯͡๏)۶ ٩(-̮̮̃•̃).", `"٩(-̮̮̃-̃)۶ ٩(●̮̮̃•̃)۶ ٩(͡๏̯͡๏)۶ ٩(-̮̮̃•̃)."`, nil},
35 {"\u0080\u00f6\u20ac\ud799\ue000\ufb33\ufffd\U0001f602", "\"\u0080\u00f6\u20ac\ud799\ue000\ufb33\ufffd\U0001f602\"", nil},
36 {"\u0000\u001f\u0020\u0022\u0026\u003c\u003e\u005c\u007f\u0080\u2028\u2029\ufffd\U0001f602", "\"\\u0000\\u001f\u0020\\\"\u0026\u003c\u003e\\\\\u007f\u0080\u2028\u2029\ufffd\U0001f602\"", nil},
37 }
38
39 for _, tt := range tests {
40 t.Run("", func(t *testing.T) {
41 got, gotErr := AppendString(nil, tt.in)
42 switch {
43 case tt.wantErrUTF8 == nil && (string(got) != tt.want || gotErr != nil):
44 t.Errorf("appendString(nil, %q) = (%s, %v), want (%s, %v)", tt.in, got, gotErr, tt.want, nil)
45 case tt.wantErrUTF8 != nil && (!strings.HasPrefix(tt.want, string(got)) || !reflect.DeepEqual(gotErr, tt.wantErrUTF8)):
46 t.Errorf("appendString(nil, %q, true, ...) = (%s, %v), want (%s, %v)", tt.in, got, gotErr, tt.want, tt.wantErrUTF8)
47 }
48 })
49 }
50}

Callers

nothing calls this directly

Calls 1

AppendStringFunction · 0.85

Tested by

no test coverage detected