Skip to content
Closed
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
test: add test for skip+todo combinations
This commit adds a regression test for the edge case where a
test runner test is marked as both todo and skip.

Refs: #49013
  • Loading branch information
cjihrig committed Mar 24, 2024
commit 04d9c459e080d8909c390f8650f143af39124224
32 changes: 32 additions & 0 deletions test/parallel/test-runner-todo-skip-tests.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
'use strict';
const common = require('../common');
const { strictEqual } = require('node:assert');
const { run, suite, test } = require('node:test');

if (!process.env.NODE_TEST_CONTEXT) {
const stream = run({ files: [__filename] });

stream.on('test:fail', common.mustNotCall());
stream.on('test:pass', common.mustCall((event) => {
strictEqual(event.skip, true);
strictEqual(event.todo, undefined);
}, 4));
} else {
test('test options only', { skip: true, todo: true }, common.mustNotCall());

test('test context calls only', common.mustCall((t) => {
t.todo();
t.skip();
}));

test('todo test with context skip', { todo: true }, common.mustCall((t) => {
t.skip();
}));

// Note - there is no test for the skip option and t.todo() because the skip
// option prevents the test from running at all. This is verified by other
// tests.

// Suites don't have the context methods, so only test the options combination.
suite('suite options only', { skip: true, todo: true }, common.mustNotCall());
}