logical-and.js 1.5 KB

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