[gedit-plugins/translate] More UT
- From: Jordi Mas <jmas src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gedit-plugins/translate] More UT
- Date: Mon, 24 Jul 2017 19:17:32 +0000 (UTC)
commit 9d123e269e817389a70a8da345e4ba88d8dea925
Author: Jordi Mas <jmas softcatala org>
Date: Mon Jul 24 21:17:19 2017 +0200
More UT
plugins/translate/tests/testapertium.py | 26 ++++++++++++++++++++++
plugins/translate/translate/services/apertium.py | 6 +++++
2 files changed, 32 insertions(+), 0 deletions(-)
---
diff --git a/plugins/translate/tests/testapertium.py b/plugins/translate/tests/testapertium.py
index 25b882b..3433741 100644
--- a/plugins/translate/tests/testapertium.py
+++ b/plugins/translate/tests/testapertium.py
@@ -21,10 +21,14 @@
import unittest
from services.apertium import Apertium
from unittest.mock import patch, MagicMock
+from unittest.mock import Mock
class TestApertium(unittest.TestCase):
+ def setUp(self):
+ Apertium._clean_for_ut()
+
@patch('urllib.request.urlopen')
def test_translate_text(self, mock_urlopen):
cm = MagicMock()
@@ -38,6 +42,28 @@ class TestApertium(unittest.TestCase):
self.assertEqual('Hauries d\'haver-hi rebut una còpia', translated)
mock_urlopen.assert_called_with("https://www.apertium.org/apy/translate?langpair=eng|cat&markUnknown=no&q=You+should+have+received+a+copy")
+ def test__get_remote_language_names_and_pairs_localized(self):
+ mockObject = Apertium(False)
+ mockObject._get_user_locale = Mock(return_value='ca')
+ mockObject._get_remote_language_pairs = Mock(return_value=[['es'], ['en'], ['es', 'en'], ['es|en']])
+ mockObject._get_remote_language_names = Mock(return_value={'es': 'Espanyol', 'en': 'Anglès'})
+
+ mockObject._get_remote_language_names_and_pairs()
+ self.assertEqual({'en': 'Anglès', 'es': 'Espanyol'}, Apertium.g_locales_names)
+ self.assertEqual(['Espanyol -> Anglès'], Apertium.g_language_names)
+ self.assertEqual(['es|en'], Apertium.g_language_codes)
+
+ def test__get_remote_language_names_and_pairs_non_localized(self):
+ mockObject = Apertium(False)
+ mockObject._get_user_locale = Mock(return_value='ca_ES')
+ mockObject._get_remote_language_pairs = Mock(return_value=[['ca'], ['en'], ['ca', 'en'], ['ca|en']])
+ mockObject._get_remote_language_names = Mock(return_value={'es': 'Espanyol', 'en': 'Anglès'})
+ mockObject._add_missing_locale_names_in_english = Mock(return_value={'ca': 'Català', 'en':
'English'})
+
+ mockObject._get_remote_language_names_and_pairs()
+ self.assertEqual({'en': 'English', 'ca': 'Català'}, Apertium.g_locales_names)
+ self.assertEqual(['Català -> English'], Apertium.g_language_names)
+ self.assertEqual(['ca|en'], Apertium.g_language_codes)
if __name__ == '__main__':
unittest.main()
diff --git a/plugins/translate/translate/services/apertium.py
b/plugins/translate/translate/services/apertium.py
index a75b92a..50b6be7 100644
--- a/plugins/translate/translate/services/apertium.py
+++ b/plugins/translate/translate/services/apertium.py
@@ -45,6 +45,12 @@ class Apertium(Service):
if init is True:
self._get_remote_language_names_and_pairs()
+ @staticmethod
+ def _clean_for_ut():
+ Apertium.g_language_codes = []
+ Apertium.g_language_names = []
+ Apertium.g_locales_names = {}
+
def has_api_key(self):
return False
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]