From e9a2f9455f9c3e63d7a05c22ce5f2b85cb02487d Mon Sep 17 00:00:00 2001 From: Panagiotis Papadopoulos Date: Sun, 25 Aug 2024 12:35:58 +0200 Subject: [PATCH] test(testFunctions): display stringified arguments in error message this now shows the actual passed arguments, instead of [Object object] in case a test with a options object fails --- test/testFunctions.js | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/test/testFunctions.js b/test/testFunctions.js index bcd7c15b0..5fc133bec 100644 --- a/test/testFunctions.js +++ b/test/testFunctions.js @@ -2,6 +2,10 @@ import assert from 'assert'; import { format } from 'util'; import validator from '../src/index'; +function stringifyArgs(argsArr) { + return argsArr.map(arg => JSON.stringify(arg)).join(', '); +} + export default function test(options) { const args = options.args || []; @@ -16,7 +20,7 @@ export default function test(options) { } catch (err) { const warning = format( 'validator.%s(%s) passed but should error', - options.validator, args.join(', ') + options.validator, stringifyArgs(args) ); throw new Error(warning); @@ -31,7 +35,7 @@ export default function test(options) { if (validator[options.validator](...args) !== true) { const warning = format( 'validator.%s(%s) failed but should have passed', - options.validator, args.join(', ') + options.validator, stringifyArgs(args) ); throw new Error(warning); @@ -46,7 +50,7 @@ export default function test(options) { if (validator[options.validator](...args) !== false) { const warning = format( 'validator.%s(%s) passed but should have failed', - options.validator, args.join(', ') + options.validator, stringifyArgs(args) ); throw new Error(warning);