50 lines
1.5 KiB
JavaScript
50 lines
1.5 KiB
JavaScript
test("booleans", () => {
|
|
expect(true ?? true).toBeTrue();
|
|
expect(false ?? false).toBeFalse();
|
|
expect(true ?? false).toBeTrue();
|
|
expect(false ?? true).toBeFalse();
|
|
});
|
|
|
|
test("strings", () => {
|
|
expect("" ?? "").toBe("");
|
|
expect("" ?? false).toBe("");
|
|
expect("" ?? true).toBe("");
|
|
expect(false ?? "").toBeFalse();
|
|
expect(true ?? "").toBeTrue();
|
|
expect("foo" ?? "bar").toBe("foo");
|
|
expect("foo" ?? false).toBe("foo");
|
|
expect("foo" ?? true).toBe("foo");
|
|
expect(false ?? "bar").toBeFalse();
|
|
expect(true ?? "bar").toBeTrue();
|
|
});
|
|
|
|
test("numbers", () => {
|
|
expect(false ?? 1 === 2).toBeFalse();
|
|
expect(true ?? 1 === 2).toBeTrue();
|
|
expect(0 ?? false).toBe(0);
|
|
expect(0 ?? true).toBe(0);
|
|
expect(42 ?? false).toBe(42);
|
|
expect(42 ?? true).toBe(42);
|
|
expect(false ?? 0).toBeFalse();
|
|
expect(true ?? 0).toBeTrue();
|
|
expect(false ?? 42).toBeFalse();
|
|
expect(true ?? 42).toBeTrue();
|
|
});
|
|
|
|
test("objects", () => {
|
|
expect([] ?? false).toHaveLength(0);
|
|
expect([] ?? true).toHaveLength(0);
|
|
expect(false ?? []).toBeFalse();
|
|
expect(true ?? []).toBeTrue();
|
|
});
|
|
|
|
test("null & undefined", () => {
|
|
expect(null ?? false).toBeFalse();
|
|
expect(null ?? true).toBeTrue();
|
|
expect(false ?? null).toBeFalse();
|
|
expect(true ?? null).toBeTrue();
|
|
expect(undefined ?? false).toBeFalse();
|
|
expect(undefined ?? true).toBeTrue();
|
|
expect(false ?? undefined).toBeFalse();
|
|
expect(true ?? undefined).toBeTrue();
|
|
});
|