aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar wookie184 <[email protected]>2024-12-30 14:45:13 +0000
committerGravatar wookie184 <[email protected]>2024-12-30 14:45:13 +0000
commit0a312062ac4b40e350eeb986e37f73f4cb37fb84 (patch)
tree66e63084fdb5b025380c62b84f60cbb56ecab6b0
parentBump 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.py2
-rw-r--r--tests/bot/exts/info/doc/test_parsing.py17
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)