File: symbol.js

package info (click to toggle)
node-eventemitter2 6.4.3-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 452 kB
  • sloc: javascript: 4,559; makefile: 13
file content (46 lines) | stat: -rw-r--r-- 1,215 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
var assert= require('assert');

var file = '../../lib/eventemitter2';
var EventEmitter2;

if(typeof require !== 'undefined') {
    EventEmitter2 = require(file).EventEmitter2;
}
else {
    EventEmitter2 = window.EventEmitter2;
}

module.exports= {
    'should support symbol keys for plain events': function(test){
        var counter= 0;
        var ee= new EventEmitter2();
        var event= Symbol('event');
        var handler= function(){
            counter++;
        };
        ee.on(event, handler);
        assert.equal(ee.listenerCount(), 1);
        ee.emit(event);
        assert.equal(counter, 1);
        ee.off(event, handler);
        ee.emit(event);
        assert.equal(counter, 1);
        assert.equal(ee.listenerCount(), 0);
        test.done();
    },

    'should support symbol namespace for wildcard events': function(test){
        var counter= 0;
        var symbol= Symbol('test');
        var ee= new EventEmitter2({
            wildcard: true
        });
        ee.on(['event', symbol], function(value){
            counter++;
            assert.equal(value, 123);
        });
        ee.emit(['event', symbol], 123);
        assert.equal(counter, 1);
        test.done();
    }
};