Files
opencode/packages/opencode/test/util/iife.test.ts

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()
})
})