This change exposes the expectFailure message in the test runner and adds edge cases for expectFailure ambiguity. PR-URL: https://github.com/nodejs/node/pull/61563 Fixes: https://github.com/nodejs/node/issues/61570 Reviewed-By: Jordan Harband <ljharb@gmail.com> Reviewed-By: Aviv Keller <me@aviv.sh> Reviewed-By: Jacob Smith <jacob@frende.me>
17 lines
642 B
JavaScript
17 lines
642 B
JavaScript
'use strict';
|
|
const common = require('../common');
|
|
const assert = require('node:assert');
|
|
const { run, test } = require('node:test');
|
|
|
|
if (!process.env.NODE_TEST_CONTEXT) {
|
|
const stream = run({ files: [__filename] });
|
|
|
|
stream.on('test:pass', common.mustNotCall());
|
|
stream.on('test:fail', common.mustCall((event) => {
|
|
assert.strictEqual(event.details.error.code, 'ERR_TEST_FAILURE');
|
|
assert.strictEqual(event.details.error.failureType, 'expectedFailure');
|
|
assert.strictEqual(event.details.error.message, 'test was expected to fail but passed');
|
|
}, 1));
|
|
} else {
|
|
test('passing test', { expectFailure: true }, () => {});
|
|
}
|