mirror of
https://github.com/denoland/std.git
synced 2024-11-22 04:59:05 +00:00
548d254f31
* deprecation(io/unstable): deprecate `copyN()` * BREAKING(io/unstable): remove `copyN()`
35 lines
1.1 KiB
TypeScript
35 lines
1.1 KiB
TypeScript
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
|
|
import { assertEquals } from "@std/assert";
|
|
import { StringWriter } from "./string_writer.ts";
|
|
import { StringReader } from "./string_reader.ts";
|
|
import { copy } from "./copy.ts";
|
|
|
|
Deno.test("ioStringWriter", async function () {
|
|
const w = new StringWriter("base");
|
|
const r = new StringReader("0123456789");
|
|
await copy(r, w);
|
|
assertEquals(w.toString(), "base0123456789");
|
|
});
|
|
|
|
Deno.test("ioStringWriterSync", function () {
|
|
const encoder = new TextEncoder();
|
|
const w = new StringWriter("");
|
|
w.writeSync(encoder.encode("deno"));
|
|
assertEquals(w.toString(), "deno");
|
|
w.writeSync(encoder.encode("\nland"));
|
|
assertEquals(w.toString(), "deno\nland");
|
|
});
|
|
|
|
Deno.test("ioStringWriterIsolationTest", async function () {
|
|
const encoder = new TextEncoder();
|
|
const src = "ABC";
|
|
const srcChunks = src.split("").map((c) => encoder.encode(c));
|
|
|
|
const w = new StringWriter();
|
|
for (const c of srcChunks) {
|
|
const written = await w.write(c);
|
|
assertEquals(written, 1);
|
|
}
|
|
assertEquals(w.toString(), src);
|
|
});
|