Files
hermes-agent/tests/gateway/test_escape_reasoning_fences.py
Teknium 2031c819fe simplify(compat): gateway — re-land 92d0bd0d73 (reverted by stale-index commit b818085298)
Re-applies the gateway compat removal byte-for-byte; see 92d0bd0d73 for the
full inventory (30 re-exports/aliases + 2 shim modules dropped, 3 shim-only
names re-removed, 24 callers + 34 test files repointed). No new changes.
2026-09-03 13:12:50 -07:00

30 lines
936 B
Python

"""
Tests for escape_code_fences_for_display.
B1: Escape triple-backtick markers inside reasoning text before wrapping
in an outer ``` fence, so inner ``` doesn't break the outer block.
"""
import pytest
from gateway.stream_consumer_fences import escape_code_fences_for_display
class TestEscapeCodeFencesForDisplay:
"""escape_code_fences_for_display prevents inner ``` from breaking
the outer code block used to render reasoning."""
def test_single_fence_escaped(self):
text = "model used ```python\nx = 1\n``` in its thinking"
result = escape_code_fences_for_display(text)
assert "```" not in result
assert "\\`\\`\\`" in result
def test_multiple_fences_all_escaped(self):
text = "```\nblock1\n``` and ```python\nblock2\n```"
result = escape_code_fences_for_display(text)
assert result.count("```") == 0
assert result.count("\\`\\`\\`") == 4