diff --git a/cli/tests/integration/node_unit_tests.rs b/cli/tests/integration/node_unit_tests.rs index d8ed0b00d4..58183e971f 100644 --- a/cli/tests/integration/node_unit_tests.rs +++ b/cli/tests/integration/node_unit_tests.rs @@ -68,6 +68,7 @@ util::unit_test_factory!( module_test, net_test, os_test, + perf_hooks_test, process_test, querystring_test, readline_test, diff --git a/cli/tests/unit_node/perf_hooks_test.ts b/cli/tests/unit_node/perf_hooks_test.ts new file mode 100644 index 0000000000..78375d54dc --- /dev/null +++ b/cli/tests/unit_node/perf_hooks_test.ts @@ -0,0 +1,41 @@ +// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. +import * as perfHooks from "node:perf_hooks"; +import { performance } from "node:perf_hooks"; +import { assertEquals } from "../../../test_util/std/testing/asserts.ts"; + +Deno.test({ + name: "[perf_hooks] performance", + fn() { + assertEquals(perfHooks.performance.measure, performance.measure); + assertEquals(perfHooks.performance.clearMarks, performance.clearMarks); + assertEquals(perfHooks.performance.mark, performance.mark); + assertEquals(perfHooks.performance.now, performance.now); + // @ts-ignore toJSON is not in Performance interface + assertEquals(perfHooks.performance.toJSON, performance.toJSON); + perfHooks.performance.measure("test"); + perfHooks.performance.mark("test"); + perfHooks.performance.clearMarks("test"); + perfHooks.performance.now(); + // @ts-ignore toJSON is not in Performance interface + perfHooks.performance.toJSON(); + }, +}); + +Deno.test({ + name: "[perf_hooks] performance destructured", + fn() { + performance.measure("test"); + performance.mark("test"); + performance.clearMarks("test"); + performance.now(); + // @ts-ignore toJSON is not in Performance interface + performance.toJSON(); + }, +}); + +Deno.test({ + name: "[perf_hooks] PerformanceEntry", + fn() { + assertEquals(perfHooks.PerformanceEntry, PerformanceEntry); + }, +});