cocalc/src / smc-project / node_modules / eventemitter2 / test / wildcardEvents / customDelimiter.js
50660 viewsvar simpleEvents = require('nodeunit').testCase;12var file = '../../lib/eventemitter2';34module.exports = simpleEvents({56setUp: function (callback) {7var EventEmitter2;89if(typeof require !== 'undefined') {10EventEmitter2 = require(file).EventEmitter2;11}12else {13EventEmitter2 = window.EventEmitter2;14}1516this.emitter = new EventEmitter2({17wildcard: true,18delimiter: '::'19});20callback();21},2223tearDown: function (callback) {24//clean up?25callback();26},2728'1. Add a single listener on a single event.': function (test) {2930var emitter = this.emitter;31var type = 'some::listener::bar';3233emitter.on(type, function () {34test.ok(true, 'The event was raised');35});3637test.equal(emitter.listeners(type).length, 1, 'There are three emitters');3839test.expect(1);40test.done();4142},4344'2. Add two listeners on a single event.': function (test) {4546var emitter = this.emitter;47var type = 'some::listener::bar';4849emitter.on(type, function () {50test.ok(true, 'The event was raised');51});5253emitter.on(type, function () {54test.ok(true, 'The event was raised');55});5657test.equal(emitter.listeners(type).length, 2, 'There are three emitters');5859test.expect(1);60test.done();6162},63'3. Add three listeners on a single event.': function (test) {6465var emitter = this.emitter;66var type = 'some::listener::bar';6768emitter.on(type, function () {69test.ok(true, 'The event was raised');70});7172emitter.on(type, function () {73test.ok(true, 'The event was raised');74});7576emitter.on(type, function () {77test.ok(true, 'The event was raised');78});7980test.equal(emitter.listeners(type).length, 3, 'There are three emitters');8182test.expect(1);83test.done();8485},86'4. Add two listeners to two different events.': function (test) {8788var emitter = this.emitter;89var type = 'some::listener::bar';9091emitter.on(type, function () {92test.ok(true, 'The event was raised');93});9495emitter.on(type, function () {96test.ok(true, 'The event was raised');97});9899emitter.on('test2', function () {100test.ok(true, 'The event was raised');101});102103emitter.on('test2', function () {104test.ok(true, 'The event was raised');105});106107test.equal(emitter.listeners(type).length, 2, 'There are two emitters');108test.equal(emitter.listeners('test2').length, 2, 'There are two emitters');109110test.expect(2);111test.done();112},113114'5. Never adding any listeners should yield a listeners array with the length of 0.': function (test) {115var emitter = this.emitter;116var type = 'some::listener::bar';117118emitter.on(type, function () {119test.ok(true, 'The event was raised');120});121122test.equal(emitter.listeners('test2').length, 0, 'There are no emitters');123124test.expect(1);125test.done();126},127128'6. the listener added should be the right listener.': function (test) {129var emitter = this.emitter;130var type = 'some::listener::bar';131var f = function () {};132133emitter.on(type, f);134test.equal(emitter.listeners(type).length, 1, 'There are is one emitters');135test.equal(emitter.listeners(type)[0], f, 'The function should be f');136137test.expect(2);138test.done();139140},141142'7. Listeners on *, *::*, *::test with emissions from foo::test and other::emit': function (test) {143var emitter = this.emitter;144var f = function () {145test.ok(true, 'the event was fired')146};147148emitter.on('*::test', f);149emitter.on('*::*', f);150emitter.on('*', f);151152emitter.emit('other::emit');153emitter.emit('foo::test');154155test.expect(3);156test.done();157},158159'8. Listeners on *, *::*, foo.test with emissions from *, *::* and foo.test': function (test) {160var emitter = this.emitter;161var f = function () {162test.ok(true, 'the event was fired')163};164165emitter.on('foo::test', f);166emitter.on('*::*', f);167emitter.on('*', f);168169emitter.emit('*::*');170emitter.emit('foo::test');171emitter.emit('*')172173test.expect(5);174test.done();175},176177'9. Listeners on **, **::*, **::test with emissions from foo::test and other::emit': function (test) {178var emitter = this.emitter;179var f = function () {180test.ok(true, 'the event was fired');181};182183emitter.on('**::test', f);184emitter.on('**::*', f);185emitter.on('**', f);186187emitter.emit('other::emit'); // 2188emitter.emit('foo::test'); // 3189190test.expect(5);191test.done();192},193194'10. Listeners on **, **::*, foo.test with emissions from **, **::* and foo.test': function (test) {195var emitter = this.emitter, i = 0;196var f = function (n) {197return function() {198//console.log(n, this.event);199test.ok(true, 'the event was fired');200};201};202203emitter.on('foo::test', f(i++));204emitter.on('**::*', f(i++));205emitter.on('**', f(i++));206207emitter.emit('**::*'); // 3208emitter.emit('foo::test'); // 3209emitter.emit('**'); // 3210211test.expect(9);212test.done();213}214215});216217218