diff options
author | Kitson Kelly <me@kitsonkelly.com> | 2020-07-11 12:38:15 +1000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-07-10 22:38:15 -0400 |
commit | 40d081d3d9f64bcd2524da86fb78808ac1d7b888 (patch) | |
tree | 2232fda10c06d80d749f975b691974c506caa63d /cli/tests/unit/performance_test.ts | |
parent | d01eb6d9c506eef765fde8e40f9b90619b2ec83c (diff) |
feat: add performance user timing APIs (#6421)
Diffstat (limited to 'cli/tests/unit/performance_test.ts')
-rw-r--r-- | cli/tests/unit/performance_test.ts | 46 |
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); + }); +}); |