| // Test basic functionality of timerify and PerformanceObserver. |
| 'use strict'; |
| |
| const common = require('../common'); |
| const assert = require('assert'); |
| const { timerify, PerformanceObserver } = require('perf_hooks'); |
| |
| // Verifies that `performance.timerify` is an alias of `perf_hooks.timerify`. |
| assert.strictEqual(performance.timerify, timerify); |
| |
| // Intentional non-op. Do not wrap in common.mustCall(); |
| const n = timerify(function noop() {}); |
| |
| const obs = new PerformanceObserver(common.mustCall((list) => { |
| const entries = list.getEntries(); |
| const entry = entries[0]; |
| assert(entry); |
| assert.strictEqual(entry.name, 'noop'); |
| assert.strictEqual(entry.entryType, 'function'); |
| assert.strictEqual(typeof entry.duration, 'number'); |
| assert.strictEqual(typeof entry.startTime, 'number'); |
| obs.disconnect(); |
| })); |
| obs.observe({ entryTypes: ['function'] }); |
| n(); |