@@ -86,14 +86,6 @@ func TestUnmarshal(t *testing.T) {
86
86
content []byte
87
87
v any
88
88
}
89
- var result1 struct {
90
- String string `json:"string"`
91
- Number float64 `json:"number"`
92
- }
93
- var result2 struct {
94
- String string `json:"string"`
95
- Number float64 `json:"number"`
96
- }
97
89
tests := []struct {
98
90
name string
99
91
args args
@@ -108,7 +100,10 @@ func TestUnmarshal(t *testing.T) {
108
100
},
109
101
},
110
102
content : []byte (`{"string":"abc","number":123.4}` ),
111
- v : & result1 ,
103
+ v : & struct {
104
+ String string `json:"string"`
105
+ Number float64 `json:"number"`
106
+ }{},
112
107
}, false },
113
108
{"" , args {
114
109
schema : jsonschema.Definition {
@@ -120,7 +115,40 @@ func TestUnmarshal(t *testing.T) {
120
115
Required : []string {"string" , "number" },
121
116
},
122
117
content : []byte (`{"string":"abc"}` ),
123
- v : result2 ,
118
+ v : struct {
119
+ String string `json:"string"`
120
+ Number float64 `json:"number"`
121
+ }{},
122
+ }, true },
123
+ {"validate integer" , args {
124
+ schema : jsonschema.Definition {
125
+ Type : jsonschema .Object ,
126
+ Properties : map [string ]jsonschema.Definition {
127
+ "string" : {Type : jsonschema .String },
128
+ "integer" : {Type : jsonschema .Integer },
129
+ },
130
+ Required : []string {"string" , "integer" },
131
+ },
132
+ content : []byte (`{"string":"abc","integer":123}` ),
133
+ v : & struct {
134
+ String string `json:"string"`
135
+ Integer int `json:"integer"`
136
+ }{},
137
+ }, false },
138
+ {"validate integer failed" , args {
139
+ schema : jsonschema.Definition {
140
+ Type : jsonschema .Object ,
141
+ Properties : map [string ]jsonschema.Definition {
142
+ "string" : {Type : jsonschema .String },
143
+ "integer" : {Type : jsonschema .Integer },
144
+ },
145
+ Required : []string {"string" , "integer" },
146
+ },
147
+ content : []byte (`{"string":"abc","integer":123.4}` ),
148
+ v : & struct {
149
+ String string `json:"string"`
150
+ Integer int `json:"integer"`
151
+ }{},
124
152
}, true },
125
153
}
126
154
for _ , tt := range tests {
0 commit comments