Skip to content

Commit 9de2e15

Browse files
committed
test: add second argument to assert.throws
This adds RegExp or error constructor arguments to the remaining places where it is missing in preparation for the commit that will enforce the presence of at least two arguments. PR-URL: #12270 Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Rich Trott <[email protected]>
1 parent 4ac3ef5 commit 9de2e15

File tree

7 files changed

+43
-26
lines changed

7 files changed

+43
-26
lines changed

test/addons-napi/test_constructor/test.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ assert.strictEqual(test_object.readwriteValue, 1);
1313
test_object.readwriteValue = 2;
1414
assert.strictEqual(test_object.readwriteValue, 2);
1515

16-
assert.throws(() => { test_object.readonlyValue = 3; });
16+
assert.throws(() => { test_object.readonlyValue = 3; }, TypeError);
1717

1818
assert.ok(test_object.hiddenValue);
1919

@@ -35,8 +35,8 @@ assert.ok(propertyNames.indexOf('readonlyAccessor2') < 0);
3535
test_object.readwriteAccessor1 = 1;
3636
assert.strictEqual(test_object.readwriteAccessor1, 1);
3737
assert.strictEqual(test_object.readonlyAccessor1, 1);
38-
assert.throws(() => { test_object.readonlyAccessor1 = 3; });
38+
assert.throws(() => { test_object.readonlyAccessor1 = 3; }, TypeError);
3939
test_object.readwriteAccessor2 = 2;
4040
assert.strictEqual(test_object.readwriteAccessor2, 2);
4141
assert.strictEqual(test_object.readonlyAccessor2, 2);
42-
assert.throws(() => { test_object.readonlyAccessor2 = 3; });
42+
assert.throws(() => { test_object.readonlyAccessor2 = 3; }, TypeError);

test/addons-napi/test_properties/test.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ assert.strictEqual(test_object.readwriteValue, 1);
1212
test_object.readwriteValue = 2;
1313
assert.strictEqual(test_object.readwriteValue, 2);
1414

15-
assert.throws(() => { test_object.readonlyValue = 3; });
15+
assert.throws(() => { test_object.readonlyValue = 3; }, TypeError);
1616

1717
assert.ok(test_object.hiddenValue);
1818

@@ -34,8 +34,8 @@ assert.ok(propertyNames.indexOf('readonlyAccessor2') < 0);
3434
test_object.readwriteAccessor1 = 1;
3535
assert.strictEqual(test_object.readwriteAccessor1, 1);
3636
assert.strictEqual(test_object.readonlyAccessor1, 1);
37-
assert.throws(() => { test_object.readonlyAccessor1 = 3; });
37+
assert.throws(() => { test_object.readonlyAccessor1 = 3; }, TypeError);
3838
test_object.readwriteAccessor2 = 2;
3939
assert.strictEqual(test_object.readwriteAccessor2, 2);
4040
assert.strictEqual(test_object.readonlyAccessor2, 2);
41-
assert.throws(() => { test_object.readonlyAccessor2 = 3; });
41+
assert.throws(() => { test_object.readonlyAccessor2 = 3; }, TypeError);

test/parallel/test-assert-checktag.js

+4-2
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,8 @@ function re(literals, ...values) {
4545
}
4646
assert.doesNotThrow(() => assert.deepEqual(fakeGlobal, global));
4747
// Message will be truncated anyway, don't validate
48-
assert.throws(() => assert.deepStrictEqual(fakeGlobal, global));
48+
assert.throws(() => assert.deepStrictEqual(fakeGlobal, global),
49+
assert.AssertionError);
4950
}
5051

5152
{ // At the moment process has its own type tag
@@ -56,6 +57,7 @@ function re(literals, ...values) {
5657
}
5758
assert.doesNotThrow(() => assert.deepEqual(fakeProcess, process));
5859
// Message will be truncated anyway, don't validate
59-
assert.throws(() => assert.deepStrictEqual(fakeProcess, process));
60+
assert.throws(() => assert.deepStrictEqual(fakeProcess, process),
61+
assert.AssertionError);
6062
}
6163
/* eslint-enable */

test/parallel/test-assert-deep.js

+23-13
Original file line numberDiff line numberDiff line change
@@ -26,18 +26,21 @@ function re(literals, ...values) {
2626
const arr = new Uint8Array([120, 121, 122, 10]);
2727
const buf = Buffer.from(arr);
2828
// They have different [[Prototype]]
29-
assert.throws(() => assert.deepStrictEqual(arr, buf));
29+
assert.throws(() => assert.deepStrictEqual(arr, buf),
30+
re`${arr} deepStrictEqual ${buf}`);
3031
assert.doesNotThrow(() => assert.deepEqual(arr, buf));
3132

3233
const buf2 = Buffer.from(arr);
3334
buf2.prop = 1;
3435

35-
assert.throws(() => assert.deepStrictEqual(buf2, buf));
36+
assert.throws(() => assert.deepStrictEqual(buf2, buf),
37+
re`${buf2} deepStrictEqual ${buf}`);
3638
assert.doesNotThrow(() => assert.deepEqual(buf2, buf));
3739

3840
const arr2 = new Uint8Array([120, 121, 122, 10]);
3941
arr2.prop = 5;
40-
assert.throws(() => assert.deepStrictEqual(arr, arr2));
42+
assert.throws(() => assert.deepStrictEqual(arr, arr2),
43+
re`${arr} deepStrictEqual ${arr2}`);
4144
assert.doesNotThrow(() => assert.deepEqual(arr, arr2));
4245

4346
const date = new Date('2016');
@@ -121,19 +124,23 @@ function assertDeepAndStrictEqual(a, b) {
121124
}
122125

123126
function assertNotDeepOrStrict(a, b) {
124-
assert.throws(() => assert.deepEqual(a, b));
125-
assert.throws(() => assert.deepStrictEqual(a, b));
127+
assert.throws(() => assert.deepEqual(a, b), re`${a} deepEqual ${b}`);
128+
assert.throws(() => assert.deepStrictEqual(a, b),
129+
re`${a} deepStrictEqual ${b}`);
126130

127-
assert.throws(() => assert.deepEqual(b, a));
128-
assert.throws(() => assert.deepStrictEqual(b, a));
131+
assert.throws(() => assert.deepEqual(b, a), re`${b} deepEqual ${a}`);
132+
assert.throws(() => assert.deepStrictEqual(b, a),
133+
re`${b} deepStrictEqual ${a}`);
129134
}
130135

131136
function assertOnlyDeepEqual(a, b) {
132137
assert.doesNotThrow(() => assert.deepEqual(a, b));
133-
assert.throws(() => assert.deepStrictEqual(a, b));
138+
assert.throws(() => assert.deepStrictEqual(a, b),
139+
re`${a} deepStrictEqual ${b}`);
134140

135141
assert.doesNotThrow(() => assert.deepEqual(b, a));
136-
assert.throws(() => assert.deepStrictEqual(b, a));
142+
assert.throws(() => assert.deepStrictEqual(b, a),
143+
re`${b} deepStrictEqual ${a}`);
137144
}
138145

139146
// es6 Maps and Sets
@@ -232,10 +239,13 @@ assertDeepAndStrictEqual(
232239
assertNotDeepOrStrict(m1, m2);
233240
}
234241

235-
assert.deepEqual(new Map([[1, 1]]), new Map([[1, '1']]));
236-
assert.throws(() =>
237-
assert.deepStrictEqual(new Map([[1, 1]]), new Map([[1, '1']]))
238-
);
242+
{
243+
const map1 = new Map([[1, 1]]);
244+
const map2 = new Map([[1, '1']]);
245+
assert.deepEqual(map1, map2);
246+
assert.throws(() => assert.deepStrictEqual(map1, map2),
247+
re`${map1} deepStrictEqual ${map2}`);
248+
}
239249

240250
{
241251
// Two equivalent sets / maps with different key/values applied shouldn't be

test/parallel/test-assert.js

+8-3
Original file line numberDiff line numberDiff line change
@@ -274,10 +274,12 @@ assert.doesNotThrow(makeBlock(a.deepStrictEqual, {a: 4}, {a: 4}));
274274
assert.doesNotThrow(makeBlock(a.deepStrictEqual,
275275
{a: 4, b: '2'},
276276
{a: 4, b: '2'}));
277-
assert.throws(makeBlock(a.deepStrictEqual, [4], ['4']));
277+
assert.throws(makeBlock(a.deepStrictEqual, [4], ['4']),
278+
/^AssertionError: \[ 4 ] deepStrictEqual \[ '4' ]$/);
278279
assert.throws(makeBlock(a.deepStrictEqual, {a: 4}, {a: 4, b: true}),
279-
a.AssertionError);
280-
assert.throws(makeBlock(a.deepStrictEqual, ['a'], {0: 'a'}));
280+
/^AssertionError: { a: 4 } deepStrictEqual { a: 4, b: true }$/);
281+
assert.throws(makeBlock(a.deepStrictEqual, ['a'], {0: 'a'}),
282+
/^AssertionError: \[ 'a' ] deepStrictEqual { '0': 'a' }$/);
281283
//(although not necessarily the same order),
282284
assert.doesNotThrow(makeBlock(a.deepStrictEqual,
283285
{a: 4, b: '1'},
@@ -354,9 +356,11 @@ function thrower(errorConstructor) {
354356
assert.throws(makeBlock(thrower, a.AssertionError),
355357
a.AssertionError, 'message');
356358
assert.throws(makeBlock(thrower, a.AssertionError), a.AssertionError);
359+
// eslint-disable-next-line assert-throws-arguments
357360
assert.throws(makeBlock(thrower, a.AssertionError));
358361

359362
// if not passing an error, catch all.
363+
// eslint-disable-next-line assert-throws-arguments
360364
assert.throws(makeBlock(thrower, TypeError));
361365

362366
// when passing a type, only catch errors of the appropriate type
@@ -565,6 +569,7 @@ testAssertionMessage({a: NaN, b: Infinity, c: -Infinity},
565569
{
566570
let threw = false;
567571
try {
572+
// eslint-disable-next-line assert-throws-arguments
568573
assert.throws(function() {
569574
assert.ifError(null);
570575
});

test/parallel/test-repl-context.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,5 +22,5 @@ function testContext(repl) {
2222
assert.strictEqual(context.global, context);
2323

2424
// ensure that the repl console instance does not have a setter
25-
assert.throws(() => context.console = 'foo');
25+
assert.throws(() => context.console = 'foo', TypeError);
2626
}

test/parallel/test-vm-new-script-this-context.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ console.error('thrown error');
3535
script = new Script('throw new Error(\'test\');');
3636
assert.throws(function() {
3737
script.runInThisContext(script);
38-
});
38+
}, /^Error: test$/);
3939

4040
global.hello = 5;
4141
script = new Script('hello = 2');

0 commit comments

Comments
 (0)