Beispiel #1
0
 def test_work_out_locales__france(self):
     # as it is (roughly) on a foreign language site
     locales, default = Locales()._work_out_locales(['en', 'fr', 'de'],
                                                    {'ckan.locale': 'fr'})
     # fr moved to start of the list
     assert_equal(locales, ['fr', 'en', 'de'])
     assert_equal(default, 'fr')
Beispiel #2
0
 def test_work_out_locales__locales_filtered_out(self):
     locales, default = Locales()._work_out_locales(
         ['en', 'fr', 'de'], {
             'ckan.locale': 'fr',
             'ckan.locales_filtered_out': 'de'
         })
     assert_equal(locales, ['fr', 'en'])
     assert_equal(default, 'fr')
Beispiel #3
0
 def test_work_out_locales__locales_order(self):
     locales, default = Locales()._work_out_locales(
         ['en', 'fr', 'de'], {
             'ckan.locale': 'fr',
             'ckan.locale_order': 'de fr en'
         })
     assert_equal(locales, ['de', 'fr', 'en'])
     assert_equal(default, 'fr')
Beispiel #4
0
    def test_get_available_locales(self):
        locales = Locales().get_available_locales()
        assert len(locales) > 5, locales
        locale = locales[0]
        assert isinstance(locale, Locale)

        locales_str = set([str(locale) for locale in locales])
        langs = set([locale.language for locale in locales])
        assert set(('en', 'de', 'cs_CZ')) < locales_str, locales_str
        assert set(('en', 'de', 'cs')) < langs, langs
Beispiel #5
0
 def test_work_out_locales__default(self):
     # don't specify default lang and it is not en,
     # so default to next in list.
     locales, default = Locales()._work_out_locales(
         ['en', 'fr', 'de'], {
             'ckan.locale': 'fr',
             'ckan.locales_filtered_out': 'en'
         })
     assert_equal(locales, ['fr', 'de'])
     assert_equal(default, 'fr')
Beispiel #6
0
    def test_negotiate_known_locale(self):
        # check exact matches always work
        locales = Locales().get_available_locales()
        for locale in locales:
            result = Locales().negotiate_known_locale([locale])
            assert_equal(result, locale)

        assert_equal(Locales().negotiate_known_locale(['en_US']), 'en')
        assert_equal(Locales().negotiate_known_locale(['en_AU']), 'en')
        assert_equal(Locales().negotiate_known_locale(['es_ES']), 'es')
        assert_equal(Locales().negotiate_known_locale(['pt']), 'pt_BR')
Beispiel #7
0
 def test_default_locale(self):
     # This should be setup in test-core.ini
     assert_equal(config.get('ckan.locale_default'), 'en')
     default_locale = Locales().get_default_locale()
     assert isinstance(default_locale, Locale)
     assert_equal(default_locale.language, 'en')
Beispiel #8
0
 def test_work_out_locales__bad_default(self):
     assert_raises(ValueError,
                   Locales()._work_out_locales, ['en', 'fr', 'de'], {
                       'ckan.locale': 'en',
                       'ckan.locales_offered': 'fr de'
                   })
Beispiel #9
0
 def test_work_out_locales__locales_offered(self):
     locales, default = Locales()._work_out_locales(
         ['en', 'fr', 'de'], {'ckan.locales_offered': 'fr de'})
     assert_equal(locales, ['fr', 'de'])
     assert_equal(default, 'fr')
Beispiel #10
0
 def test_work_out_locales__thedatahub(self):
     # as it is (roughly) on thedatahub.org
     locales, default = Locales()._work_out_locales(['en', 'fr', 'de'],
                                                    {'ckan.locale': 'en'})
     assert_equal(locales, ['en', 'fr', 'de'])
     assert_equal(default, 'en')