"""测试 Markdown 工具函数。""" from scripts.core import ( get_heading_level, extract_titles, normalize_markdown_whitespace, remove_markdown_images, ) class TestGetHeadingLevel: """测试 get_heading_level 函数。""" def test_h1(self): assert get_heading_level("# 标题") == 1 def test_h2(self): assert get_heading_level("## 子标题") == 2 def test_h6(self): assert get_heading_level("###### 六级标题") == 6 def test_no_heading(self): assert get_heading_level("普通文本") == 0 def test_no_space(self): assert get_heading_level("#标题") == 0 class TestExtractTitles: """测试 extract_titles 函数。""" def test_extract_multiple_titles(self, sample_markdown): titles = extract_titles(sample_markdown) assert len(titles) == 3 assert "# 标题" in titles assert "## 子标题" in titles assert "### 另一个标题" in titles class TestNormalizeMarkdownWhitespace: """测试 normalize_markdown_whitespace 函数。""" def test_multiple_blank_lines(self): content = "line1\n\n\n\nline2" result = normalize_markdown_whitespace(content) assert result == "line1\n\nline2" class TestRemoveMarkdownImages: """测试 remove_markdown_images 函数。""" def test_remove_image(self): content = "Text ![alt](image.png) more text" result = remove_markdown_images(content) assert "![alt](image.png)" not in result