test key map MarshalText with std

This commit is contained in:
brongineers 2022-11-14 22:11:00 +03:00
parent 705f51716b
commit 6bca989643
1 changed files with 11 additions and 2 deletions

View File

@ -1022,12 +1022,13 @@ func (u *unmarshalerText) UnmarshalText(b []byte) error {
} }
func TestTextMarshalerMapKeysAreSorted(t *testing.T) { func TestTextMarshalerMapKeysAreSorted(t *testing.T) {
b, err := json.Marshal(map[unmarshalerText]int{ data := map[unmarshalerText]int{
{"x", "y"}: 1, {"x", "y"}: 1,
{"y", "x"}: 2, {"y", "x"}: 2,
{"a", "z"}: 3, {"a", "z"}: 3,
{"z", "a"}: 4, {"z", "a"}: 4,
}) }
b, err := json.Marshal(data)
if err != nil { if err != nil {
t.Fatalf("Failed to Marshal text.Marshaler: %v", err) t.Fatalf("Failed to Marshal text.Marshaler: %v", err)
} }
@ -1035,6 +1036,14 @@ func TestTextMarshalerMapKeysAreSorted(t *testing.T) {
if string(b) != want { if string(b) != want {
t.Errorf("Marshal map with text.Marshaler keys: got %#q, want %#q", b, want) t.Errorf("Marshal map with text.Marshaler keys: got %#q, want %#q", b, want)
} }
b, err = stdjson.Marshal(data)
if err != nil {
t.Fatalf("Failed to std Marshal text.Marshaler: %v", err)
}
if string(b) != want {
t.Errorf("std Marshal map with text.Marshaler keys: got %#q, want %#q", b, want)
}
} }
// https://golang.org/issue/33675 // https://golang.org/issue/33675