diff options
| -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)  |