feat: add fullscreen TUI and project updates
- New TUI screens: Main Menu, Compile, Run, REPL, AI Generator, AI Settings, Help - AI configuration persisted in ~/.config/cljnim/config.json - Added illwill dependency for terminal UI - Updated experiments, examples, docs, and core modules
This commit is contained in:
+26
-1
@@ -1,4 +1,4 @@
|
||||
import unittest
|
||||
import unittest, strutils
|
||||
import ../src/types
|
||||
import ../src/eval
|
||||
|
||||
@@ -580,3 +580,28 @@ suite "Eval - Channels":
|
||||
discard eval("(def ch (chan))", env)
|
||||
let r = eval("(close! ch)", env)
|
||||
check r.ok
|
||||
|
||||
suite "Eval - AI Functions (test doesn't require API keys)":
|
||||
setup:
|
||||
let env = newTopLevelEnv()
|
||||
|
||||
test "ai/generate returns string or error":
|
||||
let r = eval("(ai/generate \"reverse a list\")", env)
|
||||
if r.ok:
|
||||
check r.value.kind == ckString
|
||||
else:
|
||||
check("API key" in r.error or "AI request failed" in r.error or "SSL" in r.error)
|
||||
|
||||
test "ai/optimize returns string or error":
|
||||
let r = eval("(ai/optimize \"(reduce + nums)\")", env)
|
||||
if r.ok:
|
||||
check r.value.kind == ckString
|
||||
else:
|
||||
check("API key" in r.error or "AI request failed" in r.error or "SSL" in r.error)
|
||||
|
||||
test "ai/debug returns string or error":
|
||||
let r = eval("(ai/debug (+ 1 2))", env)
|
||||
if r.ok:
|
||||
check r.value.kind == ckString
|
||||
else:
|
||||
check("API key" in r.error or "AI request failed" in r.error or "SSL" in r.error)
|
||||
|
||||
Reference in New Issue
Block a user