summaryrefslogtreecommitdiff
path: root/test/parallel/test-assert.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/parallel/test-assert.js')
-rw-r--r--test/parallel/test-assert.js45
1 files changed, 45 insertions, 0 deletions
diff --git a/test/parallel/test-assert.js b/test/parallel/test-assert.js
index cab6fb33e1..dba40c0a0e 100644
--- a/test/parallel/test-assert.js
+++ b/test/parallel/test-assert.js
@@ -740,7 +740,9 @@ common.expectsError(
const frames = err.stack.split('\n');
const [, filename, line, column] = frames[1].match(/\((.+):(\d+):(\d+)\)/);
// Reset the cache to check again
+ const size = errorCache.size;
errorCache.delete(`${filename}${line - 1}${column - 1}`);
+ assert.strictEqual(errorCache.size, size - 1);
const data = `${'\n'.repeat(line - 1)}${' '.repeat(column - 1)}` +
'ok(failed(badly));';
try {
@@ -849,6 +851,7 @@ common.expectsError(
{
name: 'AssertionError [ERR_ASSERTION]',
code: 'ERR_ASSERTION',
+ generatedMessage: true,
message: `${start}\n${actExp}\n\n` +
" Comparison {\n name: 'Error',\n- message: 'foo'" +
"\n+ message: ''\n }"
@@ -940,3 +943,45 @@ assert.throws(
' }'
}
);
+
+{
+ let actual = null;
+ const expected = { message: 'foo' };
+ assert.throws(
+ () => assert.throws(
+ () => { throw actual; },
+ expected
+ ),
+ {
+ operator: 'throws',
+ actual,
+ expected,
+ generatedMessage: true,
+ message: `${start}\n${actExp}\n\n` +
+ '- null\n' +
+ '+ {\n' +
+ "+ message: 'foo'\n" +
+ '+ }'
+ }
+ );
+
+ actual = 'foobar';
+ const message = 'message';
+ assert.throws(
+ () => assert.throws(
+ () => { throw actual; },
+ { message: 'foobar' },
+ message
+ ),
+ {
+ actual,
+ message,
+ operator: 'throws',
+ generatedMessage: false
+ }
+ );
+}
+
+// TODO: This case is only there to make sure there is no breaking change.
+// eslint-disable-next-line no-restricted-syntax, no-throw-literal
+assert.throws(() => { throw 4; }, 4);