@@ -1202,6 +1202,47 @@ for (let i = 0; i < 12; i++) {
12021202    fi . emit ( 'data' ,  'Node.js\n' ) ; 
12031203  } 
12041204
1205+   // Call write after close 
1206+   { 
1207+     const  [ rli ,  fi ]  =  getInterface ( {  terminal } ) ; 
1208+     rli . question ( 'What\'s your name?' ,  common . mustCall ( ( name )  =>  { 
1209+       assert . strictEqual ( name ,  'Node.js' ) ; 
1210+       rli . close ( ) ; 
1211+       assert . throws ( ( )  =>  { 
1212+         rli . write ( 'I said Node.js' ) ; 
1213+       } ,  { 
1214+         name : 'Error' , 
1215+         code : 'ERR_USE_AFTER_CLOSE' 
1216+       } ) ; 
1217+     } ) ) ; 
1218+     fi . emit ( 'data' ,  'Node.js\n' ) ; 
1219+   } 
1220+ 
1221+   // Call pause/resume after close 
1222+   { 
1223+     const  [ rli ,  fi ]  =  getInterface ( {  terminal } ) ; 
1224+     rli . question ( 'What\'s your name?' ,  common . mustCall ( ( name )  =>  { 
1225+       assert . strictEqual ( name ,  'Node.js' ) ; 
1226+       rli . close ( ) ; 
1227+       // No 'resume' nor 'pause' event should be emitted after close 
1228+       rli . on ( 'resume' ,  common . mustNotCall ( ) ) ; 
1229+       rli . on ( 'pause' ,  common . mustNotCall ( ) ) ; 
1230+       assert . throws ( ( )  =>  { 
1231+         rli . pause ( ) ; 
1232+       } ,  { 
1233+         name : 'Error' , 
1234+         code : 'ERR_USE_AFTER_CLOSE' 
1235+       } ) ; 
1236+       assert . throws ( ( )  =>  { 
1237+         rli . resume ( ) ; 
1238+       } ,  { 
1239+         name : 'Error' , 
1240+         code : 'ERR_USE_AFTER_CLOSE' 
1241+       } ) ; 
1242+     } ) ) ; 
1243+     fi . emit ( 'data' ,  'Node.js\n' ) ; 
1244+   } 
1245+ 
12051246  // Can create a new readline Interface with a null output argument 
12061247  { 
12071248    const  [ rli ,  fi ]  =  getInterface ( {  output : null ,  terminal } ) ; 
0 commit comments