summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/node/polyfills/testing.ts32
1 files changed, 18 insertions, 14 deletions
diff --git a/ext/node/polyfills/testing.ts b/ext/node/polyfills/testing.ts
index b6733f118..92900e632 100644
--- a/ext/node/polyfills/testing.ts
+++ b/ext/node/polyfills/testing.ts
@@ -1,8 +1,7 @@
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
-// TODO(petamoriken): enable prefer-primordials for node polyfills
-// deno-lint-ignore-file prefer-primordials
-
+import { primordials } from "ext:core/mod.js";
+const { PromisePrototypeThen } = primordials;
import { notImplemented, warnNotImplemented } from "ext:deno_node/_utils.ts";
export function run() {
@@ -54,17 +53,20 @@ class NodeTestContext {
test(name, options, fn) {
const prepared = prepareOptions(name, options, fn, {});
- return this.#denoContext.step({
- name: prepared.name,
- fn: async (denoTestContext) => {
- const newNodeTextContext = new NodeTestContext(denoTestContext);
- await prepared.fn(newNodeTextContext);
- },
- ignore: prepared.options.todo || prepared.options.skip,
- sanitizeExit: false,
- sanitizeOps: false,
- sanitizeResources: false,
- }).then(() => undefined);
+ return PromisePrototypeThen(
+ this.#denoContext.step({
+ name: prepared.name,
+ fn: async (denoTestContext) => {
+ const newNodeTextContext = new NodeTestContext(denoTestContext);
+ await prepared.fn(newNodeTextContext);
+ },
+ ignore: prepared.options.todo || prepared.options.skip,
+ sanitizeExit: false,
+ sanitizeOps: false,
+ sanitizeResources: false,
+ }),
+ () => undefined,
+ );
}
before(_fn, _options) {
@@ -127,6 +129,8 @@ function wrapTestFn(fn, resolve) {
function prepareDenoTest(name, options, fn, overrides) {
const prepared = prepareOptions(name, options, fn, overrides);
+ // TODO(iuioiua): Update once there's a primordial for `Promise.withResolvers()`.
+ // deno-lint-ignore prefer-primordials
const { promise, resolve } = Promise.withResolvers();
const denoTestOptions = {