summaryrefslogtreecommitdiff
path: root/std/bytes/test.ts
diff options
context:
space:
mode:
Diffstat (limited to 'std/bytes/test.ts')
-rw-r--r--std/bytes/test.ts35
1 files changed, 35 insertions, 0 deletions
diff --git a/std/bytes/test.ts b/std/bytes/test.ts
index 8b03de926..25af2a35b 100644
--- a/std/bytes/test.ts
+++ b/std/bytes/test.ts
@@ -9,6 +9,7 @@ import {
repeat,
concat,
contains,
+ copyBytes,
} from "./mod.ts";
import { assertEquals, assertThrows, assert } from "../testing/asserts.ts";
import { encode, decode } from "../encoding/utf8.ts";
@@ -117,3 +118,37 @@ Deno.test("[bytes] contain", () => {
assert(contains(new Uint8Array([0, 1, 2, 3]), new Uint8Array([2, 3])));
});
+
+Deno.test("[io/tuil] copyBytes", function (): void {
+ const dst = new Uint8Array(4);
+
+ dst.fill(0);
+ let src = Uint8Array.of(1, 2);
+ let len = copyBytes(src, dst, 0);
+ assert(len === 2);
+ assertEquals(dst, Uint8Array.of(1, 2, 0, 0));
+
+ dst.fill(0);
+ src = Uint8Array.of(1, 2);
+ len = copyBytes(src, dst, 1);
+ assert(len === 2);
+ assertEquals(dst, Uint8Array.of(0, 1, 2, 0));
+
+ dst.fill(0);
+ src = Uint8Array.of(1, 2, 3, 4, 5);
+ len = copyBytes(src, dst);
+ assert(len === 4);
+ assertEquals(dst, Uint8Array.of(1, 2, 3, 4));
+
+ dst.fill(0);
+ src = Uint8Array.of(1, 2);
+ len = copyBytes(src, dst, 100);
+ assert(len === 0);
+ assertEquals(dst, Uint8Array.of(0, 0, 0, 0));
+
+ dst.fill(0);
+ src = Uint8Array.of(3, 4);
+ len = copyBytes(src, dst, -2);
+ assert(len === 2);
+ assertEquals(dst, Uint8Array.of(3, 4, 0, 0));
+});