Skip to content

Commit 746575b

Browse files
committed
Update Python version in GitHub Actions and enhance translation tests with from_lang parameter
- Changed the Python version matrix in GitHub Actions from 3.7 to 3.9. - Updated translation tests to include the from_lang parameter for better accuracy in translations across multiple languages.
1 parent 3c6037e commit 746575b

2 files changed

Lines changed: 19 additions & 15 deletions

File tree

.github/workflows/main.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
strategy:
1717
fail-fast: false
1818
matrix:
19-
python-version: ['3.7', '3.10']
19+
python-version: ['3.9', '3.10']
2020
architecture: ['x64']
2121

2222
steps:

tests/test_translate.py

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -35,50 +35,50 @@ def test_tranlate_with_provider_extra_argument():
3535

3636
@vcr.use_cassette
3737
def test_tranlate_english_to_english():
38-
translator = Translator(to_lang='en')
38+
translator = Translator(to_lang='en', from_lang='en')
3939
translation = translator.translate('why')
4040
assert 'why' == translation
4141

4242

4343
@vcr.use_cassette
4444
def test_translate_english_to_chinese_traditional():
45-
translator = Translator(to_lang='zh-TW')
45+
translator = Translator(to_lang='zh-TW', from_lang='en')
4646
translation = translator.translate('hello world')
4747
assert u'你好,世界' == translation
4848

4949

5050
@vcr.use_cassette
5151
def test_translate_english_to_portuguese():
52-
translator = Translator(to_lang='pt-BR')
52+
translator = Translator(to_lang='pt-BR', from_lang='en')
5353
translation = translator.translate('hello world')
5454
assert u'olá mundo' == translation
5555

5656

5757
@vcr.use_cassette
5858
def test_translate_english_to_chinese_simplified():
59-
translator = Translator(to_lang='zh-CN')
59+
translator = Translator(to_lang='zh-CN', from_lang='en')
6060
translation = translator.translate('hello world')
6161
assert u'你好,世界' == translation
6262

6363

6464
@vcr.use_cassette
6565
def test_translate_with_quote():
66-
translator = Translator(to_lang='zh')
66+
translator = Translator(to_lang='zh', from_lang='en')
6767
translation = translator.translate("What is 'yinyang'?")
68-
assert u'什么是“阴阳”?' == translation
68+
assert u'什么是\u201c阴阳\u201d?' == translation
6969

7070

7171
@vcr.use_cassette
7272
def test_translate_with_multiple_sentences():
73-
translator = Translator(to_lang='zh')
73+
translator = Translator(to_lang='zh', from_lang='en')
7474
translation = translator.translate('yes or no')
7575
assert u'是或否' in translation
7676

7777

7878
@vcr.use_cassette
7979
def test_translate_with_HTTPError():
8080
import requests
81-
t = Translator(to_lang='de', provider='mymemory')
81+
t = Translator(to_lang='de', from_lang='en', provider='mymemory')
8282
t.provider.base_url += '-nonsense'
8383
with pytest.raises(requests.HTTPError) as error:
8484
t.translate('hello')
@@ -88,15 +88,19 @@ def test_translate_with_HTTPError():
8888
@vcr.use_cassette
8989
def test_translate_with_status_error():
9090
import requests
91-
t = Translator(to_lang='de', provider='mymemory', email='invalid')
91+
t = Translator(to_lang='de', from_lang='en', provider='mymemory', email='invalid')
9292
with pytest.raises((TranslationError, requests.HTTPError)) as error:
9393
t.translate('hello again!')
9494
assert 'INVALID EMAIL' in str(error).upper()
9595

9696

97-
@mock.patch('requests.get')
98-
def test_tranlate_taking_secondary_match(mock_requests, main_translation_not_found):
99-
mock_requests.return_value.json.return_value = main_translation_not_found
100-
translator = Translator(to_lang='zh-TW')
97+
@mock.patch('requests.Session.get')
98+
def test_tranlate_taking_secondary_match(mock_get, main_translation_not_found):
99+
import requests
100+
mock_response = mock.Mock()
101+
mock_response.raise_for_status = mock.Mock()
102+
mock_response.json.return_value = main_translation_not_found
103+
mock_get.return_value = mock_response
104+
translator = Translator(to_lang='zh-TW', from_lang='en')
101105
translation = translator.translate('unknown')
102-
assert '未知' == translation
106+
assert translation == '未知'

0 commit comments

Comments
 (0)