diff options
Diffstat (limited to 'node_modules/ultron/test.js')
-rw-r--r-- | node_modules/ultron/test.js | 327 |
1 files changed, 0 insertions, 327 deletions
diff --git a/node_modules/ultron/test.js b/node_modules/ultron/test.js deleted file mode 100644 index 1fd4f1bb5..000000000 --- a/node_modules/ultron/test.js +++ /dev/null @@ -1,327 +0,0 @@ -/* istanbul ignore next */ -describe('Ultron', function () { - 'use strict'; - - var EventEmitter = require('eventemitter3') - , EE = require('events').EventEmitter - , assume = require('assume') - , Ultron = require('./') - , ultron - , ee; - - beforeEach(function () { - ee = new EventEmitter(); - ultron = new Ultron(ee); - }); - - afterEach(function () { - ultron.destroy(); - ee.removeAllListeners(); - }); - - it('is exposed as a function', function () { - assume(Ultron).is.a('function'); - }); - - it('can be initialized without the new keyword', function () { - assume(Ultron(ee)).is.instanceOf(Ultron); - }); - - it('assigns a unique id to every instance', function () { - for (var i = 0; i < 100; i++) { - assume(ultron.id).does.not.equal((new Ultron()).id); - } - }); - - it('allows removal through the event emitter', function () { - function foo() {} - function bar() {} - - ultron.on('foo', foo); - ultron.once('foo', bar); - - assume(foo.__ultron).equals(ultron.id); - assume(bar.__ultron).equals(ultron.id); - assume(ee.listeners('foo').length).equals(2); - - ee.removeListener('foo', foo); - assume(ee.listeners('foo').length).equals(1); - - ee.removeListener('foo', bar); - assume(ee.listeners('foo').length).equals(0); - }); - - describe('#on', function () { - it('assigns a listener', function () { - assume(ee.listeners('foo').length).equals(0); - - function foo() {} - - ultron.on('foo', foo); - assume(ee.listeners('foo').length).equals(1); - assume(ee.listeners('foo')[0]).equals(foo); - }); - - it('tags the assigned function', function () { - assume(ee.listeners('foo').length).equals(0); - - ultron.on('foo', function () {}); - assume(ee.listeners('foo')[0].__ultron).equals(ultron.id); - }); - - it('also passes in the context', function (next) { - var context = 1313; - - ultron.on('foo', function (a, b, c) { - assume(a).equals('a'); - assume(b).equals('b'); - assume(c).equals('c'); - - assume(this).equals(context); - - next(); - }, context); - - ee.emit('foo', 'a', 'b', 'c'); - }); - - it('works with regular eventemitters as well', function (next) { - var ee = new EE() - , ultron = new Ultron(ee); - - ultron.on('foo', function (a, b, c) { - assume(a).equals('a'); - assume(b).equals('b'); - assume(c).equals('c'); - - next(); - }); - - ee.emit('foo', 'a', 'b', 'c'); - }); - }); - - describe('#once', function () { - it('assigns a listener', function () { - assume(ee.listeners('foo').length).equals(0); - - function foo() {} - ultron.once('foo', foo); - assume(ee.listeners('foo').length).equals(1); - assume(ee.listeners('foo')[0]).equals(foo); - }); - - it('tags the assigned function', function () { - assume(ee.listeners('foo').length).equals(0); - - ultron.once('foo', function () {}); - assume(ee.listeners('foo')[0].__ultron).equals(ultron.id); - }); - - it('also passes in the context', function (next) { - var context = 1313; - - ultron.once('foo', function (a, b, c) { - assume(a).equals('a'); - assume(b).equals('b'); - assume(c).equals('c'); - - assume(this).equals(context); - - next(); - }, context); - - ee.emit('foo', 'a', 'b', 'c'); - ee.emit('foo', 'a', 'b', 'c'); // Ensure that we don't double execute - }); - - it('works with regular eventemitters as well', function (next) { - var ee = new EE() - , ultron = new Ultron(ee); - - ultron.once('foo', function (a, b, c) { - assume(a).equals('a'); - assume(b).equals('b'); - assume(c).equals('c'); - - next(); - }); - - ee.emit('foo', 'a', 'b', 'c'); - ee.emit('foo', 'a', 'b', 'c'); // Ensure that we don't double execute - }); - }); - - describe('#remove', function () { - it('removes only our assigned `on` listeners', function () { - function foo() {} - function bar() {} - - ee.on('foo', foo); - ultron.on('foo', bar); - assume(ee.listeners('foo').length).equals(2); - - ultron.remove('foo'); - assume(ee.listeners('foo').length).equals(1); - assume(ee.listeners('foo')[0]).equals(foo); - }); - - it('removes our private __ultron references', function () { - function once() {} - function on() {} - - assume('__ultron' in once).is.false(); - assume('__ultron' in on).is.false(); - - ultron.on('foo', on); - ultron.once('bar', once); - - assume('__ultron' in once).is.true(); - assume('__ultron' in on).is.true(); - - ultron.remove('foo, bar'); - - assume('__ultron' in once).is.false(); - assume('__ultron' in on).is.false(); - - ultron.destroy(); - - ee = new EE(); - ultron = new Ultron(ee); - - assume('__ultron' in once).is.false(); - assume('__ultron' in on).is.false(); - - ultron.on('foo', on); - ultron.once('bar', once); - - assume('__ultron' in once).is.true(); - assume('__ultron' in on).is.true(); - - ultron.remove('foo, bar'); - - assume('__ultron' in once).is.false(); - assume('__ultron' in on).is.false(); - }); - - it('removes only our assigned `once` listeners', function () { - function foo() {} - function bar() {} - - ee.once('foo', foo); - ultron.once('foo', bar); - assume(ee.listeners('foo').length).equals(2); - - ultron.remove('foo'); - assume(ee.listeners('foo').length).equals(1); - assume(ee.listeners('foo')[0]).equals(foo); - }); - - it('removes only our assigned `once` listeners from regular EE', function () { - var ee = new EE() - , ultron = new Ultron(ee); - - function foo() {} - function bar() {} - - ee.once('foo', foo); - ultron.once('foo', bar); - assume(ee.listeners('foo').length).equals(2); - - ultron.remove('foo'); - assume(ee.listeners('foo').length).equals(1); - assume(ee.listeners('foo')[0].listener).equals(foo); - }); - - it('removes all assigned events if called without args', function () { - function foo() {} - function bar() {} - - ultron.on('foo', foo); - ultron.on('bar', bar); - - assume(ee.listeners('foo').length).equals(1); - assume(ee.listeners('bar').length).equals(1); - - ultron.remove(); - - assume(ee.listeners('foo').length).equals(0); - assume(ee.listeners('bar').length).equals(0); - }); - - it('removes multiple listeners based on args', function () { - function foo() {} - function bar() {} - function baz() {} - - ultron.on('foo', foo); - ultron.on('bar', bar); - ultron.on('baz', baz); - - assume(ee.listeners('foo').length).equals(1); - assume(ee.listeners('bar').length).equals(1); - assume(ee.listeners('baz').length).equals(1); - - ultron.remove('foo', 'bar'); - - assume(ee.listeners('foo').length).equals(0); - assume(ee.listeners('bar').length).equals(0); - assume(ee.listeners('baz').length).equals(1); - }); - - it('removes multiple listeners if first arg is seperated string', function () { - function foo() {} - function bar() {} - function baz() {} - - ultron.on('foo', foo); - ultron.on('bar', bar); - ultron.on('baz', baz); - - assume(ee.listeners('foo').length).equals(1); - assume(ee.listeners('bar').length).equals(1); - assume(ee.listeners('baz').length).equals(1); - - ultron.remove('foo, bar'); - - assume(ee.listeners('foo').length).equals(0); - assume(ee.listeners('bar').length).equals(0); - assume(ee.listeners('baz').length).equals(1); - }); - }); - - describe('#destroy', function () { - it('removes all listeners', function () { - function foo() {} - function bar() {} - function baz() {} - - ultron.on('foo', foo); - ultron.on('bar', bar); - ultron.on('baz', baz); - - assume(ee.listeners('foo').length).equals(1); - assume(ee.listeners('bar').length).equals(1); - assume(ee.listeners('baz').length).equals(1); - - ultron.destroy(); - - assume(ee.listeners('foo').length).equals(0); - assume(ee.listeners('bar').length).equals(0); - assume(ee.listeners('baz').length).equals(0); - }); - - it('removes the .ee reference', function () { - assume(ultron.ee).equals(ee); - ultron.destroy(); - assume(ultron.ee).equals(null); - }); - - it('returns booleans for state indication', function () { - assume(ultron.destroy()).is.true(); - assume(ultron.destroy()).is.false(); - assume(ultron.destroy()).is.false(); - assume(ultron.destroy()).is.false(); - }); - }); -}); |