logical-or.js 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. test("booleans", () => {
  2. expect(true || true).toBeTrue();
  3. expect(false || false).toBeFalse();
  4. expect(true || false).toBeTrue();
  5. expect(false || true).toBeTrue();
  6. });
  7. test("strings", () => {
  8. expect("" || "").toBe("");
  9. expect("" || false).toBeFalse();
  10. expect("" || true).toBeTrue();
  11. expect(false || "").toBe("");
  12. expect(true || "").toBeTrue();
  13. expect("foo" || "bar").toBe("foo");
  14. expect("foo" || false).toBe("foo");
  15. expect("foo" || true).toBe("foo");
  16. expect(false || "bar").toBe("bar");
  17. expect(true || "bar").toBeTrue();
  18. });
  19. test("numbers", () => {
  20. expect(false || 1 === 2).toBeFalse();
  21. expect(true || 1 === 2).toBeTrue();
  22. expect(0 || false).toBeFalse();
  23. expect(0 || true).toBeTrue();
  24. expect(42 || false).toBe(42);
  25. expect(42 || true).toBe(42);
  26. expect(false || 0).toBe(0);
  27. expect(true || 0).toBeTrue();
  28. expect(false || 42).toBe(42);
  29. expect(true || 42).toBeTrue();
  30. });
  31. test("objects", () => {
  32. expect([] || false).toHaveLength(0);
  33. expect([] || true).toHaveLength(0);
  34. expect(false || []).toHaveLength(0);
  35. expect(true || []).toBeTrue();
  36. });
  37. test("null & undefined", () => {
  38. expect(null || false).toBeFalse();
  39. expect(null || true).toBeTrue();
  40. expect(false || null).toBeNull();
  41. expect(true || null).toBeTrue();
  42. expect(undefined || false).toBeFalse();
  43. expect(undefined || true).toBeTrue();
  44. expect(false || undefined).toBeUndefined();
  45. expect(true || undefined).toBeTrue();
  46. });