node/test/parallel/test-runner-expect-error-but-pass.js
sangwook 2e1265a444
test_runner: expose expectFailure message
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>
2026-02-26 15:37:55 +00:00

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 }, () => {});
}