summaryrefslogtreecommitdiff
path: root/ext/node/polyfills/testing.ts
diff options
context:
space:
mode:
Diffstat (limited to 'ext/node/polyfills/testing.ts')
-rw-r--r--ext/node/polyfills/testing.ts25
1 files changed, 4 insertions, 21 deletions
diff --git a/ext/node/polyfills/testing.ts b/ext/node/polyfills/testing.ts
index 192a0cc71..83e8f6f0b 100644
--- a/ext/node/polyfills/testing.ts
+++ b/ext/node/polyfills/testing.ts
@@ -5,23 +5,6 @@
import { notImplemented, warnNotImplemented } from "ext:deno_node/_utils.ts";
-export function deferred() {
- let methods;
- const promise = new Promise((resolve, reject) => {
- methods = {
- async resolve(value) {
- await value;
- resolve(value);
- },
- // deno-lint-ignore no-explicit-any
- reject(reason?: any) {
- reject(reason);
- },
- };
- });
- return Object.assign(promise, methods);
-}
-
export function run() {
notImplemented("test.run");
}
@@ -124,13 +107,13 @@ function prepareOptions(name, options, fn, overrides) {
return { fn, options: finalOptions, name };
}
-function wrapTestFn(fn, promise) {
+function wrapTestFn(fn, resolve) {
return async function (t) {
const nodeTestContext = new NodeTestContext(t);
try {
await fn(nodeTestContext);
} finally {
- promise.resolve(undefined);
+ resolve();
}
};
}
@@ -138,11 +121,11 @@ function wrapTestFn(fn, promise) {
function prepareDenoTest(name, options, fn, overrides) {
const prepared = prepareOptions(name, options, fn, overrides);
- const promise = deferred();
+ const { promise, resolve } = Promise.withResolvers();
const denoTestOptions = {
name: prepared.name,
- fn: wrapTestFn(prepared.fn, promise),
+ fn: wrapTestFn(prepared.fn, resolve),
only: prepared.options.only,
ignore: prepared.options.todo || prepared.options.skip,
};