# -*- coding: utf-8 -*- # This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. import unittest from compare_locales import webapps class TestFileComparison(unittest.TestCase): def mock_FileComparison(self, mock_listdir): class Target(webapps.FileComparison): def _listdir(self): return mock_listdir() return Target('.', 'en-US') def test_just_reference(self): def _listdir(): return ['my_app.en-US.properties'] filecomp = self.mock_FileComparison(_listdir) filecomp.files() self.assertEqual(filecomp.locales(), []) self.assertEqual(filecomp._reference.keys(), ['my_app']) file_ = filecomp._reference['my_app'] self.assertEqual(file_.file, 'locales/my_app.en-US.properties') def test_just_locales(self): def _listdir(): return ['my_app.ar.properties', 'my_app.sr-Latn.properties', 'my_app.sv-SE.properties', 'my_app.po_SI.properties'] filecomp = self.mock_FileComparison(_listdir) filecomp.files() self.assertEqual(filecomp.locales(), ['ar', 'sr-Latn', 'sv-SE']) self.assertEqual(filecomp._files['ar'].keys(), ['my_app']) file_ = filecomp._files['ar']['my_app'] self.assertEqual(file_.file, 'locales/my_app.ar.properties')