37 lines
834 B
TypeScript
37 lines
834 B
TypeScript
import { describe, expect, test } from "bun:test"
|
|
import { iife } from "../../src/util/iife"
|
|
|
|
describe("util.iife", () => {
|
|
test("should execute function immediately and return result", () => {
|
|
let called = false
|
|
const result = iife(() => {
|
|
called = true
|
|
return 42
|
|
})
|
|
|
|
expect(called).toBe(true)
|
|
expect(result).toBe(42)
|
|
})
|
|
|
|
test("should work with async functions", async () => {
|
|
let called = false
|
|
const result = await iife(async () => {
|
|
called = true
|
|
return "async result"
|
|
})
|
|
|
|
expect(called).toBe(true)
|
|
expect(result).toBe("async result")
|
|
})
|
|
|
|
test("should handle functions with no return value", () => {
|
|
let called = false
|
|
const result = iife(() => {
|
|
called = true
|
|
})
|
|
|
|
expect(called).toBe(true)
|
|
expect(result).toBeUndefined()
|
|
})
|
|
})
|