| 'use strict'; |
| |
| const common = require('../common'); |
| const assert = require('assert'); |
| const domain = require('domain'); |
| |
| // This test is similar to test-domain-error-types, but uses a single domain |
| // to emit all errors. |
| |
| const d = new domain.Domain(); |
| |
| const values = [ |
| 42, null, undefined, false, () => {}, 'string', Symbol('foo'), |
| ]; |
| |
| d.on('error', common.mustCall((err) => { |
| assert(values.includes(err)); |
| }, values.length)); |
| |
| for (const something of values) { |
| d.run(common.mustCall(() => { |
| process.nextTick(common.mustCall(() => { |
| throw something; |
| })); |
| })); |
| } |