diff options
| author | (quasar) nebula <qznebula@protonmail.com> | 2026-03-31 19:53:51 -0300 |
|---|---|---|
| committer | (quasar) nebula <qznebula@protonmail.com> | 2026-03-31 19:53:51 -0300 |
| commit | 90b0f3ebb163e05aa47aec66bf16ddaa03739546 (patch) | |
| tree | 7f271020b791d7ef432d97bbddfba4a736d85291 /test/lib/strict-match-error.js | |
| parent | 727e1f0b4f6361a38a12489675b8f8c892040d65 (diff) | |
test: move lib functions into one (short!) file
Diffstat (limited to 'test/lib/strict-match-error.js')
| -rw-r--r-- | test/lib/strict-match-error.js | 50 |
1 files changed, 0 insertions, 50 deletions
diff --git a/test/lib/strict-match-error.js b/test/lib/strict-match-error.js deleted file mode 100644 index e3b36e93..00000000 --- a/test/lib/strict-match-error.js +++ /dev/null @@ -1,50 +0,0 @@ -export function strictlyThrows(t, fn, pattern) { - const error = catchErrorOrNull(fn); - - t.currentAssert = strictlyThrows; - - if (error === null) { - t.fail(`expected to throw`); - return; - } - - const nameAndMessage = `${pattern.constructor.name} ${pattern.message}`; - t.match( - prepareErrorForMatch(error), - prepareErrorForMatch(pattern), - (pattern instanceof AggregateError - ? `expected to throw: ${nameAndMessage} (${pattern.errors.length} error(s))` - : `expected to throw: ${nameAndMessage}`)); -} - -function prepareErrorForMatch(error) { - if (error instanceof RegExp) { - return { - message: error, - }; - } - - if (!(error instanceof Error)) { - return error; - } - - const matchable = { - name: error.constructor.name, - message: error.message, - }; - - if (error instanceof AggregateError) { - matchable.errors = error.errors.map(prepareErrorForMatch); - } - - return matchable; -} - -function catchErrorOrNull(fn) { - try { - fn(); - return null; - } catch (error) { - return error; - } -} |