diff options
author | 2024-12-30 14:45:13 +0000 | |
---|---|---|
committer | 2024-12-30 14:45:13 +0000 | |
commit | 0a312062ac4b40e350eeb986e37f73f4cb37fb84 (patch) | |
tree | 66e63084fdb5b025380c62b84f60cbb56ecab6b0 | |
parent | Bump markdownify from 0.13.1 to 0.14.1 (diff) |
Remove surrounding whitespace from doc description markdown
-rw-r--r-- | bot/exts/info/doc/_parsing.py | 2 | ||||
-rw-r--r-- | tests/bot/exts/info/doc/test_parsing.py | 17 |
2 files changed, 18 insertions, 1 deletions
diff --git a/bot/exts/info/doc/_parsing.py b/bot/exts/info/doc/_parsing.py index dd2d6496c..bc5a5bd31 100644 --- a/bot/exts/info/doc/_parsing.py +++ b/bot/exts/info/doc/_parsing.py @@ -186,7 +186,7 @@ def _get_truncated_description( # Nothing needs to be truncated if the last element ends before the truncation index. if truncate_index >= markdown_element_ends[-1]: - return result + return result.strip(string.whitespace) # Determine the actual truncation index. possible_truncation_indices = [cut for cut in markdown_element_ends if cut < truncate_index] diff --git a/tests/bot/exts/info/doc/test_parsing.py b/tests/bot/exts/info/doc/test_parsing.py index d2105a53c..065255bea 100644 --- a/tests/bot/exts/info/doc/test_parsing.py +++ b/tests/bot/exts/info/doc/test_parsing.py @@ -1,5 +1,7 @@ from unittest import TestCase +from bs4 import BeautifulSoup + from bot.exts.info.doc import _parsing as parsing from bot.exts.info.doc._markdown import DocMarkdownConverter @@ -87,3 +89,18 @@ class MarkdownConverterTest(TestCase): with self.subTest(input_string=input_string): d = DocMarkdownConverter(page_url="https://example.com") self.assertEqual(d.convert(input_string), expected_output) + + +class MarkdownCreationTest(TestCase): + def test_surrounding_whitespace(self): + test_cases = ( + ("<p>Hello World</p>", "Hello World"), + ("<p>Hello</p><p>World</p>", "Hello\n\nWorld"), + ) + self._run_tests(test_cases) + + def _run_tests(self, test_cases: tuple[tuple[str, str], ...]): + for input_string, expected_output in test_cases: + with self.subTest(input_string=input_string): + tags = BeautifulSoup(input_string, "html.parser") + self.assertEqual(parsing._create_markdown(None, tags, "https://example.com"), expected_output) |