Spaces:
Sleeping
Sleeping
File size: 1,859 Bytes
f019486 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | from agent import render
def test_render_event_thought_and_revision():
normal = render.render_event({"kind": "thought", "text": "hmm", "revision": False, "step": 1})
assert "🧠" in normal and "hmm" in normal
rev = render.render_event({"kind": "thought", "text": "rethink", "revision": True, "step": 2})
assert "↻" in rev and "revision" in rev
def test_render_event_tool_call_observation_final():
tc = render.render_event({"kind": "tool_call", "tool": "calculator",
"args": {"expression": "2+2"}, "step": 1})
assert "🔧" in tc and "calculator" in tc and "2+2" in tc
weak = render.render_event({"kind": "observation", "tool": "wikipedia_search",
"text": "may refer to", "weak": True, "step": 1})
assert "📄" in weak and "weak" in weak
fin = render.render_event({"kind": "final", "text": "42", "step": 3})
assert "42" in fin
def test_render_stats():
assert render.render_stats(steps=3, tool_calls=2, seconds=4.25) == "3 steps · 2 tool calls · 4.2s"
def test_check_run_allowed():
ok, msg = render.check_run_allowed(0, cap=5)
assert ok and msg == ""
blocked, msg2 = render.check_run_allowed(5, cap=5)
assert not blocked and "limit" in msg2.lower()
def test_render_timeline_escapes_html():
html = render.render_timeline([{"kind": "observation", "tool": "web_get",
"text": "<script>x</script>", "weak": False, "step": 1}])
assert "<script>" not in html
def test_app_module_builds_blocks(monkeypatch):
monkeypatch.setenv("GEMINI_API_KEY", "") # must not be needed at import time
import importlib
import app as app_module
importlib.reload(app_module)
demo = app_module.build_demo()
assert demo is not None
|