summaryrefslogtreecommitdiff
path: root/io/util_test.ts
diff options
context:
space:
mode:
Diffstat (limited to 'io/util_test.ts')
-rw-r--r--io/util_test.ts36
1 files changed, 36 insertions, 0 deletions
diff --git a/io/util_test.ts b/io/util_test.ts
new file mode 100644
index 000000000..7318d887c
--- /dev/null
+++ b/io/util_test.ts
@@ -0,0 +1,36 @@
+import { test, assert } from "../testing/mod.ts";
+import { copyBytes } from "./util.ts";
+
+test(function testCopyBytes() {
+ let dst = new Uint8Array(4);
+
+ dst.fill(0);
+ let src = Uint8Array.of(1, 2);
+ let len = copyBytes(dst, src, 0);
+ assert(len === 2);
+ assert.equal(dst, Uint8Array.of(1, 2, 0, 0));
+
+ dst.fill(0);
+ src = Uint8Array.of(1, 2);
+ len = copyBytes(dst, src, 1);
+ assert(len === 2);
+ assert.equal(dst, Uint8Array.of(0, 1, 2, 0));
+
+ dst.fill(0);
+ src = Uint8Array.of(1, 2, 3, 4, 5);
+ len = copyBytes(dst, src);
+ assert(len === 4);
+ assert.equal(dst, Uint8Array.of(1, 2, 3, 4));
+
+ dst.fill(0);
+ src = Uint8Array.of(1, 2);
+ len = copyBytes(dst, src, 100);
+ assert(len === 0);
+ assert.equal(dst, Uint8Array.of(0, 0, 0, 0));
+
+ dst.fill(0);
+ src = Uint8Array.of(3, 4);
+ len = copyBytes(dst, src, -2);
+ assert(len === 2);
+ assert.equal(dst, Uint8Array.of(3, 4, 0, 0));
+});