mirror of
https://github.com/nesquena/hermes-webui.git
synced 2026-05-26 03:30:36 +00:00
8e1ac89baa
Co-authored-by: ai-ag2026 <ai-ag2026@users.noreply.github.com>
27 lines
1.1 KiB
Python
27 lines
1.1 KiB
Python
from pathlib import Path
|
|
|
|
|
|
UI_JS = Path("static/ui.js").read_text(encoding="utf-8")
|
|
|
|
|
|
def test_session_html_cache_uses_render_signature_not_only_count():
|
|
assert "function _messageRenderCacheSignature()" in UI_JS
|
|
assert "const renderSignature=_messageRenderCacheSignature();" in UI_JS
|
|
assert "cached.signature===renderSignature" in UI_JS
|
|
assert "signature:renderSignature" in UI_JS
|
|
|
|
|
|
def test_render_signature_tracks_message_content_and_settled_tool_cards():
|
|
signature_fn = UI_JS[UI_JS.index("function _messageRenderCacheSignature()"):UI_JS.index("function _clipCliToolSnippet")]
|
|
assert "msgContent(m)" in signature_fn
|
|
assert "m.tool_calls" in signature_fn
|
|
assert "m._partial_tool_calls" in signature_fn
|
|
assert "S.toolCalls" in signature_fn
|
|
assert "tc.snippet" in signature_fn
|
|
assert "compression_anchor_summary" in signature_fn
|
|
|
|
|
|
def test_documentation_no_longer_allows_same_count_stale_html():
|
|
assert "Known limitation: cache key is session_id + message count" not in UI_JS
|
|
assert "mutate message content without changing the count will serve stale HTML" not in UI_JS
|