std/encoding/unstable_base32_stream_test.ts

37 lines
1.1 KiB
TypeScript
Raw Normal View History

// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
import { assertEquals } from "@std/assert";
import { encodeBase32 } from "./base32.ts";
import {
Base32DecoderStream,
Base32EncoderStream,
} from "./unstable_base32_stream.ts";
import { RandomSliceStream } from "./_random_slice_stream.ts";
import { toText } from "../streams/to_text.ts";
import { concat } from "@std/bytes/concat";
Deno.test("Base32EncoderStream() encodes stream", async () => {
const readable = (await Deno.open("./deno.lock"))
.readable
.pipeThrough(new RandomSliceStream())
.pipeThrough(new Base32EncoderStream());
assertEquals(
await toText(readable),
encodeBase32(await Deno.readFile("./deno.lock")),
);
});
Deno.test("Base32DecoderStream() decodes stream", async () => {
const readable = (await Deno.open("./deno.lock"))
.readable
.pipeThrough(new Base32EncoderStream())
.pipeThrough(new RandomSliceStream())
.pipeThrough(new Base32DecoderStream());
assertEquals(
concat(await Array.fromAsync(readable)),
await Deno.readFile("./deno.lock"),
);
});