1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-11-24 15:19:26 -05:00

fix(ext/node): fix stream/promises export (#19820)

This commit is contained in:
await-ovo 2023-07-17 21:10:34 +08:00 committed by GitHub
parent 306b51d772
commit 37241e9b1e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 29 additions and 1 deletions

View file

@ -73,6 +73,7 @@ util::unit_test_factory!(
process_test,
querystring_test,
readline_test,
stream_test,
string_decoder_test,
timers_test,
tls_test,

View file

@ -0,0 +1,25 @@
// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.
import { assert } from "../../../test_util/std/testing/asserts.ts";
import { fromFileUrl, relative } from "../../../test_util/std/path/mod.ts";
import { pipeline } from "node:stream/promises";
import { createReadStream, createWriteStream } from "node:fs";
Deno.test("stream/promises pipeline", async () => {
const filePath = relative(
Deno.cwd(),
fromFileUrl(new URL("./testdata/lorem_ipsum.txt", import.meta.url)),
);
const input = createReadStream(filePath);
const output = createWriteStream("lorem_ipsum.txt.copy");
await pipeline(input, output);
const content = Deno.readTextFileSync("lorem_ipsum.txt.copy");
assert(content.startsWith("Lorem ipsum dolor sit amet"));
try {
Deno.removeSync("lorem_ipsum.txt.copy");
} catch {
// pass
}
});

View file

@ -1,7 +1,9 @@
// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.
// Copyright Joyent and Node contributors. All rights reserved. MIT license.
import { finished, pipeline } from "ext:deno_node/_stream.mjs";
import { Stream } from "ext:deno_node/_stream.mjs";
const { finished, pipeline } = Stream.promises;
export default {
finished,