'use strict';varcommon=require('./common');varEventEmitter=require('../');varassert=require('assert');varmyEE=newEventEmitter();varm=0;// This one comes last.myEE.on('foo',common.mustCall(function(){assert.strictEqual(m,2);}));// This one comes second.myEE.prependListener('foo',common.mustCall(function(){assert.strictEqual(m++,1);}));// This one comes first.myEE.prependOnceListener('foo',common.mustCall(function(){assert.strictEqual(m++,0);}));myEE.emit('foo');// Verify that the listener must be a functionassert.throws(function(){varee=newEventEmitter();ee.prependOnceListener('foo',null);},'TypeError: The "listener" argument must be of type Function. Received type object');