This release is 18 versions behind 1.0.16 — the latest version of @std/assert. Jump to latest
Built and signed on GitHub ActionsBuilt and signed on GitHub Actions
Built and signed on GitHub Actions
Common assertion functions, especially useful for testing
This package works with Cloudflare Workers, Node.js, Deno, Bun, Browsers




JSR Score
100%
Published
2 years ago (0.225.3)
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. import { assertArrayIncludes, AssertionError, assertThrows } from "./mod.ts"; const fixture = ["deno", "iz", "luv"]; const fixtureObject = [{ deno: "luv" }, { deno: "Js" }]; Deno.test("assertArrayIncludes() matches when array includes value", () => { assertArrayIncludes(fixture, ["deno"]); assertArrayIncludes(fixtureObject, [{ deno: "luv" }]); assertArrayIncludes( Uint8Array.from([1, 2, 3, 4]), Uint8Array.from([1, 2, 3]), ); assertArrayIncludes(["a"], ["a"]); assertArrayIncludes(["a", "b", "c"], ["a", "b"]); }); Deno.test("assertArrayIncludes() throws when array is missing value", () => { assertThrows( () => assertArrayIncludes(["a"], ["b"]), AssertionError, ` Expected actual: "[ "a", ]" to include: "[ "b", ]". missing: [ "b", ] `.trim(), ); assertThrows( () => assertArrayIncludes(fixtureObject, [{ deno: "node" }]), AssertionError, ` Expected actual: "[ { deno: "luv", }, { deno: "Js", }, ]" to include: "[ { deno: "node", }, ]". missing: [ { deno: "node", }, ] `.trim(), ); }); Deno.test("assertArrayIncludes() throws with custom message", () => { assertThrows( () => assertArrayIncludes(["a"], ["b"], "CUSTOM MESSAGE"), AssertionError, ` Expected actual: "[ "a", ]" to include: "[ "b", ]": CUSTOM MESSAGE missing: [ "b", ] `.trim(), ); }); // https://github.com/denoland/deno_std/issues/3372 Deno.test("assertArrayIncludes() type-checks failing cases", () => { // @ts-expect-error 2nd arg - 'string' is not assignable to 'ArrayLikeArg<string>'. assertThrows(() => assertArrayIncludes(["a"], "b")); // @ts-expect-error 1st arg - 'string' is not assignable to 'ArrayLikeArg<string>'. assertThrows(() => assertArrayIncludes("a", ["b"])); // @ts-expect-error both args - 'string' is not assignable to 'ArrayLikeArg<string>'. assertThrows(() => assertArrayIncludes("a", "b")); });