1
1
'use strict' ;
2
- var common = require ( '../common' ) ;
3
- var assert = require ( 'assert' ) ;
4
- var events = require ( 'events' ) ;
2
+ const common = require ( '../common' ) ;
3
+ const assert = require ( 'assert' ) ;
4
+ const events = require ( 'events' ) ;
5
5
6
6
7
7
function expect ( expected ) {
8
- var actual = [ ] ;
8
+ const actual = [ ] ;
9
9
process . on ( 'exit' , function ( ) {
10
10
assert . deepStrictEqual ( actual . sort ( ) , expected . sort ( ) ) ;
11
11
} ) ;
@@ -17,56 +17,63 @@ function expect(expected) {
17
17
18
18
function listener ( ) { }
19
19
20
- var e1 = new events . EventEmitter ( ) ;
21
- e1 . on ( 'foo' , listener ) ;
22
- e1 . on ( 'bar' , listener ) ;
23
- e1 . on ( 'baz' , listener ) ;
24
- e1 . on ( 'baz' , listener ) ;
25
- var fooListeners = e1 . listeners ( 'foo' ) ;
26
- var barListeners = e1 . listeners ( 'bar' ) ;
27
- var bazListeners = e1 . listeners ( 'baz' ) ;
28
- e1 . on ( 'removeListener' , expect ( [ 'bar' , 'baz' , 'baz' ] ) ) ;
29
- e1 . removeAllListeners ( 'bar' ) ;
30
- e1 . removeAllListeners ( 'baz' ) ;
31
- assert . deepStrictEqual ( e1 . listeners ( 'foo' ) , [ listener ] ) ;
32
- assert . deepStrictEqual ( e1 . listeners ( 'bar' ) , [ ] ) ;
33
- assert . deepStrictEqual ( e1 . listeners ( 'baz' ) , [ ] ) ;
34
- // after calling removeAllListeners,
35
- // the old listeners array should stay unchanged
36
- assert . deepStrictEqual ( fooListeners , [ listener ] ) ;
37
- assert . deepStrictEqual ( barListeners , [ listener ] ) ;
38
- assert . deepStrictEqual ( bazListeners , [ listener , listener ] ) ;
39
- // after calling removeAllListeners,
40
- // new listeners arrays are different from the old
41
- assert . notEqual ( e1 . listeners ( 'bar' ) , barListeners ) ;
42
- assert . notEqual ( e1 . listeners ( 'baz' ) , bazListeners ) ;
20
+ {
21
+ const ee = new events . EventEmitter ( ) ;
22
+ ee . on ( 'foo' , listener ) ;
23
+ ee . on ( 'bar' , listener ) ;
24
+ ee . on ( 'baz' , listener ) ;
25
+ ee . on ( 'baz' , listener ) ;
26
+ const fooListeners = ee . listeners ( 'foo' ) ;
27
+ const barListeners = ee . listeners ( 'bar' ) ;
28
+ const bazListeners = ee . listeners ( 'baz' ) ;
29
+ ee . on ( 'removeListener' , expect ( [ 'bar' , 'baz' , 'baz' ] ) ) ;
30
+ ee . removeAllListeners ( 'bar' ) ;
31
+ ee . removeAllListeners ( 'baz' ) ;
32
+ assert . deepStrictEqual ( ee . listeners ( 'foo' ) , [ listener ] ) ;
33
+ assert . deepStrictEqual ( ee . listeners ( 'bar' ) , [ ] ) ;
34
+ assert . deepStrictEqual ( ee . listeners ( 'baz' ) , [ ] ) ;
35
+ // After calling removeAllListeners(),
36
+ // the old listeners array should stay unchanged.
37
+ assert . deepStrictEqual ( fooListeners , [ listener ] ) ;
38
+ assert . deepStrictEqual ( barListeners , [ listener ] ) ;
39
+ assert . deepStrictEqual ( bazListeners , [ listener , listener ] ) ;
40
+ // After calling removeAllListeners(),
41
+ // new listeners arrays is different from the old.
42
+ assert . notEqual ( ee . listeners ( 'bar' ) , barListeners ) ;
43
+ assert . notEqual ( ee . listeners ( 'baz' ) , bazListeners ) ;
44
+ }
43
45
44
- var e2 = new events . EventEmitter ( ) ;
45
- e2 . on ( 'foo' , listener ) ;
46
- e2 . on ( 'bar' , listener ) ;
47
- // expect LIFO order
48
- e2 . on ( 'removeListener' , expect ( [ 'foo' , 'bar' , 'removeListener' ] ) ) ;
49
- e2 . on ( 'removeListener' , expect ( [ 'foo' , 'bar' ] ) ) ;
50
- e2 . removeAllListeners ( ) ;
51
- console . error ( e2 ) ;
52
- assert . deepStrictEqual ( [ ] , e2 . listeners ( 'foo' ) ) ;
53
- assert . deepStrictEqual ( [ ] , e2 . listeners ( 'bar' ) ) ;
46
+ {
47
+ const ee = new events . EventEmitter ( ) ;
48
+ ee . on ( 'foo' , listener ) ;
49
+ ee . on ( 'bar' , listener ) ;
50
+ // Expect LIFO order
51
+ ee . on ( 'removeListener' , expect ( [ 'foo' , 'bar' , 'removeListener' ] ) ) ;
52
+ ee . on ( 'removeListener' , expect ( [ 'foo' , 'bar' ] ) ) ;
53
+ ee . removeAllListeners ( ) ;
54
+ assert . deepStrictEqual ( [ ] , ee . listeners ( 'foo' ) ) ;
55
+ assert . deepStrictEqual ( [ ] , ee . listeners ( 'bar' ) ) ;
56
+ }
54
57
55
- var e3 = new events . EventEmitter ( ) ;
56
- e3 . on ( 'removeListener' , listener ) ;
57
- // check for regression where removeAllListeners throws when
58
- // there exists a removeListener listener, but there exists
59
- // no listeners for the provided event type
60
- assert . doesNotThrow ( e3 . removeAllListeners . bind ( e3 , 'foo' ) ) ;
58
+ {
59
+ const ee = new events . EventEmitter ( ) ;
60
+ ee . on ( 'removeListener' , listener ) ;
61
+ // Check for regression where removeAllListeners() throws when
62
+ // there exists a 'removeListener' listener, but there exists
63
+ // no listeners for the provided event type.
64
+ assert . doesNotThrow ( ee . removeAllListeners . bind ( ee , 'foo' ) ) ;
65
+ }
61
66
62
- var e4 = new events . EventEmitter ( ) ;
63
- var expectLength = 2 ;
64
- e4 . on ( 'removeListener' , function ( name , listener ) {
65
- assert . equal ( expectLength -- , this . listeners ( 'baz' ) . length ) ;
66
- } ) ;
67
- e4 . on ( 'baz' , function ( ) { } ) ;
68
- e4 . on ( 'baz' , function ( ) { } ) ;
69
- e4 . on ( 'baz' , function ( ) { } ) ;
70
- assert . equal ( e4 . listeners ( 'baz' ) . length , expectLength + 1 ) ;
71
- e4 . removeAllListeners ( 'baz' ) ;
72
- assert . equal ( e4 . listeners ( 'baz' ) . length , 0 ) ;
67
+ {
68
+ const ee = new events . EventEmitter ( ) ;
69
+ var expectLength = 2 ;
70
+ ee . on ( 'removeListener' , function ( name , listener ) {
71
+ assert . strictEqual ( expectLength -- , this . listeners ( 'baz' ) . length ) ;
72
+ } ) ;
73
+ ee . on ( 'baz' , function ( ) { } ) ;
74
+ ee . on ( 'baz' , function ( ) { } ) ;
75
+ ee . on ( 'baz' , function ( ) { } ) ;
76
+ assert . strictEqual ( ee . listeners ( 'baz' ) . length , expectLength + 1 ) ;
77
+ ee . removeAllListeners ( 'baz' ) ;
78
+ assert . strictEqual ( ee . listeners ( 'baz' ) . length , 0 ) ;
79
+ }
0 commit comments