def test_full_lang_code(self):
        unload_all_languages()
        self.assertEqual(lingua_franca.get_default_lang(), None)
        # Return default full lang code if no primary code is passed
        lingua_franca.load_language('en')
        self.assertEqual(lingua_franca.get_full_lang_code(), 'en-us')

        lingua_franca.load_language('es')
        lingua_franca.set_default_lang('es')
        self.assertEqual(lingua_franca.get_full_lang_code(), 'es-es')

        # Go look up the default full code for a provided primary code
        self.assertEqual(lingua_franca.get_full_lang_code('de'), 'de-de')
        # Fail on wrong type, or language not recognized
        with self.assertRaises(TypeError):
            lingua_franca.get_full_lang_code(12)

# TODO remove this test and replace with the one below as soon as practical
        self.assertWarns(DeprecationWarning, lingua_franca.get_full_lang_code,
                         "bob robertson")

        # TODO this is the version of the test we should use once invalid lang
        # params are deprecated:
        #
        #        with self.assertRaises(
        #                lingua_franca.internal.UnsupportedLanguageError):
        #            lingua_franca.get_full_lang_code("bob robertson")
        unload_all_languages()
示例#2
0
    def test_load_language(self):
        lingua_franca.load_language('en')

        # Verify that English is loaded and, since it's the only language
        # we've loaded, also the default.
        self.assertEqual(lingua_franca.get_default_lang(), 'en')
        # Verify that English's default full code is 'en-us'
        self.assertEqual(lingua_franca.get_full_lang_code('en'), 'en-us')
        # Verify that this is also our current full code
        self.assertEqual(lingua_franca.get_default_loc(), 'en-us')
        self.assertFalse('es' in lingua_franca.get_active_langs())

        # Verify that unloaded languages can't be invoked explicitly
        self.assertRaises(ModuleNotFoundError,
                          lingua_franca.parse.extract_number,
                          'uno', lang='es')
        unload_all_languages()