"""Tests for _bulletize — verifies behavior copied from md2pdf.py.""" from md2doc import _bulletize def test_simple_dash_list_becomes_bullets(): text = "- item A\n- item B\n" result = _bulletize(text) assert "• item A" in result assert "• item B" in result def test_code_block_dashes_preserved(): """Dashes inside ``` blocks must NOT be bulletized.""" text = "```bash\n-r flag\n--verbose\n```\n" result = _bulletize(text) assert "-r flag" in result assert "--verbose" in result def test_html_block_dashes_preserved(): """Dashes inside raw HTML blocks (table/div/etc.) must NOT be bulletized.""" text = "\n- not a list\n
\n" result = _bulletize(text) assert "- not a list" in result def test_tilde_fence_also_preserved(): text = "~~~bash\n-x\n~~~\n" result = _bulletize(text) assert "-x" in result def test_unchecked_task_list_becomes_empty_checkbox(): text = "- [ ] todo item\n" result = _bulletize(text) assert "☐ todo item" in result assert "[ ]" not in result def test_checked_task_list_becomes_checked_checkbox(): text = "- [x] done item\n- [X] also done\n" result = _bulletize(text) assert "☑ done item" in result assert "☑ also done" in result assert "[x]" not in result assert "[X]" not in result