%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
'use strict'; const common = require('../common'); const assert = require('assert'); const domain = require('domain'); const fs = require('fs'); const vm = require('vm'); process.on('warning', common.mustNotCall()); { const d = domain.create(); d.run(common.mustCall(() => { Promise.resolve().then(common.mustCall(() => { assert.strictEqual(process.domain, d); })); })); } { const d = domain.create(); d.run(common.mustCall(() => { Promise.resolve().then(() => {}).then(() => {}).then(common.mustCall(() => { assert.strictEqual(process.domain, d); })); })); } { const d = domain.create(); d.run(common.mustCall(() => { vm.runInNewContext(` const promise = Promise.resolve(); assert.strictEqual(promise.domain, undefined); promise.then(common.mustCall(() => { assert.strictEqual(process.domain, d); })); `, { common, assert, process, d }); })); } { const d1 = domain.create(); const d2 = domain.create(); let p; d1.run(common.mustCall(() => { p = Promise.resolve(42); })); d2.run(common.mustCall(() => { p.then(common.mustCall((v) => { assert.strictEqual(process.domain, d2); })); })); } { const d1 = domain.create(); const d2 = domain.create(); let p; d1.run(common.mustCall(() => { p = Promise.resolve(42); })); d2.run(common.mustCall(() => { p.then(d1.bind(common.mustCall((v) => { assert.strictEqual(process.domain, d1); }))); })); } { const d1 = domain.create(); const d2 = domain.create(); let p; d1.run(common.mustCall(() => { p = Promise.resolve(42); })); d1.run(common.mustCall(() => { d2.run(common.mustCall(() => { p.then(common.mustCall((v) => { assert.strictEqual(process.domain, d2); })); })); })); } { const d1 = domain.create(); const d2 = domain.create(); let p; d1.run(common.mustCall(() => { p = Promise.reject(new Error('foobar')); })); d2.run(common.mustCall(() => { p.catch(common.mustCall((v) => { assert.strictEqual(process.domain, d2); })); })); } { const d = domain.create(); d.run(common.mustCall(() => { Promise.resolve().then(common.mustCall(() => { setTimeout(common.mustCall(() => { assert.strictEqual(process.domain, d); }), 0); })); })); } { const d = domain.create(); d.run(common.mustCall(() => { Promise.resolve().then(common.mustCall(() => { fs.readFile(__filename, common.mustCall(() => { assert.strictEqual(process.domain, d); })); })); })); } { // Unhandled rejections become errors on the domain const d = domain.create(); d.on('error', common.mustCall((e) => { assert.strictEqual(e.message, 'foo'); })); d.run(common.mustCall(() => { Promise.reject(new Error('foo')); })); }