| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- /*!
- * socket.io-node
- * Copyright(c) 2011 LearnBoost <dev@learnboost.com>
- * MIT Licensed
- */
- (function (module, io, should) {
- module.exports = {
- 'add listeners': function () {
- var event = new io.EventEmitter
- , calls = 0;
- event.on('test', function (a, b) {
- ++calls;
- a.should().eql('a');
- b.should().eql('b');
- });
- event.emit('test', 'a', 'b');
- calls.should().eql(1);
- event.on.should().eql(event.addListener);
- },
- 'remove listener': function () {
- var event = new io.EventEmitter;
- function empty () { }
- event.on('test', empty);
- event.on('test:more', empty);
- event.removeAllListeners('test');
- event.listeners('test').should().eql([]);
- event.listeners('test:more').should().eql([empty]);
- },
- 'remove all listeners with no arguments': function () {
- var event = new io.EventEmitter;
- function empty () { }
- event.on('test', empty);
- event.on('test:more', empty);
- event.removeAllListeners();
- event.listeners('test').should().eql([]);
- event.listeners('test:more').should().eql([]);
- },
- 'remove listeners functions': function () {
- var event = new io.EventEmitter
- , calls = 0;
- function one () { ++calls }
- function two () { ++calls }
- function three () { ++calls }
- event.on('one', one);
- event.removeListener('one', one);
- event.listeners('one').should().eql([]);
- event.on('two', two);
- event.removeListener('two', one);
- event.listeners('two').should().eql([two]);
- event.on('three', three);
- event.on('three', two);
- event.removeListener('three', three);
- event.listeners('three').should().eql([two]);
- },
- 'number of arguments': function () {
- var event = new io.EventEmitter
- , number = [];
- event.on('test', function () {
- number.push(arguments.length);
- });
- event.emit('test');
- event.emit('test', null);
- event.emit('test', null, null);
- event.emit('test', null, null, null);
- event.emit('test', null, null, null, null);
- event.emit('test', null, null, null, null, null);
- [0, 1, 2, 3, 4, 5].should().eql(number);
- },
- 'once': function () {
- var event = new io.EventEmitter
- , calls = 0;
- event.once('test', function (a, b) {
- ++calls;
- });
- event.emit('test', 'a', 'b');
- event.emit('test', 'a', 'b');
- event.emit('test', 'a', 'b');
- function removed () {
- should().fail('not removed');
- };
- event.once('test:removed', removed);
- event.removeListener('test:removed', removed);
- event.emit('test:removed');
- calls.should().eql(1);
- }
- };
- })(
- 'undefined' == typeof module ? module = {} : module
- , 'undefined' == typeof io ? require('socket.io-client') : io
- , 'undefined' == typeof should || !should.fail ? require('should') : should
- );
|