38 lines
977 B
TypeScript
38 lines
977 B
TypeScript
import { expect, it } from "./deps.testing.ts";
|
|
import { isinstance, nn, nnu, nu } from "./typing.ts";
|
|
|
|
it("isinstance", () => {
|
|
class A {}
|
|
class A1 extends A {}
|
|
class A2 extends A {}
|
|
class B {}
|
|
|
|
const f: any[] = [5, null, undefined, new A(), new A1(), new B(), new A2()];
|
|
const result = f.filter(isinstance(A));
|
|
expect(result).toEqual([f[3], f[4], f[6]]);
|
|
});
|
|
|
|
it("nn", () => {
|
|
expect(nn(undefined)).toBeUndefined();
|
|
expect(nn(0)).toBe(0);
|
|
expect(nn("")).toBe("");
|
|
expect(nn([])).toEqual([]);
|
|
expect(() => nn(null)).toThrow("null value");
|
|
});
|
|
|
|
it("nu", () => {
|
|
expect(nu(null)).toBe(null);
|
|
expect(nu(0)).toBe(0);
|
|
expect(nu("")).toBe("");
|
|
expect(nu([])).toEqual([]);
|
|
expect(() => nu(undefined)).toThrow("undefined value");
|
|
});
|
|
|
|
it("nnu", () => {
|
|
expect(nnu(0)).toBe(0);
|
|
expect(nnu("")).toBe("");
|
|
expect(nnu([])).toEqual([]);
|
|
expect(() => nnu(undefined)).toThrow("undefined value");
|
|
expect(() => nnu(null)).toThrow("null value");
|
|
});
|