UNPKG

test

Version:

Node.js 18's node:test, as an npm package

49 lines (43 loc) 1.85 kB
// https://github.com/nodejs/node/blob/389b7e138e89a339fabe4ad628bf09cd9748f957/test/message/test_runner_abort.js // Flags: --no-warnings 'use strict' require('../common') const test = require('#node:test') test('promise timeout signal', { signal: AbortSignal.timeout(1) }, async (t) => { await Promise.all([ t.test('ok 1', async () => {}), t.test('ok 2', () => {}), t.test('ok 3', { signal: t.signal }, async () => {}), t.test('ok 4', { signal: t.signal }, () => {}), t.test('not ok 1', () => new Promise(() => {})), t.test('not ok 2', (t, done) => {}), t.test('not ok 3', { signal: t.signal }, () => new Promise(() => {})), t.test('not ok 4', { signal: t.signal }, (t, done) => {}), t.test('not ok 5', { signal: t.signal }, (t, done) => { t.signal.addEventListener('abort', done) }) ]) }) test('promise abort signal', { signal: AbortSignal.abort() }, async (t) => { await t.test('should not appear', () => {}) }) test('callback timeout signal', { signal: AbortSignal.timeout(1) }, (t, done) => { t.test('ok 1', async () => {}) t.test('ok 2', () => {}) t.test('ok 3', { signal: t.signal }, async () => {}) t.test('ok 4', { signal: t.signal }, () => {}) t.test('not ok 1', () => new Promise(() => {})) t.test('not ok 2', (t, done) => {}) t.test('not ok 3', { signal: t.signal }, () => new Promise(() => {})) t.test('not ok 4', { signal: t.signal }, (t, done) => {}) t.test('not ok 5', { signal: t.signal }, (t, done) => { t.signal.addEventListener('abort', done) }) }) test('callback abort signal', { signal: AbortSignal.abort() }, (t, done) => { t.test('should not appear', done) }) // AbortSignal.timeout(1) doesn't prevent process from closing // thus we have to keep the process open to prevent cancelation // of the entire test tree setTimeout(() => {}, 1000)