2024-10-21 14:12:53 +00:00
|
|
|
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
|
|
|
|
|
|
|
|
import { Buffer } from "node:buffer";
|
|
|
|
import { Buffer as DenoBuffer } from "@std/io/buffer";
|
|
|
|
import { expect } from "./expect.ts";
|
|
|
|
|
|
|
|
Deno.test("expect.objectContaining()", () => {
|
|
|
|
expect({ bar: "baz" }).toEqual(expect.objectContaining({ bar: "baz" }));
|
|
|
|
expect({ foo: undefined }).toEqual(
|
|
|
|
expect.objectContaining({ foo: undefined }),
|
|
|
|
);
|
|
|
|
expect({ bar: "baz" }).not.toEqual(expect.objectContaining({ foo: "bar" }));
|
|
|
|
});
|
|
|
|
|
|
|
|
Deno.test("expect.objectContaining() with nested objects", () => {
|
|
|
|
expect({ foo: { bar: "baz" } }).toEqual(
|
|
|
|
expect.objectContaining({ foo: { bar: "baz" } }),
|
|
|
|
);
|
|
|
|
expect({ foo: { bar: "baz" } }).not.toEqual(
|
|
|
|
expect.objectContaining({ foo: { bar: "bar" } }),
|
|
|
|
);
|
|
|
|
});
|
|
|
|
|
|
|
|
Deno.test("expect.objectContaining() with symbols", () => {
|
|
|
|
const foo = Symbol("foo");
|
|
|
|
expect({ [foo]: { bar: "baz" } }).toEqual(
|
|
|
|
expect.objectContaining({ [foo]: { bar: "baz" } }),
|
|
|
|
);
|
|
|
|
});
|
|
|
|
|
|
|
|
Deno.test("expect.objectContaining() with nested arrays", () => {
|
|
|
|
expect({ foo: ["bar", "baz"] }).toEqual(
|
|
|
|
expect.objectContaining({ foo: ["bar", "baz"] }),
|
|
|
|
);
|
|
|
|
expect({ foo: ["bar", "baz"] }).not.toEqual(
|
|
|
|
expect.objectContaining({ foo: ["bar", "bar"] }),
|
|
|
|
);
|
|
|
|
});
|
|
|
|
|
|
|
|
Deno.test("expect.objectContaining() with Node Buffer", () => {
|
|
|
|
expect({ foo: Buffer.from("foo") }).toEqual(
|
|
|
|
expect.objectContaining({ foo: Buffer.from("foo") }),
|
|
|
|
);
|
|
|
|
});
|
|
|
|
|
|
|
|
Deno.test("expect.objectContaining() with Deno Buffer", () => {
|
|
|
|
expect({ foo: new DenoBuffer([1, 2, 3]) }).toEqual(
|
|
|
|
expect.objectContaining({ foo: new DenoBuffer([1, 2, 3]) }),
|
|
|
|
);
|
|
|
|
});
|
2024-10-28 06:44:49 +00:00
|
|
|
|
|
|
|
Deno.test("expect.not.objectContaining()", () => {
|
|
|
|
expect({ bar: "baz" }).toEqual(expect.not.objectContaining({ foo: "bar" }));
|
|
|
|
expect({ foo: ["bar", "baz"] }).toEqual(
|
|
|
|
expect.not.objectContaining({ foo: ["bar", "bar"] }),
|
|
|
|
);
|
|
|
|
});
|
|
|
|
|
|
|
|
Deno.test("expect.not.objectContaining() with symbols", () => {
|
|
|
|
const foo = Symbol("foo");
|
|
|
|
expect({ [foo]: { bar: "baz" } }).toEqual(
|
|
|
|
expect.objectContaining({ [foo]: { bar: "bazzzz" } }),
|
|
|
|
);
|
|
|
|
});
|