1'use strict'; 2const common = require('../common'); 3const fs = require('fs'); 4const readline = require('readline'); 5const path = require('path'); 6 7async function processLineByLine_SymbolAsyncError(filename) { 8 const fileStream = fs.createReadStream(filename); 9 const rl = readline.createInterface({ 10 input: fileStream, 11 crlfDelay: Infinity 12 }); 13 // eslint-disable-next-line no-unused-vars 14 for await (const line of rl) { 15 /* check SymbolAsyncIterator `errorListener` */ 16 } 17} 18 19const f = path.join(__dirname, 'file.txt'); 20 21// catch-able SymbolAsyncIterator `errorListener` error 22processLineByLine_SymbolAsyncError(f).catch(common.expectsError({ 23 code: 'ENOENT', 24 message: `ENOENT: no such file or directory, open '${f}'` 25})); 26 27async function processLineByLine_InterfaceErrorEvent(filename) { 28 const fileStream = fs.createReadStream(filename); 29 const rl = readline.createInterface({ 30 input: fileStream, 31 crlfDelay: Infinity 32 }); 33 rl.on('error', common.expectsError({ 34 code: 'ENOENT', 35 message: `ENOENT: no such file or directory, open '${f}'` 36 })); 37} 38 39// check Interface 'error' event 40processLineByLine_InterfaceErrorEvent(f); 41