Skip to content

Commit 34efcda

Browse files
committed
Backport the new const precision tests.
1 parent 06a6295 commit 34efcda

File tree

2 files changed

+114
-0
lines changed

2 files changed

+114
-0
lines changed

tests/draft6/const.json

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,5 +181,62 @@
181181
"valid": true
182182
}
183183
]
184+
},
185+
{
186+
"description": "const with -2.0 matches integer and float types",
187+
"schema": {"const": -2.0},
188+
"tests": [
189+
{
190+
"description": "integer -2 is valid",
191+
"data": -2,
192+
"valid": true
193+
},
194+
{
195+
"description": "integer 2 is invalid",
196+
"data": 2,
197+
"valid": false
198+
},
199+
{
200+
"description": "float -2.0 is valid",
201+
"data": -2.0,
202+
"valid": true
203+
},
204+
{
205+
"description": "float 2.0 is invalid",
206+
"data": 2.0,
207+
"valid": false
208+
},
209+
{
210+
"description": "float -2.00001 is invalid",
211+
"data": -2.00001,
212+
"valid": false
213+
}
214+
]
215+
},
216+
{
217+
"description": "float and integers are equal up to 64-bit representation limits",
218+
"schema": {"const": 9007199254740992},
219+
"tests": [
220+
{
221+
"description": "integer is valid",
222+
"data": 9007199254740992,
223+
"valid": true
224+
},
225+
{
226+
"description": "integer minus one is invalid",
227+
"data": 9007199254740991,
228+
"valid": false
229+
},
230+
{
231+
"description": "float is valid",
232+
"data": 9007199254740992.0,
233+
"valid": true
234+
},
235+
{
236+
"description": "float minus one is invalid",
237+
"data": 9007199254740991.0,
238+
"valid": false
239+
}
240+
]
184241
}
185242
]

tests/draft7/const.json

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,5 +181,62 @@
181181
"valid": true
182182
}
183183
]
184+
},
185+
{
186+
"description": "const with -2.0 matches integer and float types",
187+
"schema": {"const": -2.0},
188+
"tests": [
189+
{
190+
"description": "integer -2 is valid",
191+
"data": -2,
192+
"valid": true
193+
},
194+
{
195+
"description": "integer 2 is invalid",
196+
"data": 2,
197+
"valid": false
198+
},
199+
{
200+
"description": "float -2.0 is valid",
201+
"data": -2.0,
202+
"valid": true
203+
},
204+
{
205+
"description": "float 2.0 is invalid",
206+
"data": 2.0,
207+
"valid": false
208+
},
209+
{
210+
"description": "float -2.00001 is invalid",
211+
"data": -2.00001,
212+
"valid": false
213+
}
214+
]
215+
},
216+
{
217+
"description": "float and integers are equal up to 64-bit representation limits",
218+
"schema": {"const": 9007199254740992},
219+
"tests": [
220+
{
221+
"description": "integer is valid",
222+
"data": 9007199254740992,
223+
"valid": true
224+
},
225+
{
226+
"description": "integer minus one is invalid",
227+
"data": 9007199254740991,
228+
"valid": false
229+
},
230+
{
231+
"description": "float is valid",
232+
"data": 9007199254740992.0,
233+
"valid": true
234+
},
235+
{
236+
"description": "float minus one is invalid",
237+
"data": 9007199254740991.0,
238+
"valid": false
239+
}
240+
]
184241
}
185242
]

0 commit comments

Comments
 (0)