Skip to main content
Module

std/encoding/_util_test.ts

Deno standard library
Go to Latest
File
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
import { assertEquals, assertThrows } from "../assert/mod.ts";import { validateBinaryLike } from "./_util.ts";
Deno.test("validateBinaryLike()", () => { assertEquals(validateBinaryLike("hello"), new TextEncoder().encode("hello")); assertEquals( validateBinaryLike(new Uint8Array([1, 2, 3])), new Uint8Array([1, 2, 3]), ); assertEquals( validateBinaryLike(new Uint8Array([1, 2, 3]).buffer), new Uint8Array([1, 2, 3]), );});
Deno.test("validateBinaryLike() throws on invalid inputs", () => { assertThrows( () => { validateBinaryLike(1); }, TypeError, "The input must be a Uint8Array, a string, or an ArrayBuffer. Received a value of the type number.", ); assertThrows( () => { validateBinaryLike(undefined); }, TypeError, "The input must be a Uint8Array, a string, or an ArrayBuffer. Received a value of the type undefined.", ); assertThrows( () => { validateBinaryLike(null); }, TypeError, "The input must be a Uint8Array, a string, or an ArrayBuffer. Received a value of the type null.", ); assertThrows( () => { validateBinaryLike({}); }, TypeError, "The input must be a Uint8Array, a string, or an ArrayBuffer. Received a value of the type Object.", ); assertThrows( () => { validateBinaryLike(new class MyClass {}()); }, TypeError, "The input must be a Uint8Array, a string, or an ArrayBuffer. Received a value of the type MyClass.", ); assertThrows( () => { validateBinaryLike(Object.create(null)); }, TypeError, "The input must be a Uint8Array, a string, or an ArrayBuffer. Received a value of the type object.", );});