@@ -16,54 +16,70 @@ class NeverEndReadable extends Readable {
16
16
_read ( ) { }
17
17
}
18
18
19
- const dest1 = new NullWriteable ( ) ;
20
- dest1 . on ( 'pipe' , common . mustCall ( ( ) => { } ) ) ;
21
- dest1 . on ( 'unpipe' , common . mustCall ( ( ) => { } ) ) ;
22
- const src1 = new QuickEndReadable ( ) ;
23
- src1 . pipe ( dest1 ) ;
24
-
25
-
26
- const dest2 = new NullWriteable ( ) ;
27
- dest2 . on ( 'pipe' , common . mustCall ( ( ) => { } ) ) ;
28
- dest2 . on ( 'unpipe' , ( ) => {
29
- throw new Error ( 'unpipe should not have been emited' ) ;
30
- } ) ;
31
- const src2 = new NeverEndReadable ( ) ;
32
- src2 . pipe ( dest2 ) ;
19
+ {
20
+ const dest = new NullWriteable ( ) ;
21
+ const src = new QuickEndReadable ( ) ;
22
+ dest . on ( 'pipe' , common . mustCall ( ) ) ;
23
+ dest . on ( 'unpipe' , common . mustCall ( ) ) ;
24
+ src . pipe ( dest ) ;
25
+ setImmediate ( ( ) => {
26
+ assert . strictEqual ( src . _readableState . pipesCount , 0 ) ;
27
+ } ) ;
28
+ }
33
29
34
- const dest3 = new NullWriteable ( ) ;
35
- dest3 . on ( 'pipe' , common . mustCall ( ( ) => { } ) ) ;
36
- dest3 . on ( 'unpipe' , common . mustCall ( ( ) => { } ) ) ;
37
- const src3 = new NeverEndReadable ( ) ;
38
- src3 . pipe ( dest3 ) ;
39
- src3 . unpipe ( dest3 ) ;
30
+ {
31
+ const dest = new NullWriteable ( ) ;
32
+ const src = new NeverEndReadable ( ) ;
33
+ dest . on ( 'pipe' , common . mustCall ( ) ) ;
34
+ dest . on ( 'unpipe' , common . mustNotCall ( 'unpipe should not have been emitted' ) ) ;
35
+ src . pipe ( dest ) ;
36
+ setImmediate ( ( ) => {
37
+ assert . strictEqual ( src . _readableState . pipesCount , 1 ) ;
38
+ } ) ;
39
+ }
40
40
41
- const dest4 = new NullWriteable ( ) ;
42
- dest4 . on ( 'pipe' , common . mustCall ( ( ) => { } ) ) ;
43
- dest4 . on ( 'unpipe' , common . mustCall ( ( ) => { } ) ) ;
44
- const src4 = new QuickEndReadable ( ) ;
45
- src4 . pipe ( dest4 , { end : false } ) ;
41
+ {
42
+ const dest = new NullWriteable ( ) ;
43
+ const src = new NeverEndReadable ( ) ;
44
+ dest . on ( 'pipe' , common . mustCall ( ) ) ;
45
+ dest . on ( 'unpipe' , common . mustCall ( ) ) ;
46
+ src . pipe ( dest ) ;
47
+ src . unpipe ( dest ) ;
48
+ setImmediate ( ( ) => {
49
+ assert . strictEqual ( src . _readableState . pipesCount , 0 ) ;
50
+ } ) ;
51
+ }
46
52
47
- const dest5 = new NullWriteable ( ) ;
48
- dest5 . on ( 'pipe' , common . mustCall ( ( ) => { } ) ) ;
49
- dest5 . on ( 'unpipe' , ( ) => {
50
- throw new Error ( 'unpipe should not have been emited' ) ;
51
- } ) ;
52
- const src5 = new NeverEndReadable ( ) ;
53
- src5 . pipe ( dest5 , { end : false } ) ;
53
+ {
54
+ const dest = new NullWriteable ( ) ;
55
+ const src = new QuickEndReadable ( ) ;
56
+ dest . on ( 'pipe' , common . mustCall ( ) ) ;
57
+ dest . on ( 'unpipe' , common . mustCall ( ) ) ;
58
+ src . pipe ( dest , { end : false } ) ;
59
+ setImmediate ( ( ) => {
60
+ assert . strictEqual ( src . _readableState . pipesCount , 0 ) ;
61
+ } ) ;
62
+ }
54
63
55
- const dest6 = new NullWriteable ( ) ;
56
- dest6 . on ( 'pipe' , common . mustCall ( ( ) => { } ) ) ;
57
- dest6 . on ( 'unpipe' , common . mustCall ( ( ) => { } ) ) ;
58
- const src6 = new NeverEndReadable ( ) ;
59
- src6 . pipe ( dest6 , { end : false } ) ;
60
- src6 . unpipe ( dest6 ) ;
64
+ {
65
+ const dest = new NullWriteable ( ) ;
66
+ const src = new NeverEndReadable ( ) ;
67
+ dest . on ( 'pipe' , common . mustCall ( ) ) ;
68
+ dest . on ( 'unpipe' , common . mustNotCall ( 'unpipe should not have been emitted' ) ) ;
69
+ src . pipe ( dest , { end : false } ) ;
70
+ setImmediate ( ( ) => {
71
+ assert . strictEqual ( src . _readableState . pipesCount , 1 ) ;
72
+ } ) ;
73
+ }
61
74
62
- setImmediate ( ( ) => {
63
- assert . strictEqual ( src1 . _readableState . pipesCount , 0 ) ;
64
- assert . strictEqual ( src2 . _readableState . pipesCount , 1 ) ;
65
- assert . strictEqual ( src3 . _readableState . pipesCount , 0 ) ;
66
- assert . strictEqual ( src4 . _readableState . pipesCount , 0 ) ;
67
- assert . strictEqual ( src5 . _readableState . pipesCount , 1 ) ;
68
- assert . strictEqual ( src6 . _readableState . pipesCount , 0 ) ;
69
- } ) ;
75
+ {
76
+ const dest = new NullWriteable ( ) ;
77
+ const src = new NeverEndReadable ( ) ;
78
+ dest . on ( 'pipe' , common . mustCall ( ) ) ;
79
+ dest . on ( 'unpipe' , common . mustCall ( ) ) ;
80
+ src . pipe ( dest , { end : false } ) ;
81
+ src . unpipe ( dest ) ;
82
+ setImmediate ( ( ) => {
83
+ assert . strictEqual ( src . _readableState . pipesCount , 0 ) ;
84
+ } ) ;
85
+ }
0 commit comments