Forked from OpenCode v1.17.4 with multi-agent system: - 5 agents: aircoding, scheduler, worker, architect, reviewer - Deterministic DAG scheduling engine (coordinator_tick) - Tool whitelists as hard enforcement - AirCoding validation plugin - System prompt injection for routing - V1 requirements: C4 docs, ADR, AGENTS.md, debug-log.md - Design documents in docs/
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()
|
|
})
|
|
})
|