1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-11-28 16:20:57 -05:00

chore(ext/web): use a non-resource stream for textDecoderStreamCleansUpOnCancel (#21181)

Follow-up fix to #21074
This commit is contained in:
Matt Mastracci 2023-11-13 11:35:48 -07:00 committed by Yoshiya Hinosawa
parent 2980cb5e5b
commit 83fa25653a
No known key found for this signature in database
GPG key ID: 9017DB4559488785

View file

@ -1,5 +1,10 @@
// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.
import { assert, assertEquals, assertThrows } from "./test_util.ts";
import {
assert,
assertEquals,
assertStrictEquals,
assertThrows,
} from "./test_util.ts";
Deno.test(function btoaSuccess() {
const text = "hello world";
@ -323,9 +328,15 @@ Deno.test(function binaryEncode() {
Deno.test(
{ permissions: { read: true } },
async function textDecoderStreamCleansUpOnCancel() {
const filename = "cli/tests/testdata/assets/hello.txt";
const file = await Deno.open(filename);
const readable = file.readable.pipeThrough(new TextDecoderStream());
let cancelled = false;
const readable = new ReadableStream({
start: (controller) => {
controller.enqueue(new Uint8Array(12));
},
cancel: () => {
cancelled = true;
},
}).pipeThrough(new TextDecoderStream());
const chunks = [];
for await (const chunk of readable) {
chunks.push(chunk);
@ -334,5 +345,6 @@ Deno.test(
}
assertEquals(chunks.length, 1);
assertEquals(chunks[0].length, 12);
assertStrictEquals(cancelled, true);
},
);