Exemple #1
0
 def test_locale_aliases(self):
     # Verify case insensitivty for locale aliases.
     pod = testing.create_test_pod()
     locale = locales.Locale('de')
     locale.set_alias(pod)
     self.assertEqual('de_alias', locale.alias)
     locale = locales.Locale('DE')
     locale.set_alias(pod)
     self.assertEqual('de_alias', locale.alias)
Exemple #2
0
 def test_multi_file_localization(self):
     fr_doc = self.pod.get_doc('/content/pages/intro.md', locale='fr')
     self.assertEqual(locales.Locale('fr'), fr_doc.locale)
     self.assertEqual('/content/pages/[email protected]', fr_doc.pod_path)
     self.assertEqual('/content/pages/intro.md', fr_doc.root_pod_path)
     self.assertIn('French About page.', fr_doc.html)
     de_doc = self.pod.get_doc('/content/pages/intro.md', locale='de')
     de_doc_from_fr_doc = fr_doc.localize('de')
     self.assertEqual(de_doc, de_doc_from_fr_doc)
     self.assertEqual('root_value', de_doc.key)
     self.assertEqual('fr_value', fr_doc.key)
     self.assertEqual('root_key_value', de_doc.root_key)
     self.assertEqual('root_key_value', fr_doc.root_key)
     keys = ['$title', '$order', '$titles', 'key', 'root_key']
     self.assertItemsEqual(keys, fr_doc.fields.keys())
Exemple #3
0
    def test_locales(self):
        doc = self.pod.get_doc('/content/pages/contact.yaml')
        self.assertEqual(locales.Locale('de'), doc.locale)
        expected = locales.Locale.parse_codes([
            'de',
            'fr',
            'it',
        ])
        self.assertEqual(expected, doc.locales)

        # Currently, when requesting a document with a locale that is not
        # specified, we return a path that is unmatchable. TBD whether we want
        # to change this in a future version.
        ko_doc = self.pod.get_doc('/content/pages/contact.yaml', locale='ko')
        expected = '/ko/contact-us/'
        self.assertEqual(expected, ko_doc.url.path)
        self.assertTrue(ko_doc.exists)
Exemple #4
0
    def test_default_locale(self):
        doc = self.pod.get_doc('/content/localized/localized.yaml',
                               locale='de')
        self.assertEqual('/views/ja-specific-view.html', doc.view)
        self.assertEqual(locales.Locale('de'), doc.locale)
        self.assertEqual('base_ja', doc.foo)
        self.assertEqual('baz', doc.bar)

        doc = self.pod.get_doc('/content/localized/localized.yaml')
        self.assertEqual('/views/ja-specific-view.html', doc.view)
        self.assertEqual(locales.Locale('ja'), doc.locale)
        self.assertEqual(locales.Locale('ja'), doc.default_locale)
        self.assertEqual('base_ja', doc.foo)
        self.assertEqual('baz', doc.bar)

        doc = self.pod.get_doc('/content/localized/localized.yaml',
                               locale='ja')
        self.assertEqual('/views/ja-specific-view.html', doc.view)
        self.assertEqual(locales.Locale('ja'), doc.locale)
        self.assertEqual('base_ja', doc.foo)
        self.assertEqual('baz', doc.bar)

        doc = self.pod.get_doc('/content/localized/localized.yaml',
                               locale='fr')
        self.assertEqual('/views/ja-specific-view.html', doc.view)
        self.assertEqual(locales.Locale('fr'), doc.locale)
        self.assertEqual('base_ja', doc.foo)
        self.assertEqual('baz', doc.bar)
        self.assertEqual('/intl/fr/localized/', doc.url.path)

        doc = self.pod.get_doc('/content/localized/localized.yaml',
                               locale='en')
        self.assertEqual('/views/localized.html', doc.view)
        self.assertEqual(locales.Locale('en'), doc.locale)
        self.assertEqual('base', doc.foo)
        self.assertEqual('baz', doc.bar)
        self.assertEqual('/intl/en/localized/', doc.url.path)
Exemple #5
0
 def test_eq(self):
     locale = locales.Locale('en_US')
     self.assertEqual(locale, 'en_US')
     self.assertEqual(locale, 'en_us')
     self.assertEqual(locale, locales.Locale('en_US'))
     self.assertEqual(locale, locales.Locale('en_us'))
Exemple #6
0
 def get_doc(self, path, locale=None):
     if isinstance(locale, basestring):
         locale = locales.Locale(locale)
     return self._paths_to_locales_to_docs.get(path, {}).get(locale)