You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
833 B
31 lines
833 B
'use strict'; |
|
|
|
var common = require('./common'); |
|
var EventEmitter = require('../'); |
|
var assert = require('assert'); |
|
|
|
var myEE = new EventEmitter(); |
|
var m = 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 function |
|
assert.throws(function () { |
|
var ee = new EventEmitter(); |
|
ee.prependOnceListener('foo', null); |
|
}, 'TypeError: The "listener" argument must be of type Function. Received type object');
|
|
|