| package tests |
| |
| import ( |
| "reflect" |
| "testing" |
| ) |
| |
| func TestUnknownFieldsProxy(t *testing.T) { |
| baseJson := `{"Field1":"123","Field2":"321"}` |
| |
| s := StructWithUnknownsProxy{} |
| |
| err := s.UnmarshalJSON([]byte(baseJson)) |
| if err != nil { |
| t.Errorf("UnmarshalJSON didn't expect error: %v", err) |
| } |
| |
| if s.Field1 != "123" { |
| t.Errorf("UnmarshalJSON expected to parse Field1 as \"123\". got: %v", s.Field1) |
| } |
| |
| data, err := s.MarshalJSON() |
| if err != nil { |
| t.Errorf("MarshalJSON didn't expect error: %v", err) |
| } |
| |
| if !reflect.DeepEqual(baseJson, string(data)) { |
| t.Errorf("MarshalJSON expected to gen: %v. got: %v", baseJson, string(data)) |
| } |
| } |
| |
| func TestUnknownFieldsProxyWithOmitempty(t *testing.T) { |
| baseJson := `{"Field1":"123","Field2":"321"}` |
| |
| s := StructWithUnknownsProxyWithOmitempty{} |
| |
| err := s.UnmarshalJSON([]byte(baseJson)) |
| if err != nil { |
| t.Errorf("UnmarshalJSON didn't expect error: %v", err) |
| } |
| |
| if s.Field1 != "123" { |
| t.Errorf("UnmarshalJSON expected to parse Field1 as \"123\". got: %v", s.Field1) |
| } |
| |
| data, err := s.MarshalJSON() |
| if err != nil { |
| t.Errorf("MarshalJSON didn't expect error: %v", err) |
| } |
| |
| if !reflect.DeepEqual(baseJson, string(data)) { |
| t.Errorf("MarshalJSON expected to gen: %v. got: %v", baseJson, string(data)) |
| } |
| } |