iife.test.ts 834 B

123456789101112131415161718192021222324252627282930313233343536
  1. import { describe, expect, test } from "bun:test"
  2. import { iife } from "../../src/util/iife"
  3. describe("util.iife", () => {
  4. test("should execute function immediately and return result", () => {
  5. let called = false
  6. const result = iife(() => {
  7. called = true
  8. return 42
  9. })
  10. expect(called).toBe(true)
  11. expect(result).toBe(42)
  12. })
  13. test("should work with async functions", async () => {
  14. let called = false
  15. const result = await iife(async () => {
  16. called = true
  17. return "async result"
  18. })
  19. expect(called).toBe(true)
  20. expect(result).toBe("async result")
  21. })
  22. test("should handle functions with no return value", () => {
  23. let called = false
  24. const result = iife(() => {
  25. called = true
  26. })
  27. expect(called).toBe(true)
  28. expect(result).toBeUndefined()
  29. })
  30. })