7 import mozharness
.base
.log
as log
8 import mozharness
.base
.script
as script
9 import mozharness
.mozilla
.l10n
.locales
as locales
11 ALL_LOCALES
= ['ar', 'be', 'de', 'es-ES']
13 MH_DIR
= os
.path
.dirname(os
.path
.dirname(os
.path
.abspath(__file__
)))
16 if os
.path
.exists('test_logs'):
17 shutil
.rmtree('test_logs')
19 class LocalesTest(locales
.LocalesMixin
, script
.BaseScript
):
20 def __init__(self
, **kwargs
):
21 if 'config' not in kwargs
:
22 kwargs
['config'] = {'log_type': 'simple',
24 if 'initial_config_file' not in kwargs
:
25 kwargs
['initial_config_file'] = 'test/test.json'
26 super(LocalesTest
, self
).__init
__(**kwargs
)
30 class TestLocalesMixin(unittest
.TestCase
):
31 BASE_ABS_DIRS
= ['abs_compare_locales_dir', 'abs_log_dir',
32 'abs_upload_dir', 'abs_work_dir', 'base_work_dir']
39 def test_query_locales_locales(self
):
41 l
.locales
= ['a', 'b', 'c']
42 self
.assertEqual(l
.locales
, l
.query_locales())
44 def test_query_locales_ignore_locales(self
):
46 l
.config
['locales'] = ['a', 'b', 'c']
47 l
.config
['ignore_locales'] = ['a', 'c']
48 self
.assertEqual(['b'], l
.query_locales())
50 def test_query_locales_config(self
):
52 l
.config
['locales'] = ['a', 'b', 'c']
53 self
.assertEqual(l
.config
['locales'], l
.query_locales())
55 def test_query_locales_json(self
):
57 l
.config
['locales_file'] = os
.path
.join(MH_DIR
, "test/helper_files/locales.json")
58 l
.config
['base_work_dir'] = '.'
59 l
.config
['work_dir'] = '.'
60 locales
= l
.query_locales()
62 self
.assertEqual(ALL_LOCALES
, locales
)
64 # Commenting out til we can hide the FATAL ?
65 # def test_query_locales_no_file(self):
67 # l.config['base_work_dir'] = '.'
68 # l.config['work_dir'] = '.'
74 # self.assertTrue(False, "query_locales with no file doesn't fatal()!")
76 def test_parse_locales_file(self
):
78 self
.assertEqual(ALL_LOCALES
, l
.parse_locales_file(os
.path
.join(MH_DIR
, 'test/helper_files/locales.txt')))
80 def _get_query_abs_dirs_obj(self
):
82 l
.config
['base_work_dir'] = "base_work_dir"
83 l
.config
['work_dir'] = "work_dir"
86 def test_query_abs_dirs_base(self
):
87 l
= self
._get
_query
_abs
_dirs
_obj
()
88 dirs
= l
.query_abs_dirs().keys()
90 self
.assertEqual(dirs
, self
.BASE_ABS_DIRS
)
92 def test_query_abs_dirs_base2(self
):
93 l
= self
._get
_query
_abs
_dirs
_obj
()
94 l
.query_abs_dirs().keys()
95 dirs
= l
.query_abs_dirs().keys()
97 self
.assertEqual(dirs
, self
.BASE_ABS_DIRS
)
99 def test_query_abs_dirs_l10n(self
):
100 l
= self
._get
_query
_abs
_dirs
_obj
()
101 l
.config
['l10n_dir'] = "l10n_dir"
102 dirs
= l
.query_abs_dirs().keys()
104 expected_dirs
= self
.BASE_ABS_DIRS
+ ['abs_l10n_dir']
106 self
.assertEqual(dirs
, expected_dirs
)
108 def test_query_abs_dirs_mozilla(self
):
109 l
= self
._get
_query
_abs
_dirs
_obj
()
110 l
.config
['l10n_dir'] = "l10n_dir"
111 l
.config
['mozilla_dir'] = "mozilla_dir"
112 l
.config
['locales_dir'] = "locales_dir"
113 dirs
= l
.query_abs_dirs().keys()
115 expected_dirs
= self
.BASE_ABS_DIRS
+ ['abs_mozilla_dir', 'abs_locales_src_dir', 'abs_l10n_dir']
117 self
.assertEqual(dirs
, expected_dirs
)
119 def test_query_abs_dirs_objdir(self
):
120 l
= self
._get
_query
_abs
_dirs
_obj
()
121 l
.config
['l10n_dir'] = "l10n_dir"
122 l
.config
['mozilla_dir'] = "mozilla_dir"
123 l
.config
['locales_dir'] = "locales_dir"
124 l
.config
['objdir'] = "objdir"
125 dirs
= l
.query_abs_dirs().keys()
127 expected_dirs
= self
.BASE_ABS_DIRS
+ ['abs_mozilla_dir', 'abs_locales_src_dir', 'abs_l10n_dir', 'abs_objdir', 'abs_merge_dir', 'abs_locales_dir']
129 self
.assertEqual(dirs
, expected_dirs
)
131 if __name__
== '__main__':