'use strict'; const common = require('../common'); const assert = require('assert'); const EventEmitter = require('events'); // Test emit called by other context const EE = new EventEmitter(); // Works as expected if the context has no `constructor.name` { const ctx = { __proto__: null }; assert.throws( () => EE.emit.call(ctx, 'error', new Error('foo')), common.expectsError({ name: 'Error', message: 'foo' }) ); } assert.strictEqual(EE.emit.call({}, 'foo'), false);