Compare commits

...

1 Commits

Author SHA1 Message Date
Meghan Denny
7fdcd8e262 windows: fix fs-promises-writeFile-async-iterator.test.ts 2024-08-06 20:59:07 -07:00
2 changed files with 11 additions and 15 deletions

View File

@@ -586,22 +586,17 @@ async function writeFileAsyncIteratorInner(fd, iterable, encoding) {
const mustRencode = !(encoding === "utf8" || encoding === "utf-8" || encoding === "binary" || encoding === "buffer");
let totalBytesWritten = 0;
try {
for await (let chunk of iterable) {
if (mustRencode && typeof chunk === "string") {
$debug("Re-encoding chunk to", encoding);
chunk = Buffer.from(chunk, encoding);
}
const prom = writer.write(chunk);
if (prom && $isPromise(prom)) {
totalBytesWritten += await prom;
} else {
totalBytesWritten += prom;
}
for await (let chunk of iterable) {
if (mustRencode && typeof chunk === "string") {
$debug("Re-encoding chunk to", encoding);
chunk = Buffer.from(chunk, encoding);
}
totalBytesWritten += chunk.length;
const prom = writer.write(chunk);
if (prom && $isPromise(prom)) {
await prom;
}
} finally {
await writer.end();
}
return totalBytesWritten;

View File

@@ -1,6 +1,7 @@
import { test, expect, mock } from "bun:test";
import { writeFile } from "fs/promises";
import { tempDirWithFiles } from "harness";
test("fs.promises.writeFile async iterator", async () => {
const dir = tempDirWithFiles("fs-promises-writeFile-async-iterator", {
"file1.txt": "0 Hello, world!",