-
-
Notifications
You must be signed in to change notification settings - Fork 36.6k
Expand file tree
/
Copy pathtest-timers-this.js
More file actions
76 lines (55 loc) Β· 2.04 KB
/
Copy pathtest-timers-this.js
File metadata and controls
76 lines (55 loc) Β· 2.04 KB
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
var assert = require('assert');
var immediateThis, intervalThis, timeoutThis, intervalUnrefThis,
timeoutUnrefThis, immediateArgsThis, intervalArgsThis, timeoutArgsThis,
intervalUnrefArgsThis, timeoutUnrefArgsThis;
var immediateHandler = setImmediate(function () {
immediateThis = this;
});
var immediateArgsHandler = setImmediate(function () {
immediateArgsThis = this;
}, "args ...");
var intervalHandler = setInterval(function () {
clearInterval(intervalHandler);
intervalThis = this;
});
var intervalArgsHandler = setInterval(function () {
clearInterval(intervalArgsHandler);
intervalArgsThis = this;
}, 0, "args ...");
var intervalUnrefHandler = setInterval(function () {
clearInterval(intervalUnrefHandler);
intervalUnrefThis = this;
});
intervalUnrefHandler.unref();
var intervalUnrefArgsHandler = setInterval(function () {
clearInterval(intervalUnrefArgsHandler);
intervalUnrefArgsThis = this;
}, 0, "args ...");
intervalUnrefArgsHandler.unref();
var timeoutHandler = setTimeout(function () {
timeoutThis = this;
});
var timeoutArgsHandler = setTimeout(function () {
timeoutArgsThis = this;
}, 0, "args ...");
var timeoutUnrefHandler = setTimeout(function () {
timeoutUnrefThis = this;
});
timeoutUnrefHandler.unref();
var timeoutUnrefArgsHandler = setTimeout(function () {
timeoutUnrefArgsThis = this;
}, 0, "args ...");
timeoutUnrefArgsHandler.unref();
setTimeout(function() {}, 5);
process.once('exit', function () {
assert.strictEqual(immediateThis, immediateHandler);
assert.strictEqual(immediateArgsThis, immediateArgsHandler);
assert.strictEqual(intervalThis, intervalHandler);
assert.strictEqual(intervalArgsThis, intervalArgsHandler);
assert.strictEqual(intervalUnrefThis, intervalUnrefHandler);
assert.strictEqual(intervalUnrefArgsThis, intervalUnrefArgsHandler);
assert.strictEqual(timeoutThis, timeoutHandler);
assert.strictEqual(timeoutArgsThis, timeoutArgsHandler);
assert.strictEqual(timeoutUnrefThis, timeoutUnrefHandler);
assert.strictEqual(timeoutUnrefArgsThis, timeoutUnrefArgsHandler);
});