Ejemplo n.º 1
0
 def test_match(self):
     # test matches as well as groupdict aliasing.
     one = Matcher('values-{android_locale}/strings.xml')
     self.assertEqual(
         one.match('values-de/strings.xml'),
         {
             'android_locale': 'de',
             'locale': 'de'
         }
     )
     self.assertEqual(
         one.match('values-de-rDE/strings.xml'),
         {
             'android_locale': 'de-rDE',
             'locale': 'de-DE'
         }
     )
     self.assertEqual(
         one.match('values-b+sr+Latn/strings.xml'),
         {
             'android_locale': 'b+sr+Latn',
             'locale': 'sr-Latn'
         }
     )
     self.assertEqual(
         one.with_env(
             {'locale': 'de'}
         ).match('values-de/strings.xml'),
         {
             'android_locale': 'de',
             'locale': 'de'
         }
     )
     self.assertEqual(
         one.with_env(
             {'locale': 'de-DE'}
         ).match('values-de-rDE/strings.xml'),
         {
             'android_locale': 'de-rDE',
             'locale': 'de-DE'
         }
     )
     self.assertEqual(
         one.with_env(
             {'locale': 'sr-Latn'}
         ).match('values-b+sr+Latn/strings.xml'),
         {
             'android_locale': 'b+sr+Latn',
             'locale': 'sr-Latn'
         }
     )
Ejemplo n.º 2
0
 def test_prefix(self):
     one = Matcher('values-{android_locale}/strings.xml')
     self.assertEqual(
         one.with_env({
             'locale': 'de'
         }).prefix, 'values-de/strings.xml')
     self.assertEqual(
         one.with_env({
             'locale': 'de-DE'
         }).prefix, 'values-de-rDE/strings.xml')
     self.assertEqual(
         one.with_env({
             'locale': 'sr-Latn'
         }).prefix, 'values-b+sr+Latn/strings.xml')
     self.assertEqual(one.prefix, 'values-')
Ejemplo n.º 3
0
 def test_mismatch(self):
     # test failed matches
     one = Matcher('values-{android_locale}/strings.xml')
     self.assertIsNone(
         one.with_env({
             'locale': 'de'
         }).match('values-fr.xml'))
     self.assertIsNone(
         one.with_env({
             'locale': 'de-DE'
         }).match('values-de-DE.xml'))
     self.assertIsNone(
         one.with_env({
             'locale': 'sr-Latn'
         }).match('values-sr-Latn.xml'))
     self.assertIsNone(
         Matcher('{android_locale}/{android_locale}').match(
             'b+sr+Latn/de-rDE'))
Ejemplo n.º 4
0
 def test_prefix(self):
     one = Matcher('values-{android_locale}/strings.xml')
     self.assertEqual(
         one.with_env({'locale': 'de'}).prefix,
         'values-de/strings.xml'
     )
     self.assertEqual(
         one.with_env({'locale': 'de-DE'}).prefix,
         'values-de-rDE/strings.xml'
     )
     self.assertEqual(
         one.with_env({'locale': 'sr-Latn'}).prefix,
         'values-b+sr+Latn/strings.xml'
     )
     self.assertEqual(
         one.prefix,
         'values-'
     )
Ejemplo n.º 5
0
 def test_aliases(self):
     # test legacy locale code mapping
     # he <-> iw, id <-> in, yi <-> ji
     one = Matcher('values-{android_locale}/strings.xml')
     for legacy, standard in six.iteritems(ANDROID_STANDARD_MAP):
         self.assertDictEqual(
             one.match('values-{}/strings.xml'.format(legacy)), {
                 'android_locale': legacy,
                 'locale': standard
             })
         self.assertEqual(
             one.with_env({
                 'locale': standard
             }).prefix, 'values-{}/strings.xml'.format(legacy))
Ejemplo n.º 6
0
 def test_mismatch(self):
     # test failed matches
     one = Matcher('values-{android_locale}/strings.xml')
     self.assertIsNone(
         one.with_env({'locale': 'de'}).match(
             'values-fr.xml'
         )
     )
     self.assertIsNone(
         one.with_env({'locale': 'de-DE'}).match(
             'values-de-DE.xml'
         )
     )
     self.assertIsNone(
         one.with_env({'locale': 'sr-Latn'}).match(
             'values-sr-Latn.xml'
         )
     )
     self.assertIsNone(
         Matcher('{android_locale}/{android_locale}').match(
             'b+sr+Latn/de-rDE'
         )
     )
Ejemplo n.º 7
0
 def test_aliases(self):
     # test legacy locale code mapping
     # he <-> iw, id <-> in, yi <-> ji
     one = Matcher('values-{android_locale}/strings.xml')
     for legacy, standard in six.iteritems(ANDROID_STANDARD_MAP):
         self.assertDictEqual(
             one.match('values-{}/strings.xml'.format(legacy)),
             {
                 'android_locale': legacy,
                 'locale': standard
             }
         )
         self.assertEqual(
             one.with_env({'locale': standard}).prefix,
             'values-{}/strings.xml'.format(legacy)
         )