forked from mirror/go-json
extend tests with custom types
This commit is contained in:
parent
d12ffe2c66
commit
42adc0a5ab
|
@ -41,10 +41,20 @@ func TestCoverBool(t *testing.T) {
|
|||
A customBool `json:"a,omitempty"`
|
||||
}
|
||||
|
||||
type structSecondFieldCustomBoolOmitEmpty struct {
|
||||
C bool `json:"c"`
|
||||
A customBool `json:"a,omitempty"`
|
||||
}
|
||||
|
||||
type structCustomBoolWithMarshalerOmitEmpty struct {
|
||||
A customBoolWithMarshaler `json:"a,omitempty"`
|
||||
}
|
||||
|
||||
type structSecondFieldCustomBoolWithMarshalerOmitEmpty struct {
|
||||
C bool `json:"c"`
|
||||
A customBoolWithMarshaler `json:"a,omitempty"`
|
||||
}
|
||||
|
||||
tests := []struct {
|
||||
name string
|
||||
data interface{}
|
||||
|
@ -1437,6 +1447,26 @@ func TestCoverBool(t *testing.T) {
|
|||
B: false,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "AnonymousHeadSecondFieldCustomBoolOmitEmpty",
|
||||
data: struct {
|
||||
structSecondFieldCustomBoolOmitEmpty
|
||||
B bool `json:"b,omitempty"`
|
||||
}{
|
||||
structSecondFieldCustomBoolOmitEmpty: structSecondFieldCustomBoolOmitEmpty{A: true},
|
||||
B: false,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "AnonymousHeadSecondFieldCustomBoolOmitEmptyFalse",
|
||||
data: struct {
|
||||
structSecondFieldCustomBoolOmitEmpty
|
||||
B bool `json:"b,omitempty"`
|
||||
}{
|
||||
structSecondFieldCustomBoolOmitEmpty: structSecondFieldCustomBoolOmitEmpty{},
|
||||
B: false,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "AnonymousHeadCustomBoolWithMarshalerOmitEmpty",
|
||||
data: struct {
|
||||
|
@ -1457,6 +1487,26 @@ func TestCoverBool(t *testing.T) {
|
|||
B: false,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "AnonymousHeadSecondFieldCustomBoolWithMarshalerOmitEmpty",
|
||||
data: struct {
|
||||
structSecondFieldCustomBoolWithMarshalerOmitEmpty
|
||||
B bool `json:"b,omitempty"`
|
||||
}{
|
||||
structSecondFieldCustomBoolWithMarshalerOmitEmpty: structSecondFieldCustomBoolWithMarshalerOmitEmpty{A: true},
|
||||
B: false,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "AnonymousHeadSecondFieldCustomBoolWithMarshalerOmitEmptyFalse",
|
||||
data: struct {
|
||||
structSecondFieldCustomBoolWithMarshalerOmitEmpty
|
||||
B bool `json:"b,omitempty"`
|
||||
}{
|
||||
structSecondFieldCustomBoolWithMarshalerOmitEmpty: structSecondFieldCustomBoolWithMarshalerOmitEmpty{},
|
||||
B: false,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "AnonymousHeadBoolString",
|
||||
data: struct {
|
||||
|
@ -1509,6 +1559,26 @@ func TestCoverBool(t *testing.T) {
|
|||
B: false,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "PtrAnonymousHeadSecondFieldCustomBoolOmitEmpty",
|
||||
data: struct {
|
||||
*structSecondFieldCustomBoolOmitEmpty
|
||||
B bool `json:"b,omitempty"`
|
||||
}{
|
||||
structSecondFieldCustomBoolOmitEmpty: &structSecondFieldCustomBoolOmitEmpty{A: true},
|
||||
B: false,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "PtrAnonymousHeadSecondFieldCustomBoolOmitEmptyFalse",
|
||||
data: struct {
|
||||
*structSecondFieldCustomBoolOmitEmpty
|
||||
B bool `json:"b,omitempty"`
|
||||
}{
|
||||
structSecondFieldCustomBoolOmitEmpty: &structSecondFieldCustomBoolOmitEmpty{},
|
||||
B: false,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "PtrAnonymousHeadCustomBoolWithMarshalerOmitEmpty",
|
||||
data: struct {
|
||||
|
@ -1529,6 +1599,26 @@ func TestCoverBool(t *testing.T) {
|
|||
B: false,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "PtrAnonymousHeadSecondFieldCustomBoolWithMarshalerOmitEmpty",
|
||||
data: struct {
|
||||
*structSecondFieldCustomBoolWithMarshalerOmitEmpty
|
||||
B bool `json:"b,omitempty"`
|
||||
}{
|
||||
structSecondFieldCustomBoolWithMarshalerOmitEmpty: &structSecondFieldCustomBoolWithMarshalerOmitEmpty{A: true},
|
||||
B: false,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "PtrAnonymousHeadSecondFieldCustomBoolWithMarshalerOmitEmptyFalse",
|
||||
data: struct {
|
||||
*structSecondFieldCustomBoolWithMarshalerOmitEmpty
|
||||
B bool `json:"b,omitempty"`
|
||||
}{
|
||||
structSecondFieldCustomBoolWithMarshalerOmitEmpty: &structSecondFieldCustomBoolWithMarshalerOmitEmpty{},
|
||||
B: false,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "PtrAnonymousHeadBoolString",
|
||||
data: struct {
|
||||
|
@ -1745,6 +1835,14 @@ func TestCoverBool(t *testing.T) {
|
|||
structCustomBoolOmitEmpty: structCustomBoolOmitEmpty{A: true},
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "AnonymousHeadSecondFieldCustomBoolOnlyOmitEmpty",
|
||||
data: struct {
|
||||
structSecondFieldCustomBoolOmitEmpty
|
||||
}{
|
||||
structSecondFieldCustomBoolOmitEmpty: structSecondFieldCustomBoolOmitEmpty{A: true},
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "AnonymousHeadCustomBoolWithMarshalerOnlyOmitEmpty",
|
||||
data: struct {
|
||||
|
@ -1761,6 +1859,22 @@ func TestCoverBool(t *testing.T) {
|
|||
structCustomBoolWithMarshalerOmitEmpty: structCustomBoolWithMarshalerOmitEmpty{},
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "AnonymousHeadSecondFieldCustomBoolWithMarshalerOnlyOmitEmpty",
|
||||
data: struct {
|
||||
structSecondFieldCustomBoolWithMarshalerOmitEmpty
|
||||
}{
|
||||
structSecondFieldCustomBoolWithMarshalerOmitEmpty: structSecondFieldCustomBoolWithMarshalerOmitEmpty{A: true},
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "AnonymousHeadSecondFieldCustomBoolWithMarshalerOnlyOmitEmptyFalse",
|
||||
data: struct {
|
||||
structSecondFieldCustomBoolWithMarshalerOmitEmpty
|
||||
}{
|
||||
structSecondFieldCustomBoolWithMarshalerOmitEmpty: structSecondFieldCustomBoolWithMarshalerOmitEmpty{},
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "AnonymousHeadBoolOnlyString",
|
||||
data: struct {
|
||||
|
@ -1795,6 +1909,14 @@ func TestCoverBool(t *testing.T) {
|
|||
structCustomBoolOmitEmpty: &structCustomBoolOmitEmpty{A: true},
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "PtrAnonymousHeadSecondFieldCustomBoolOnlyOmitEmpty",
|
||||
data: struct {
|
||||
*structSecondFieldCustomBoolOmitEmpty
|
||||
}{
|
||||
structSecondFieldCustomBoolOmitEmpty: &structSecondFieldCustomBoolOmitEmpty{A: true},
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "PtrAnonymousHeadCustomBoolWithMarshalerOnlyOmitEmpty",
|
||||
data: struct {
|
||||
|
@ -1811,6 +1933,22 @@ func TestCoverBool(t *testing.T) {
|
|||
structCustomBoolWithMarshalerOmitEmpty: &structCustomBoolWithMarshalerOmitEmpty{},
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "PtrAnonymousHeadSecondFieldCustomBoolWithMarshalerOnlyOmitEmpty",
|
||||
data: struct {
|
||||
*structSecondFieldCustomBoolWithMarshalerOmitEmpty
|
||||
}{
|
||||
structSecondFieldCustomBoolWithMarshalerOmitEmpty: &structSecondFieldCustomBoolWithMarshalerOmitEmpty{A: true},
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "PtrAnonymousHeadSecondFieldCustomBoolWithMarshalerOnlyOmitEmptyFalse",
|
||||
data: struct {
|
||||
*structSecondFieldCustomBoolWithMarshalerOmitEmpty
|
||||
}{
|
||||
structSecondFieldCustomBoolWithMarshalerOmitEmpty: &structSecondFieldCustomBoolWithMarshalerOmitEmpty{},
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "PtrAnonymousHeadBoolOnlyString",
|
||||
data: struct {
|
||||
|
|
Loading…
Reference in New Issue