diff --git a/weblate/trans/templatetags/translations.py b/weblate/trans/templatetags/translations.py index 34664378fa3e..6bb7fe6aaa8b 100644 --- a/weblate/trans/templatetags/translations.py +++ b/weblate/trans/templatetags/translations.py @@ -420,13 +420,12 @@ def format_generator(self) -> Generator[str]: if pos in tags: current = tags[pos] - # Special case for single whitespace char in diff + # Special case for leading whitespace char in diff if ( current and value[pos] == " " and "" in current and SPACE_START not in current - and "" in tags[pos + 1] ): current.append(SPACE_START) tags[pos + 1].insert(0, SPACE_END) diff --git a/weblate/trans/tests/test_suggestions.py b/weblate/trans/tests/test_suggestions.py index 9c886dbc2547..80833dda366c 100644 --- a/weblate/trans/tests/test_suggestions.py +++ b/weblate/trans/tests/test_suggestions.py @@ -106,7 +106,11 @@ def test_change_diff_for_deleted_suggestion(self, **kwargs) -> None: response = self.client.get(translate_url) self.assertNotContains(response, "Suggestion removed") # 1st diff occurrence is in the "Suggestions" tab, the 2nd in "History" tab - self.assertContains(response, "Nazdar svete!", count=2) + self.assertContains( + response, + """Nazdar svete!""", + count=2, + ) suggestions = self.get_unit().suggestions.values_list("pk", flat=True) self.assertEqual(len(suggestions), 1) @@ -119,7 +123,11 @@ def test_change_diff_for_deleted_suggestion(self, **kwargs) -> None: self.assertContains(response, "Suggestion added", count=1) # both diff occurrence are in "History" tab, # as suggestion is no longer visible in the "Suggestion" tab - self.assertContains(response, "Nazdar svete!", count=2) + self.assertContains( + response, + """Nazdar svete!""", + count=2, + ) def test_delete_spam(self) -> None: self.test_delete(spam="1") diff --git a/weblate/trans/tests/test_templatetags.py b/weblate/trans/tests/test_templatetags.py index e4ddf229a5aa..5a4f4deeba64 100644 --- a/weblate/trans/tests/test_templatetags.py +++ b/weblate/trans/tests/test_templatetags.py @@ -388,6 +388,20 @@ def test_diff_changed_whitespace(self) -> None: """, ) + def test_diff_whitespace_leading_added(self) -> None: + self.assertHTMLEqual( + format_translation( + ["新增 :http:get:"], + self.component.source_language, + diff="新增:http:get:", + )["items"][0]["content"], + """新增 + + : + http:get: + """, + ) + def test_glossary(self) -> None: self.assertHTMLEqual( format_translation(