1import '../common/index.mjs';
2import tmpdir from '../common/tmpdir.js';
3
4import assert from 'node:assert';
5import { open, writeFile } from 'node:fs/promises';
6import path from 'node:path';
7
8tmpdir.refresh();
9
10const filePath = path.join(tmpdir.path, 'file.txt');
11
12await writeFile(filePath, '1\n\n2\n');
13
14let file;
15try {
16  file = await open(filePath);
17
18  let i = 0;
19  for await (const line of file.readLines()) {
20    switch (i++) {
21      case 0:
22        assert.strictEqual(line, '1');
23        break;
24
25      case 1:
26        assert.strictEqual(line, '');
27        break;
28
29      case 2:
30        assert.strictEqual(line, '2');
31        break;
32
33      default:
34        assert.fail();
35        break;
36    }
37  }
38} finally {
39  await file?.close();
40}
41