Exemple #1
0
def get_languages():
    env = os.environ.get("TEST_LANGS")
    if not env or env == "all":
        langs = _fetch_langs()
        langs.update(_extra_langs())
    elif env == "fetch":
        langs = _fetch_langs()
    elif env == "extra":
        langs = _extra_langs()
    else:
        env_langs = env.split(",")
        env_langs = [l for l in env_langs if l]
        langs = env_langs
    return langs
    def __init__(self, bot, **kwargs):
        self.bot = bot
        self.parse_kwargs(kwargs)

        # Grab valid TTS languages from `gtts.lang` to give language options
        try:
            self.valid_tts_langs = tts_langs()
        except RuntimeError:
            self.valid_tts_langs = _extra_langs()
        self.load_sounds()
def test_main_langs():
    """Fetch languages successfully"""
    # Downloaded Languages
    # Safe to assume 'en' (english) will always be there
    scraped_langs = _main_langs()
    assert 'en' in scraped_langs

    # Add-in Languages
    all_langs = tts_langs()
    extra_langs = _extra_langs()
    assert len(all_langs) == len(scraped_langs) + len(extra_langs)
def test_langs_dict():
    """Construct a dict of suites of languages to test.
    { '<suite name>' : <list or dict of language tags> }

    ex.: { 'fetch' : {'en': 'English', 'fr': 'French'},
           'extra' : {'en': 'English', 'fr': 'French'} }
    ex.: { 'environ' : ['en', 'fr'] }
    """
    langs = dict()
    env = os.environ.get('TEST_LANGS', '')
    if env == '' or env == 'all':
        langs['fetch'] = _fetch_langs()
        langs['extra'] = _extra_langs()
    elif env == 'fetch':
        langs['fetch'] = _fetch_langs()
    elif env == 'extra':
        langs['extra'] = _extra_langs()
    else:
        env_langs = env.split(',')
        env_langs = [l for l in env_langs if l]
        langs['environ'] = env_langs
    return langs
Exemple #5
0
    def test_fetch_langs(self):
        """Fetch languages successfully"""
        # Downloaded Languages
        # Safe to assume 'en' (english) will always be there
        scraped_langs = _fetch_langs()
        self.assertTrue('en' in scraped_langs)

        # Scraping garbage
        self.assertFalse('Detect language' in scraped_langs)
        self.assertFalse('—' in scraped_langs)

        # Add-in Languages
        all_langs = tts_langs()
        extra_langs = _extra_langs()
        self.assertEqual(len(all_langs), len(scraped_langs) + len(extra_langs))
Exemple #6
0
def test_fetch_langs():
    """Fetch languages successfully"""
    # Downloaded Languages
    # Safe to assume 'en' (english) will always be there
    scraped_langs = _fetch_langs()
    assert 'en' in scraped_langs

    # Scraping garbage
    assert 'Detect language' not in scraped_langs
    assert '—' not in scraped_langs

    # Add-in Languages
    all_langs = tts_langs()
    extra_langs = _extra_langs()
    assert len(all_langs) == len(scraped_langs) + len(extra_langs)
Exemple #7
0
#  * 'extra': Languagee set in Languages.EXTRA_LANGS
#  * 'all': All of the above
#  * <csv>: Languages tags list to test
# Unset TEST_LANGS to test everything ('all')
# See: langs_dict()
"""Construct a dict of suites of languages to test.
{ '<suite name>' : <list or dict of language tags> }

ex.: { 'fetch' : {'en': 'English', 'fr': 'French'},
       'extra' : {'en': 'English', 'fr': 'French'} }
ex.: { 'environ' : ['en', 'fr'] }
"""
env = os.environ.get('TEST_LANGS')
if not env or env == 'all':
    langs = _fetch_langs()
    langs.update(_extra_langs())
elif env == 'fetch':
    langs = _fetch_langs()
elif env == 'extra':
    langs = _extra_langs()
else:
    env_langs = env.split(',')
    env_langs = [l for l in env_langs if l]
    langs = env_langs


@pytest.mark.parametrize('lang', langs.keys(), ids=list(langs.values()))
def test_TTS(tmp_path, lang):
    """Test all supported languages and file save"""

    text = "This is a test"