bitwise-not.js 577 B

1234567891011121314151617181920212223
  1. test("basic functionality", () => {
  2. expect(~0).toBe(-1);
  3. expect(~1).toBe(-2);
  4. expect(~2).toBe(-3);
  5. expect(~3).toBe(-4);
  6. expect(~4).toBe(-5);
  7. expect(~5).toBe(-6);
  8. expect(~-1).toBe(0);
  9. expect(~42).toBe(-43);
  10. expect(~9999).toBe(-10000);
  11. });
  12. test("non-numeric values", () => {
  13. expect(~"42").toBe(-43);
  14. expect(~"foo").toBe(-1);
  15. expect(~[]).toBe(-1);
  16. expect(~{}).toBe(-1);
  17. expect(~undefined).toBe(-1);
  18. expect(~null).toBe(-1);
  19. expect(~NaN).toBe(-1);
  20. expect(~Infinity).toBe(-1);
  21. expect(~-Infinity).toBe(-1);
  22. });