Skip to content

Commit

Permalink
test: add failing test for nodejs#45992
Browse files Browse the repository at this point in the history
  • Loading branch information
alecmev committed Jan 3, 2023
1 parent 3a44f9a commit bc4e733
Showing 1 changed file with 40 additions and 0 deletions.
40 changes: 40 additions & 0 deletions test/known_issues/test-readline-big-file-carriage-return.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
'use strict';

// Context: https://github.com/nodejs/node/issues/45992

const assert = require('assert');
const fs = require('fs');
const readline = require('readline');

const tmpdir = require('../common/tmpdir');

tmpdir.refresh();
fs.mkdtempSync(`${tmpdir.path}/`);
const path = `${tmpdir.path}/foo`;
const writeStream = fs.createWriteStream(path);

function write(iteration, callback) {
for (; iteration < 16384; iteration += 1) {
if (!writeStream.write('foo\r\n')) {
writeStream.once('drain', () => write(iteration + 1, callback));
return;
}
}

writeStream.end();
callback();
}

write(0, () => {
const input = fs.createReadStream(path);
const rl = readline.createInterface({ input, crlfDelay: Infinity });
let carriageReturns = 0;

rl.on('line', (x) => {
if (x.includes('\r')) carriageReturns += 1;
});

rl.on('close', () => {
assert.strictEqual(carriageReturns, 0);
});
});

0 comments on commit bc4e733

Please sign in to comment.