File tree Expand file tree Collapse file tree 1 file changed +11
-3
lines changed Expand file tree Collapse file tree 1 file changed +11
-3
lines changed Original file line number Diff line number Diff line change @@ -730,10 +730,11 @@ describe("CliManager", () => {
730
730
content : string ,
731
731
options : { chunkSize ?: number ; delay ?: number } = { } ,
732
732
) : IncomingMessage {
733
- const { chunkSize = 8 , delay = 0 } = options ;
733
+ const { chunkSize = 8 , delay = 1 } = options ;
734
734
735
735
const buffer = Buffer . from ( content ) ;
736
736
let position = 0 ;
737
+ let closeCallback : ( ( ...args : unknown [ ] ) => void ) | null = null ;
737
738
738
739
return {
739
740
on : vi . fn ( ( event : string , callback : ( ...args : unknown [ ] ) => void ) => {
@@ -749,13 +750,20 @@ describe("CliManager", () => {
749
750
callback ( chunk ) ;
750
751
if ( position < buffer . length ) {
751
752
setTimeout ( sendChunk , delay ) ;
753
+ } else {
754
+ // All chunks sent - use setImmediate to ensure close happens
755
+ // after all synchronous operations and I/O callbacks complete
756
+ setImmediate ( ( ) => {
757
+ if ( closeCallback ) {
758
+ closeCallback ( ) ;
759
+ }
760
+ } ) ;
752
761
}
753
762
}
754
763
} ;
755
764
setTimeout ( sendChunk , delay ) ;
756
765
} else if ( event === "close" ) {
757
- // Just close after a delay
758
- setTimeout ( ( ) => callback ( ) , 10 ) ;
766
+ closeCallback = callback ;
759
767
}
760
768
} ) ,
761
769
destroy : vi . fn ( ) ,
You can’t perform that action at this time.
0 commit comments