it,
spy,
} from "./dev-deps.js";
-import {
- findIndexedEntry,
- isArraylikeObject,
- isCollection,
- isConcatSpreadable,
-} from "./collection.js";
+import { findIndexedEntry, isCollection } from "./collection.js";
describe("findIndexedEntry", () => {
it("[[Call]] returns undefined if no matching entry exists", () => {
});
});
-describe("isArraylikeObject", () => {
- it("[[Call]] returns false for primitives", () => {
- assertStrictEquals(isArraylikeObject("failure"), false);
- });
-
- it("[[Call]] returns false if length throws", () => {
- assertStrictEquals(
- isArraylikeObject({
- get length() {
- throw void {};
- },
- }),
- false,
- );
- });
-
- it("[[Call]] returns false if length is not a number and cannot be converted to one", () => {
- assertStrictEquals(isArraylikeObject({ length: 1n }), false);
- });
-
- it("[[Call]] returns true if length is convertable to a number", () => {
- assertStrictEquals(isArraylikeObject({ length: -0 }), true);
- assertStrictEquals(isArraylikeObject({ length: 1 }), true);
- assertStrictEquals(isArraylikeObject({ length: -1.25 }), true);
- assertStrictEquals(
- isArraylikeObject({ length: 9007199254740992 }),
- true,
- );
- assertStrictEquals(isArraylikeObject({ length: Infinity }), true);
- assertStrictEquals(isArraylikeObject({ length: "success" }), true);
- });
-});
-
describe("isCollection", () => {
it("[[Call]] returns false for primitives", () => {
assertStrictEquals(isCollection("failure"), false);
);
});
});
-
-describe("isConcatSpreadable", () => {
- it("[[Call]] returns false for primitives", () => {
- assertStrictEquals(isConcatSpreadable("failure"), false);
- });
-
- it("[[Call]] returns false if [Symbol.isConcatSpreadable] is null or false", () => {
- assertStrictEquals(
- isConcatSpreadable(
- Object.assign([], { [Symbol.isConcatSpreadable]: null }),
- ),
- false,
- );
- assertStrictEquals(
- isConcatSpreadable(
- Object.assign([], { [Symbol.isConcatSpreadable]: false }),
- ),
- false,
- );
- });
-
- it("[[Call]] returns true if [Symbol.isConcatSpreadable] is undefined and the object is an array", () => {
- assertStrictEquals(
- isConcatSpreadable(
- Object.assign([], { [Symbol.isConcatSpreadable]: undefined }),
- ),
- true,
- );
- });
-
- it("[[Call]] returns true if [Symbol.isConcatSpreadable] is true", () => {
- assertStrictEquals(
- isConcatSpreadable({ [Symbol.isConcatSpreadable]: true }),
- true,
- );
- });
-});