Files
openclaw/src/infra/plain-object.test.ts
2026-03-27 23:08:57 +00:00

29 lines
608 B
TypeScript

import { describe, expect, it } from "vitest";
import { isPlainObject } from "./plain-object.js";
describe("isPlainObject", () => {
it.each([
{},
{ a: 1 },
Object.create(null),
new (class X {})(),
{ [Symbol.toStringTag]: "Object" },
])("accepts object-tag values: %j", (value) => {
expect(isPlainObject(value)).toBe(true);
});
it.each([
null,
[],
new Date(),
/re/,
"x",
42,
() => null,
new Map(),
{ [Symbol.toStringTag]: "Array" },
])("rejects non-plain values: %j", (value) => {
expect(isPlainObject(value)).toBe(false);
});
});