summaryrefslogtreecommitdiff
path: root/cli/tests/unit/performance_test.ts
diff options
context:
space:
mode:
Diffstat (limited to 'cli/tests/unit/performance_test.ts')
-rw-r--r--cli/tests/unit/performance_test.ts46
1 files changed, 45 insertions, 1 deletions
diff --git a/cli/tests/unit/performance_test.ts b/cli/tests/unit/performance_test.ts
index 89b7cad8b..b7ade50a2 100644
--- a/cli/tests/unit/performance_test.ts
+++ b/cli/tests/unit/performance_test.ts
@@ -1,5 +1,10 @@
// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
-import { unitTest, assert, createResolvable } from "./test_util.ts";
+import {
+ unitTest,
+ assert,
+ assertEquals,
+ createResolvable,
+} from "./test_util.ts";
unitTest({ perms: { hrtime: false } }, async function performanceNow(): Promise<
void
@@ -13,3 +18,42 @@ unitTest({ perms: { hrtime: false } }, async function performanceNow(): Promise<
}, 10);
await resolvable;
});
+
+unitTest(function performanceMark() {
+ const mark = performance.mark("test");
+ assert(mark instanceof PerformanceMark);
+ assertEquals(mark.detail, null);
+ assertEquals(mark.name, "test");
+ assertEquals(mark.entryType, "mark");
+ assert(mark.startTime > 0);
+ assertEquals(mark.duration, 0);
+ const entries = performance.getEntries();
+ assert(entries[entries.length - 1] === mark);
+ const markEntries = performance.getEntriesByName("test", "mark");
+ assert(markEntries[markEntries.length - 1] === mark);
+});
+
+unitTest(function performanceMeasure() {
+ const mark = performance.mark("test");
+ return new Promise((resolve, reject) => {
+ setTimeout(() => {
+ try {
+ const measure = performance.measure("test", "test");
+ assert(measure instanceof PerformanceMeasure);
+ assertEquals(measure.detail, null);
+ assertEquals(measure.name, "test");
+ assertEquals(measure.entryType, "measure");
+ assert(measure.startTime > 0);
+ assertEquals(mark.startTime, measure.startTime);
+ assert(measure.duration >= 100 && measure.duration < 200);
+ const entries = performance.getEntries();
+ assert(entries[entries.length - 1] === measure);
+ const measureEntries = performance.getEntriesByName("test", "measure");
+ assert(measureEntries[measureEntries.length - 1] === measure);
+ } catch (e) {
+ return reject(e);
+ }
+ resolve();
+ }, 100);
+ });
+});