Skip to content

Commit 2b40c83

Browse files
tests: add test case for mixed direction text with tag-handling
1 parent 8914916 commit 2b40c83

File tree

1 file changed

+34
-1
lines changed

1 file changed

+34
-1
lines changed

tests/test_general.py

+34-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,12 @@
22
# Use of this source code is governed by an MIT
33
# license that can be found in the LICENSE file.
44

5-
from .conftest import example_text, needs_mock_server, needs_mock_proxy_server
5+
from .conftest import (
6+
example_text,
7+
needs_mock_server,
8+
needs_mock_proxy_server,
9+
needs_real_server,
10+
)
611
from requests import Response # type: ignore
712
from unittest.mock import patch, Mock
813
import deepl
@@ -33,6 +38,34 @@ def test_example_translation(lang, translator):
3338
assert "proton" in result_text
3439

3540

41+
@needs_real_server
42+
def test_mixed_direction_text(translator):
43+
ar_ignore_part = "<ignore>يجب تجاهل هذا الجزء.</ignore>"
44+
en_sentence_with_ar_ignore_part = (
45+
"<p>This is a <b>short</b> <i>sentence</i>. "
46+
f"{ar_ignore_part} This is another sentence."
47+
)
48+
en_result = translator.translate_text(
49+
en_sentence_with_ar_ignore_part,
50+
target_lang="en-US",
51+
tag_handling="xml",
52+
ignore_tags="ignore",
53+
)
54+
assert ar_ignore_part in en_result.text
55+
56+
en_ignore_part = "<ignore>This part should be ignored.</ignore>"
57+
ar_sentence_with_en_ignore_part = (
58+
f"<p>هذه <i>جملة</i> <b>قصيرة</b>. {en_ignore_part} هذه جملة أخرى.</p>"
59+
)
60+
ar_result = translator.translate_text(
61+
ar_sentence_with_en_ignore_part,
62+
target_lang="ar",
63+
tag_handling="xml",
64+
ignore_tags="ignore",
65+
)
66+
assert en_ignore_part in ar_result.text
67+
68+
3669
def test_translate_with_enums(translator):
3770
result = translator.translate_text(
3871
example_text["EN"],

0 commit comments

Comments
 (0)