diff --git a/tests/basic_test.go b/tests/basic_test.go index a6a0413..255005b 100644 --- a/tests/basic_test.go +++ b/tests/basic_test.go @@ -7,6 +7,7 @@ import ( "encoding/json" "github.com/mailru/easyjson" + "github.com/mailru/easyjson/jwriter" ) type testType interface { @@ -102,3 +103,25 @@ func TestParseNull(t *testing.T) { t.Errorf("Unmarshal() = %+v; want %+v", got, want) } } + +var testCasesEncodeLtGt = []struct { + Writer *jwriter.Writer + Encoded string +}{ + {&jwriter.Writer{ + EscapeLtGt: false, + }, encodeLtGtFalseWantString}, + {&jwriter.Writer{ + EscapeLtGt: true, + }, encodeLtGtTrueWantString}, +} + +func TestEncodeLtGt(t *testing.T) { + for i, test := range testCasesEncodeLtGt { + test.Writer.String(encodeLtGtString) + got := string(test.Writer.Buffer.BuildBytes()) + if got != test.Encoded { + t.Errorf("[%d] Encoded() = %+v; want %+v", i, got, test.Encoded) + } + } +} diff --git a/tests/data.go b/tests/data.go index aa8963f..510c3a3 100644 --- a/tests/data.go +++ b/tests/data.go @@ -440,3 +440,7 @@ type RequiredOptionalStruct struct { FirstName string `json:"first_name,required"` Lastname string `json:"last_name"` } + +var encodeLtGtString = `Username ` +var encodeLtGtFalseWantString = `"Username "` +var encodeLtGtTrueWantString = `"Username \u003cuser@example.com\u003e"`