deno.land / std@0.166.0 / node / _tools / test / parallel / test-event-emitter-prepend.js
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051// deno-fmt-ignore-file// deno-lint-ignore-file
// Copyright Joyent and Node contributors. All rights reserved. MIT license.// Taken from Node 16.13.0// This file is automatically generated by "node/_tools/setup.ts". Do not modify this file manually
'use strict';
const common = require('../common');const EventEmitter = require('events');const assert = require('assert');
const myEE = new EventEmitter();let m = 0;// This one comes last.myEE.on('foo', common.mustCall(() => assert.strictEqual(m, 2)));
// This one comes second.myEE.prependListener('foo', common.mustCall(() => assert.strictEqual(m++, 1)));
// This one comes first.myEE.prependOnceListener('foo', common.mustCall(() => assert.strictEqual(m++, 0)));
myEE.emit('foo');
// Test fallback if prependListener is undefined.const stream = require('stream');
delete EventEmitter.prototype.prependListener;
function Writable() { this.writable = true; stream.Stream.call(this);}Object.setPrototypeOf(Writable.prototype, stream.Stream.prototype);Object.setPrototypeOf(Writable, stream.Stream);
function Readable() { this.readable = true; stream.Stream.call(this);}Object.setPrototypeOf(Readable.prototype, stream.Stream.prototype);Object.setPrototypeOf(Readable, stream.Stream);
// FIXME(bartlomieju):// const w = new Writable();// const r = new Readable();// r.pipe(w);
Version Info