diff options
author | Divy Srivastava <dj.srivastava23@gmail.com> | 2023-02-17 18:48:09 +0530 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-02-17 18:48:09 +0530 |
commit | f8435d20b0e9408e50bfb24793becc0e476cc285 (patch) | |
tree | 221044e2b0dbc7bbabe0f12412ddedeb4daf4851 /cli/tests/unit_node/v8_test.ts | |
parent | 7ce1a68637840c5800d48abf275f4385c80f5658 (diff) |
feat(ext/node): implement `node:v8` (#17806)
Closes https://github.com/denoland/deno/issues/17115
Implements `cachedDataVersionTag` and `getHeapStatistics`.
Diffstat (limited to 'cli/tests/unit_node/v8_test.ts')
-rw-r--r-- | cli/tests/unit_node/v8_test.ts | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/cli/tests/unit_node/v8_test.ts b/cli/tests/unit_node/v8_test.ts new file mode 100644 index 000000000..ab1903596 --- /dev/null +++ b/cli/tests/unit_node/v8_test.ts @@ -0,0 +1,58 @@ +// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. +import { + cachedDataVersionTag, + getHeapStatistics, + setFlagsFromString, +} from "node:v8"; +import { + assertEquals, + assertThrows, +} from "../../../test_util/std/testing/asserts.ts"; + +// https://github.com/nodejs/node/blob/a2bbe5ff216bc28f8dac1c36a8750025a93c3827/test/parallel/test-v8-version-tag.js#L6 +Deno.test({ + name: "cachedDataVersionTag success", + fn() { + const tag = cachedDataVersionTag(); + assertEquals(typeof tag, "number"); + assertEquals(cachedDataVersionTag(), tag); + }, +}); + +// https://github.com/nodejs/node/blob/a2bbe5ff216bc28f8dac1c36a8750025a93c3827/test/parallel/test-v8-stats.js#L6 +Deno.test({ + name: "getHeapStatistics success", + fn() { + const s = getHeapStatistics(); + const keys = [ + "does_zap_garbage", + "external_memory", + "heap_size_limit", + "malloced_memory", + "number_of_detached_contexts", + "number_of_native_contexts", + "peak_malloced_memory", + "total_available_size", + "total_global_handles_size", + "total_heap_size", + "total_heap_size_executable", + "total_physical_size", + "used_global_handles_size", + "used_heap_size", + ]; + assertEquals(Object.keys(s).sort(), keys); + for (const k of keys) { + assertEquals( + typeof (s as unknown as Record<string, unknown>)[k], + "number", + ); + } + }, +}); + +Deno.test({ + name: "setFlagsFromString throws", + fn() { + assertThrows(() => setFlagsFromString("--allow_natives_syntax")); + }, +}); |