1 |
|
2 |
|
3 | var assert = require('assert');
|
4 |
|
5 |
|
6 | describe('All core Node.js integrations', function () {
|
7 | it('exist as expected', function () {
|
8 | assert(require);
|
9 | assert(module);
|
10 | assert(process);
|
11 | assert(setImmediate);
|
12 | assert(clearImmediate);
|
13 | assert.strictEqual(global, window);
|
14 | });
|
15 | });
|
16 |
|
17 | describe('setImmediate', function () {
|
18 | it('runs before `setTimeout`', function (done) {
|
19 |
|
20 | var setImmediateRan = false;
|
21 | setImmediate(function handleSetImmediate () {
|
22 | setImmediateRan = true;
|
23 | });
|
24 |
|
25 |
|
26 | setTimeout(function handleSetTimeout () {
|
27 | assert.strictEqual(setImmediateRan, true);
|
28 | done();
|
29 | }, 100);
|
30 | });
|
31 | });
|
32 |
|
33 | describe('clearImmediate', function () {
|
34 | it('clears an existing `setImmediate`', function (done) {
|
35 |
|
36 | var setImmediateRan = false;
|
37 | var setImmediateId = setImmediate(function handleSetImmediate () {
|
38 | setImmediateRan = true;
|
39 | });
|
40 |
|
41 |
|
42 | setTimeout(function handleSetTimeout () {
|
43 | assert.strictEqual(setImmediateRan, false);
|
44 | done();
|
45 | }, 100);
|
46 |
|
47 |
|
48 | clearImmediate(setImmediateId);
|
49 | });
|
50 | });
|