# retoor from devplacepy.services.markdown_preserve import MarkdownPreserver def test_extract_and_restore_round_trip(): preserver = MarkdownPreserver() original = "Some text\n```python\nx = 1\n```\nMore text" sanitized = preserver.extract_blocks(original) assert "```" not in sanitized restored = preserver.restore_blocks(sanitized) assert restored == original def test_extract_empty_text(): preserver = MarkdownPreserver() assert preserver.extract_blocks("") == "" assert preserver.extract_blocks(None) == "" def test_extract_no_code_blocks(): preserver = MarkdownPreserver() text = "Just some plain text with no code." sanitized = preserver.extract_blocks(text) assert sanitized == text assert preserver.restore_blocks(sanitized) == text def test_extract_fenced_with_language(): preserver = MarkdownPreserver() original = "Before\n```python\ndef foo():\n pass\n```\nAfter" sanitized = preserver.extract_blocks(original) assert "```" not in sanitized assert preserver.restore_blocks(sanitized) == original def test_extract_fenced_without_language(): preserver = MarkdownPreserver() original = "Before\n```\ncode block\n```\nAfter" sanitized = preserver.extract_blocks(original) assert "```" not in sanitized assert preserver.restore_blocks(sanitized) == original def test_extract_multiple_fenced_blocks(): preserver = MarkdownPreserver() original = "A\n```python\nx = 1\n```\nB\n```js\ny = 2\n```\nC" sanitized = preserver.extract_blocks(original) assert "```" not in sanitized assert preserver.restore_blocks(sanitized) == original def test_extract_inline_code(): preserver = MarkdownPreserver() original = "Use the `os.path.join` function." sanitized = preserver.extract_blocks(original) assert "`" not in sanitized assert preserver.restore_blocks(sanitized) == original def test_extract_fenced_and_inline(): preserver = MarkdownPreserver() original = "Text with `inline` and\n```python\ncode\n```\nmore `code` here." sanitized = preserver.extract_blocks(original) assert "`" not in sanitized assert "```" not in sanitized assert preserver.restore_blocks(sanitized) == original def test_restore_text_without_placeholders(): preserver = MarkdownPreserver() preserver.extract_blocks("```python\nx\n```") result = preserver.restore_blocks("plain text with no tokens") assert result == "plain text with no tokens" def test_placeholder_uniqueness(): preserver = MarkdownPreserver() original = "A\n```a\n1\n```\nB\n```b\n2\n```\nC\n```c\n3\n```" sanitized = preserver.extract_blocks(original) assert len(set(sanitized.split())) == len(sanitized.split()) assert preserver.restore_blocks(sanitized) == original def test_empty_restore(): preserver = MarkdownPreserver() assert preserver.restore_blocks("") == ""