Skip to content

Commit 72876d3

Browse files
committed
Correct for checks with empty arguments
1 parent add5070 commit 72876d3

File tree

2 files changed

+45
-2
lines changed

2 files changed

+45
-2
lines changed

defaultMethods.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -792,7 +792,7 @@ function createComparator (name, func) {
792792
const opStr = { [Compiled]: name }
793793
return {
794794
method: (args, context, above, engine) => {
795-
if (!Array.isArray(args) || args.length === 1) throw INVALID_ARGUMENTS
795+
if (!Array.isArray(args) || args.length <= 1) throw INVALID_ARGUMENTS
796796
if (args.length === 2) return func(runOptimizedOrFallback(args[0], engine, context, above), runOptimizedOrFallback(args[1], engine, context, above))
797797
let prev = runOptimizedOrFallback(args[0], engine, context, above)
798798
for (let i = 1; i < args.length; i++) {
@@ -803,7 +803,7 @@ function createComparator (name, func) {
803803
return true
804804
},
805805
asyncMethod: async (args, context, above, engine) => {
806-
if (!Array.isArray(args) || args.length === 1) throw INVALID_ARGUMENTS
806+
if (!Array.isArray(args) || args.length <= 1) throw INVALID_ARGUMENTS
807807
if (args.length === 2) return func(await runOptimizedOrFallback(args[0], engine, context, above), await runOptimizedOrFallback(args[1], engine, context, above))
808808
let prev = await runOptimizedOrFallback(args[0], engine, context, above)
809809
for (let i = 1; i < args.length; i++) {

suites/comparison.json

+43
Original file line numberDiff line numberDiff line change
@@ -199,5 +199,48 @@
199199
"rule": { "!==": 1 },
200200
"data": {},
201201
"error": { "type": "Invalid Arguments" }
202+
},
203+
"Empty Operand Tests",
204+
{
205+
"description": "< with empty argument",
206+
"rule": { "<": [] },
207+
"data": {},
208+
"error": { "type": "Invalid Arguments" }
209+
},
210+
{
211+
"description": "> with empty argument",
212+
"rule": { ">": [] },
213+
"data": {},
214+
"error": { "type": "Invalid Arguments" }
215+
},
216+
{
217+
"description": ">= with empty argument",
218+
"rule": { ">=": [] },
219+
"data": {},
220+
"error": { "type": "Invalid Arguments" }
221+
},
222+
{
223+
"description": "== with empty argument",
224+
"rule": { "==": [] },
225+
"data": {},
226+
"error": { "type": "Invalid Arguments" }
227+
},
228+
{
229+
"description": "!= with empty argument",
230+
"rule": { "!=": [] },
231+
"data": {},
232+
"error": { "type": "Invalid Arguments" }
233+
},
234+
{
235+
"description": "=== with empty argument",
236+
"rule": { "===": [] },
237+
"data": {},
238+
"error": { "type": "Invalid Arguments" }
239+
},
240+
{
241+
"description": "!== with empty argument",
242+
"rule": { "!==": [] },
243+
"data": {},
244+
"error": { "type": "Invalid Arguments" }
202245
}
203246
]

0 commit comments

Comments
 (0)