Skip to content

Commit 2081a9e

Browse files
committed
Refactor assertion return testcases
1 parent 66d2409 commit 2081a9e

File tree

2 files changed

+47
-90
lines changed

2 files changed

+47
-90
lines changed

lib/assert.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,7 @@ class Assertions {
283283
}
284284

285285
fail(event.error);
286+
return false;
286287
},
287288
onSuccess: () => {
288289
pass();

test-tap/assert.js

Lines changed: 46 additions & 90 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ const AssertionsBase = class extends assert.Assertions {
3030
fail: error => {
3131
lastFailure = error;
3232
},
33-
skip: () => { },
33+
skip: () => {},
3434
experiments: {},
3535
...overwrites
3636
});
@@ -120,8 +120,7 @@ function eventuallyFailsWith(t, fn, subset) {
120120

121121
function fails(t, fn) {
122122
lastFailure = null;
123-
fn();
124-
if (lastFailure) {
123+
if (!fn() && lastFailure) {
125124
t.pass();
126125
} else {
127126
t.fail('Expected assertion to fail');
@@ -146,8 +145,7 @@ function eventuallyFails(t, fn) {
146145
function passes(t, fn) {
147146
lastPassed = false;
148147
lastFailure = null;
149-
fn();
150-
if (lastPassed) {
148+
if (fn() && lastPassed) {
151149
t.pass();
152150
} else {
153151
t.ifError(lastFailure, 'Expected assertion to pass');
@@ -170,14 +168,12 @@ function eventuallyPasses(t, fn) {
170168

171169
test('.pass()', t => {
172170
passes(t, () => {
173-
const result = assertions.pass();
174-
assertions.true(result);
171+
return assertions.pass();
175172
});
176173

177174
passes(t, () => {
178175
const {pass} = assertions;
179-
const result = pass();
180-
assertions.true(result);
176+
return pass();
181177
});
182178

183179
t.end();
@@ -218,156 +214,125 @@ test('.fail()', t => {
218214
formatted: /null/
219215
}]
220216
});
221-
for (const result of results) {
222-
t.is(result, false);
223-
}
224217

225218
t.end();
226219
});
227220

228221
test('.is()', t => {
229222
passes(t, () => {
230-
const result = assertions.is('foo', 'foo');
231-
assertions.true(result);
223+
return assertions.is('foo', 'foo');
232224
});
233225

234226
passes(t, () => {
235227
const {is} = assertions;
236-
const result = is('foo', 'foo');
237-
assertions.true(result);
228+
return is('foo', 'foo');
238229
});
239230

240231
passes(t, () => {
241-
const result = assertions.is('', '');
242-
assertions.true(result);
232+
return assertions.is('', '');
243233
});
244234

245235
passes(t, () => {
246-
const result = assertions.is(true, true);
247-
assertions.true(result);
236+
return assertions.is(true, true);
248237
});
249238

250239
passes(t, () => {
251-
const result = assertions.is(false, false);
252-
assertions.true(result);
240+
return assertions.is(false, false);
253241
});
254242

255243
passes(t, () => {
256-
const result = assertions.is(null, null);
257-
assertions.true(result);
244+
return assertions.is(null, null);
258245
});
259246

260247
passes(t, () => {
261-
const result = assertions.is(undefined, undefined);
262-
assertions.true(result);
248+
return assertions.is(undefined, undefined);
263249
});
264250

265251
passes(t, () => {
266-
const result = assertions.is(1, 1);
267-
assertions.true(result);
252+
return assertions.is(1, 1);
268253
});
269254

270255
passes(t, () => {
271-
const result = assertions.is(0, 0);
272-
assertions.true(result);
256+
return assertions.is(0, 0);
273257
});
274258

275259
passes(t, () => {
276-
const result = assertions.is(-0, -0);
277-
assertions.true(result);
260+
return assertions.is(-0, -0);
278261
});
279262

280263
passes(t, () => {
281-
const result = assertions.is(Number.NaN, Number.NaN);
282-
assertions.true(result);
264+
return assertions.is(Number.NaN, Number.NaN);
283265
});
284266

285267
passes(t, () => {
286-
const result = assertions.is(0 / 0, Number.NaN);
287-
assertions.true(result);
268+
return assertions.is(0 / 0, Number.NaN);
288269
});
289270

290271
passes(t, () => {
291272
const someRef = {foo: 'bar'};
292-
const result = assertions.is(someRef, someRef);
293-
assertions.true(result);
273+
return assertions.is(someRef, someRef);
294274
});
295275

296276
fails(t, () => {
297-
const result = assertions.is(0, -0);
298-
assertions.false(result);
277+
return assertions.is(0, -0);
299278
});
300279

301280
fails(t, () => {
302-
const result = assertions.is(0, false);
303-
assertions.false(result);
281+
return assertions.is(0, false);
304282
});
305283

306284
fails(t, () => {
307-
const result = assertions.is('', false);
308-
assertions.false(result);
285+
return assertions.is('', false);
309286
});
310287

311288
fails(t, () => {
312-
const result = assertions.is('0', 0);
313-
assertions.false(result);
289+
return assertions.is('0', 0);
314290
});
315291

316292
fails(t, () => {
317-
const result = assertions.is('17', 17);
318-
assertions.false(result);
293+
return assertions.is('17', 17);
319294
});
320295

321296
fails(t, () => {
322-
const result = assertions.is([1, 2], '1,2');
323-
assertions.false(result);
297+
return assertions.is([1, 2], '1,2');
324298
});
325299

326300
fails(t, () => {
327301
// eslint-disable-next-line no-new-wrappers, unicorn/new-for-builtins
328-
const result = assertions.is(new String('foo'), 'foo');
329-
assertions.false(result);
302+
return assertions.is(new String('foo'), 'foo');
330303
});
331304

332305
fails(t, () => {
333-
const result = assertions.is(null, undefined);
334-
assertions.false(result);
306+
return assertions.is(null, undefined);
335307
});
336308

337309
fails(t, () => {
338-
const result = assertions.is(null, false);
339-
assertions.false(result);
310+
return assertions.is(null, false);
340311
});
341312

342313
fails(t, () => {
343-
const result = assertions.is(undefined, false);
344-
assertions.false(result);
314+
return assertions.is(undefined, false);
345315
});
346316

347317
fails(t, () => {
348318
// eslint-disable-next-line no-new-wrappers, unicorn/new-for-builtins
349-
const result = assertions.is(new String('foo'), new String('foo'));
350-
assertions.false(result);
319+
return assertions.is(new String('foo'), new String('foo'));
351320
});
352321

353322
fails(t, () => {
354-
const result = assertions.is(0, null);
355-
assertions.false(result);
323+
return assertions.is(0, null);
356324
});
357325

358326
fails(t, () => {
359-
const result = assertions.is(0, Number.NaN);
360-
assertions.false(result);
327+
return assertions.is(0, Number.NaN);
361328
});
362329

363330
fails(t, () => {
364-
const result = assertions.is('foo', Number.NaN);
365-
assertions.false(result);
331+
return assertions.is('foo', Number.NaN);
366332
});
367333

368-
const failureResults = [];
369334
failsWith(t, () => {
370-
failureResults.push(assertions.is({foo: 'bar'}, {foo: 'bar'}));
335+
return assertions.is({foo: 'bar'}, {foo: 'bar'});
371336
}, {
372337
assertion: 'is',
373338
message: '',
@@ -380,7 +345,7 @@ test('.is()', t => {
380345
});
381346

382347
failsWith(t, () => {
383-
failureResults.push(assertions.is('foo', 'bar'));
348+
return assertions.is('foo', 'bar');
384349
}, {
385350
assertion: 'is',
386351
message: '',
@@ -391,7 +356,7 @@ test('.is()', t => {
391356
});
392357

393358
failsWith(t, () => {
394-
failureResults.push(assertions.is('foo', 42));
359+
return assertions.is('foo', 42);
395360
}, {
396361
actual: 'foo',
397362
assertion: 'is',
@@ -403,7 +368,7 @@ test('.is()', t => {
403368
});
404369

405370
failsWith(t, () => {
406-
failureResults.push(assertions.is('foo', 42, 'my message'));
371+
return assertions.is('foo', 42, 'my message');
407372
}, {
408373
assertion: 'is',
409374
message: 'my message',
@@ -413,7 +378,7 @@ test('.is()', t => {
413378
});
414379

415380
failsWith(t, () => {
416-
failureResults.push(assertions.is(0, -0, 'my message'));
381+
return assertions.is(0, -0, 'my message');
417382
}, {
418383
assertion: 'is',
419384
message: 'my message',
@@ -423,7 +388,7 @@ test('.is()', t => {
423388
});
424389

425390
failsWith(t, () => {
426-
failureResults.push(assertions.is(-0, 0, 'my message'));
391+
return assertions.is(-0, 0, 'my message');
427392
}, {
428393
assertion: 'is',
429394
message: 'my message',
@@ -433,7 +398,7 @@ test('.is()', t => {
433398
});
434399

435400
failsWith(t, () => {
436-
failureResults.push(assertions.is(0, 0, null));
401+
return assertions.is(0, 0, null);
437402
}, {
438403
assertion: 'is',
439404
improperUsage: true,
@@ -443,36 +408,30 @@ test('.is()', t => {
443408
formatted: /null/
444409
}]
445410
});
446-
for (const result of failureResults) {
447-
t.false(result);
448-
}
449411

450412
t.end();
451413
});
452414

453415
test('.not()', t => {
454416
passes(t, () => {
455-
const result = assertions.not('foo', 'bar');
456-
assertions.true(result);
417+
return assertions.not('foo', 'bar');
457418
});
458419

459420
passes(t, () => {
460421
const {not} = assertions;
461-
const result = not('foo', 'bar');
462-
assertions.true(result);
422+
return not('foo', 'bar');
463423
});
464424

465-
const failureResults = [];
466425
fails(t, () => {
467-
failureResults.push(assertions.not(Number.NaN, Number.NaN));
426+
return assertions.not(Number.NaN, Number.NaN);
468427
});
469428

470429
fails(t, () => {
471-
failureResults.push(assertions.not(0 / 0, Number.NaN));
430+
return assertions.not(0 / 0, Number.NaN);
472431
});
473432

474433
failsWith(t, () => {
475-
failureResults.push(assertions.not('foo', 'foo'));
434+
return assertions.not('foo', 'foo');
476435
}, {
477436
assertion: 'not',
478437
message: '',
@@ -481,15 +440,15 @@ test('.not()', t => {
481440
});
482441

483442
failsWith(t, () => {
484-
failureResults.push(assertions.not('foo', 'foo', 'my message'));
443+
return assertions.not('foo', 'foo', 'my message');
485444
}, {
486445
assertion: 'not',
487446
message: 'my message',
488447
values: [{label: 'Value is the same as:', formatted: /foo/}]
489448
});
490449

491450
failsWith(t, () => {
492-
failureResults.push(assertions.not(0, 1, null));
451+
return assertions.not(0, 1, null);
493452
}, {
494453
assertion: 'not',
495454
improperUsage: true,
@@ -499,9 +458,6 @@ test('.not()', t => {
499458
formatted: /null/
500459
}]
501460
});
502-
for (const result of failureResults) {
503-
t.false(result);
504-
}
505461

506462
t.end();
507463
});

0 commit comments

Comments
 (0)