File size: 6,264 Bytes
3e848bc
 
 
 
 
d25f40f
faefd3f
33c503f
5c26975
7914bb3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
faefd3f
3e848bc
c754d32
3e848bc
 
 
c754d32
 
853b244
f8ccea0
 
 
 
 
 
 
 
ffa7560
f8ccea0
 
 
3e848bc
33eb915
 
 
 
 
 
 
c754d32
f2a55e2
c754d32
a06172d
6add4ab
 
 
f2a55e2
c754d32
a06172d
c754d32
f2a55e2
 
c754d32
f2a55e2
 
f36740b
 
 
f5c8ab8
a27ea01
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
#!/usr/bin/env python

"""Tests for `deep_translator` package."""

import pytest
from deep_translator import exceptions, GoogleTranslator
from deep_translator.constants import GOOGLE_CODES_TO_LANGUAGES


test_text_standard = 'Hello world.'

TRANSLATED_RESULTS = {
    "afrikaans": "Hello Wêreld.",
    "albanian": "Përshendetje Botë.",
    "amharic": "ሰላም ልዑል.",
    "arabic": "مرحبا بالعالم.",
    "armenian": "Բարեւ աշխարհ.",
    "azerbaijani": "Salam dünya.",
    "basque": "Kaixo Mundua.",
    "belarusian": "Прывітанне Сусвет.",
    "bengali": "ওহে বিশ্ব.",
    "bosnian": "Zdravo svijete.",
    "bulgarian": "Здравей свят.",
    "catalan": "Hola món.",
    "cebuano": "Kumusta kalibutan.",
    "chichewa": "Moni Dziko Lapansi.",
    "chinese (simplified)": "你好,世界。",
    "chinese (traditional)": "你好,世界。",
    "corsican": "Bonghjornu mondu.",
    "croatian": "Pozdrav svijete.",
    "czech": "Ahoj světe.",
    "danish": "Hej Verden.",
    "dutch": "Hallo Wereld.",
    "esperanto": "Saluton mondo.",
    "estonian": "Tere, Maailm.",
    "filipino": "Kamusta mundo",
    "finnish": "Hei maailma.",
    "french": "Bonjour le monde.",
    "frisian": "Hallo wrâld.",
    "galician": "Ola mundo.",
    "georgian": "Გამარჯობა მსოფლიო.",
    "german": "Hallo Welt.",
    "greek": "Γειά σου Κόσμε.",
    "gujarati": "હેલો વર્લ્ડ.",
    "haitian creole": "Bonjou mond.",
    "hausa": "Sannu Duniya.",
    "hawaiian": "Aloha honua.",
    "hebrew": "שלום עולם.",
    "hindi": "नमस्ते दुनिया।",
    "hmong": "Nyob zoo ntiaj teb.",
    "hungarian": "Helló Világ.",
    "icelandic": "Halló heimur.",
    "igbo": "Ndewo Ụwa.",
    "indonesian": "Halo Dunia.",
    "irish": "Dia duit ar domhan.",
    "italian": "Ciao mondo.",
    "japanese": "こんにちは世界。",
    "javanese": "Halo jagad.",
    "kannada": "ಹಲೋ ವಿಶ್ವ.",
    "kazakh": "Сәлем Әлем.",
    "khmer": "សួស្តី​ពិភពលោក។",
    "kinyarwanda": "Mwaramutse isi.",
    "korean": "안녕하세요 세계입니다.",
    "kurdish": "Hello cîhanê.",
    "kyrgyz": "Салам дүйнө.",
    "lao": "ສະ​ບາຍ​ດີ​ຊາວ​ໂລກ.",
    "latin": "Salve mundi.",
    "latvian": "Sveika pasaule.",
    "lithuanian": "Labas pasauli.",
    "luxembourgish": "Moien Welt.",
    "macedonian": "Здраво свету.",
    "malagasy": "Hello World.",
    "malay": "Hai dunia.",
    "malayalam": "ഹലോ വേൾഡ്.",
    "maltese": "Hello dinja.",
    "maori": "Kia ora te ao.",
    "marathi": "नमस्कार जग.",
    "mongolian": "Сайн уу ертөнц.",
    "myanmar": "မင်္ဂလာပါကမ္ဘာလောက။",
    "nepali": "नमस्कार संसार।",
    "norwegian": "Hei Verden.",
    "odia": "ନମସ୍କାର ବିଶ୍ୱବାସି।",
    "pashto": "سلام نړی.",
    "persian": "سلام دنیا.",
    "polish": "Witaj świecie.",
    "portuguese": "Olá Mundo.",
    "punjabi": "ਸਤਿ ਸ੍ਰੀ ਅਕਾਲ ਦੁਨਿਆ.",
    "romanian": "Salut Lume.",
    "russian": "Привет, мир.",
    "samoan": "Talofa lalolagi.",
    "scots gaelic": "Hàlo a Shaoghail.",
    "serbian": "Здраво Свете.",
    "sesotho": "Lefatše Lumela.",
    "shona": "Mhoro nyika.",
    "sindhi": "هيلو دنيا.",
    "sinhala": "හෙලෝ වර්ල්ඩ්.",
    "slovak": "Ahoj svet.",
    "slovenian": "Pozdravljen, svet.",
    "somali": "Salaamu calaykum.",
    "spanish": "Hola Mundo.",
    "sundanese": "Halo Dunya.",
    "swahili": "Salamu, Dunia.",
    "swedish": "Hej världen.",
    "tajik": "Салом Ҷаҳон.",
    "tamil": "வணக்கம் உலகம்.",
    "tatar": "Сәлам, Дөнья.",
    "telugu": "హలో వరల్డ్.",
    "thai": "สวัสดีชาวโลก.",
    "turkish": "Selam Dünya.",
    "turkmen": "Salam dünýä.",
    "ukrainian": "Привіт Світ.",
    "urdu": "سلام دنیا۔",
    "uyghur": "ياخشىمۇسىز دۇنيا.",
    "uzbek": "Salom Dunyo.",
    "vietnamese": "Chào thế giới.",
    "welsh": "Helo Byd.",
    "xhosa": "Molo Lizwe.",
    "yiddish": "העלא וועלט.",
    "yoruba": "Mo ki O Ile Aiye.",
    "zulu": "Sawubona Mhlaba."
}


@pytest.fixture
def google_translator():
    """Sample pytest fixture.
    See more at: http://doc.pytest.org/en/latest/fixture.html
    """
    return GoogleTranslator(target='en')


def test_content(google_translator):
    """Sample pytest test function with the pytest fixture as an argument."""
    # from bs4 import BeautifulSoup
    # assert 'GitHub' in BeautifulSoup(response.content).title.string
    assert google_translator.translate(text='좋은') == "good"

def test_abbreviations_and_languages_mapping():
    for abb, lang in GOOGLE_CODES_TO_LANGUAGES.items():
        if abb != 'en':
            g1 = GoogleTranslator(abb)
            g2 = GoogleTranslator(lang)
            assert g1._source == g2._source

def test_inputs():
    with pytest.raises(exceptions.LanguageNotSupportedException):
        GoogleTranslator(source="", target="")

    with pytest.raises(exceptions.LanguageNotSupportedException):
        GoogleTranslator(source="auto", target="nothing")

def test_payload(google_translator):

    with pytest.raises(exceptions.NotValidPayload):
        google_translator.translate(text="")
        google_translator.translate(text='1234')
        google_translator.translate(text='{}')
        google_translator.translate(text='%@')

    with pytest.raises(exceptions.NotValidPayload):
        google_translator.translate(text=123)

    with pytest.raises(exceptions.NotValidPayload):
        google_translator.translate(text={})

    with pytest.raises(exceptions.NotValidPayload):
        google_translator.translate(text=[])

    with pytest.raises(exceptions.NotValidLength):
        google_translator.translate("a"*5001)

def test_one_character_words():
    assert GoogleTranslator(source='es', target='en').translate('o') == 'or'