X Tutup
"""Tests for output formatting.""" from __future__ import annotations from talk_python_cli.formatting import display, display_markdown_raw class TestDisplayMarkdownRaw: def test_prints_raw_content(self, capsys) -> None: display_markdown_raw('# Hello\n\nSome **bold** text') captured = capsys.readouterr() assert captured.out == '# Hello\n\nSome **bold** text\n' def test_no_rich_markup_in_output(self, capsys) -> None: display_markdown_raw('## Heading\n- item 1\n- item 2') captured = capsys.readouterr() # Raw markdown should appear verbatim — no Rich panel borders or styling assert '## Heading' in captured.out assert '- item 1' in captured.out assert '╭' not in captured.out # no Rich panel border class TestDisplayRouting: def test_markdown_format_routes_to_raw(self, capsys) -> None: display('# Raw markdown', 'markdown') captured = capsys.readouterr() assert captured.out == '# Raw markdown\n' def test_text_format_does_not_print_raw(self, capsys) -> None: display('# Rendered', 'text') captured = capsys.readouterr() # Text mode uses Rich console, so raw '# Rendered' should NOT appear verbatim # (Rich renders it as a heading without the # prefix) assert '# Rendered' not in captured.out
X Tutup