@@ -16,54 +16,70 @@ class NeverEndReadable extends Readable {
1616 _read ( ) { }
1717}
1818
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+ }
3329
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+ }
4040
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+ }
4652
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+ }
5463
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+ }
6174
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