-
Notifications
You must be signed in to change notification settings - Fork 28.2k
/
test-inspector-session-post-promisified.js
61 lines (51 loc) · 1.42 KB
/
test-inspector-session-post-promisified.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
'use strict';
const common = require('../common');
common.skipIfInspectorDisabled();
const assert = require('assert');
const {
Session
} = require('inspector');
const {
basename
} = require('path');
const currentFilename = basename(__filename);
{
// Ensure that given a callback to session.post it won't return a promise result
const session = new Session();
session.connect();
const postResult = session.post('Profiler.enable', () => {
session.post('Profiler.start', () => {
session.post('Profiler.stop', (err, { profile }) => {
const { callFrame: { url } } = profile.nodes.find(({
callFrame
}) => callFrame.url.includes(currentFilename));
session.disconnect();
assert.deepStrictEqual(basename(url), currentFilename);
});
});
});
assert.strictEqual(postResult, undefined);
}
(async () => {
{
// Ensure that session.post returns a valid promisified result
const session = new Session();
session.connect();
await session.post('Profiler.enable');
await session.post('Profiler.start');
const {
profile
} = await session.post('Profiler.stop');
const {
callFrame: {
url
}
} = profile.nodes.find(({
callFrame
}) => {
return callFrame.url.includes(currentFilename);
});
session.disconnect();
assert.deepStrictEqual(basename(url), currentFilename);
}
})().then(common.mustCall());