Sha256: 684b12eae6f8c942af6ee14b1035f813ff80e73f37be5723c8790f0a949bf9f2

Contents?: true

Size: 1.39 KB

Versions: 32

Compression:

Stored size: 1.39 KB

Contents

'use strict';

var common = require('./common');
var EventEmitter = require('../');
var assert = require('assert');

var ee = new EventEmitter();
var handler = function() {};

assert.strictEqual(ee.eventNames().length, 0);

assert.strictEqual(ee._events.hasOwnProperty, undefined);
assert.strictEqual(ee._events.toString, undefined);

ee.on('__defineGetter__', handler);
ee.on('toString', handler);
ee.on('__proto__', handler);

assert.strictEqual(ee.eventNames()[0], '__defineGetter__');
assert.strictEqual(ee.eventNames()[1], 'toString');

assert.strictEqual(ee.listeners('__defineGetter__').length, 1);
assert.strictEqual(ee.listeners('__defineGetter__')[0], handler);
assert.strictEqual(ee.listeners('toString').length, 1);
assert.strictEqual(ee.listeners('toString')[0], handler);

// Only run __proto__ tests if that property can actually be set
if ({ __proto__: 'ok' }.__proto__ === 'ok') {
  assert.strictEqual(ee.eventNames().length, 3);
  assert.strictEqual(ee.eventNames()[2], '__proto__');
  assert.strictEqual(ee.listeners('__proto__').length, 1);
  assert.strictEqual(ee.listeners('__proto__')[0], handler);

  ee.on('__proto__', common.mustCall(function(val) {
    assert.strictEqual(val, 1);
  }));
  ee.emit('__proto__', 1);

  process.on('__proto__', common.mustCall(function(val) {
    assert.strictEqual(val, 1);
  }));
  process.emit('__proto__', 1);
} else {
  console.log('# skipped __proto__')
}

Version data entries

32 entries across 31 versions & 10 rubygems

Version Path
rapid_stack-0.2.0 templates/frontend/node_modules/events/tests/special-event-names.js
rapid_stack-0.1.1 templates/FrontEnd/node_modules/events/tests/special-event-names.js
rapid_stack-0.1.0 templates/FrontEnd/node_modules/events/tests/special-event-names.js
optimacms-0.1.61 spec/dummy/node_modules/events/tests/special-event-names.js
disco_app-0.18.0 test/dummy/node_modules/events/tests/special-event-names.js
disco_app-0.18.2 test/dummy/node_modules/events/tests/special-event-names.js
disco_app-0.16.1 test/dummy/node_modules/events/tests/special-event-names.js
disco_app-0.15.2 test/dummy/node_modules/events/tests/special-event-names.js
disco_app-0.18.4 test/dummy/node_modules/events/tests/special-event-names.js
disco_app-0.18.1 test/dummy/node_modules/events/tests/special-event-names.js
disco_app-0.12.7.pre.puma.pre.3 test/dummy/node_modules/events/tests/special-event-names.js
disco_app-0.14.0 test/dummy/node_modules/events/tests/special-event-names.js
disco_app-0.13.6.pre.puma.pre.3 test/dummy/node_modules/events/tests/special-event-names.js
tang-0.2.1 spec/tang_app/node_modules/events/tests/special-event-names.js
groonga-client-model-6.0.0 test/apps/rails6.1.3/node_modules/events/tests/special-event-names.js
groonga-client-model-6.0.0 test/apps/rails6.0.3.5/node_modules/events/tests/special-event-names.js
ruby2js-4.0.4 lib/tasks/testrails/node_modules/events/tests/special-event-names.js
ruby2js-4.0.3 lib/tasks/testrails/node_modules/events/tests/special-event-names.js
tang-0.2.0 spec/tang_app/node_modules/events/tests/special-event-names.js
tang-0.1.0 spec/tang_app/node_modules/events/tests/special-event-names.js