11cb0ef41Sopenharmony_ci'use strict';
21cb0ef41Sopenharmony_ci
31cb0ef41Sopenharmony_ciconst common = require('../common');
41cb0ef41Sopenharmony_ciconst EventEmitter = require('events');
51cb0ef41Sopenharmony_ciconst assert = require('assert');
61cb0ef41Sopenharmony_ci
71cb0ef41Sopenharmony_ciconst ee = new EventEmitter();
81cb0ef41Sopenharmony_ciconst handler = () => {};
91cb0ef41Sopenharmony_ci
101cb0ef41Sopenharmony_ciassert.deepStrictEqual(ee.eventNames(), []);
111cb0ef41Sopenharmony_ci
121cb0ef41Sopenharmony_ciassert.strictEqual(ee._events.hasOwnProperty, undefined);
131cb0ef41Sopenharmony_ciassert.strictEqual(ee._events.toString, undefined);
141cb0ef41Sopenharmony_ci
151cb0ef41Sopenharmony_ciee.on('__proto__', handler);
161cb0ef41Sopenharmony_ciee.on('__defineGetter__', handler);
171cb0ef41Sopenharmony_ciee.on('toString', handler);
181cb0ef41Sopenharmony_ci
191cb0ef41Sopenharmony_ciassert.deepStrictEqual(ee.eventNames(), [
201cb0ef41Sopenharmony_ci  '__proto__',
211cb0ef41Sopenharmony_ci  '__defineGetter__',
221cb0ef41Sopenharmony_ci  'toString',
231cb0ef41Sopenharmony_ci]);
241cb0ef41Sopenharmony_ci
251cb0ef41Sopenharmony_ciassert.deepStrictEqual(ee.listeners('__proto__'), [handler]);
261cb0ef41Sopenharmony_ciassert.deepStrictEqual(ee.listeners('__defineGetter__'), [handler]);
271cb0ef41Sopenharmony_ciassert.deepStrictEqual(ee.listeners('toString'), [handler]);
281cb0ef41Sopenharmony_ci
291cb0ef41Sopenharmony_ciee.on('__proto__', common.mustCall(function(val) {
301cb0ef41Sopenharmony_ci  assert.strictEqual(val, 1);
311cb0ef41Sopenharmony_ci}));
321cb0ef41Sopenharmony_ciee.emit('__proto__', 1);
331cb0ef41Sopenharmony_ci
341cb0ef41Sopenharmony_ciprocess.on('__proto__', common.mustCall(function(val) {
351cb0ef41Sopenharmony_ci  assert.strictEqual(val, 1);
361cb0ef41Sopenharmony_ci}));
371cb0ef41Sopenharmony_ciprocess.emit('__proto__', 1);
38