summaryrefslogtreecommitdiff
path: root/tests/unit/test_utils.py
diff options
context:
space:
mode:
authorAdam Tauber <asciimoo@gmail.com>2018-04-05 17:27:07 +0200
committerGitHub <noreply@github.com>2018-04-05 17:27:07 +0200
commit283f6c905340087d7511bfcdb815c0b4183bcdda (patch)
treef5e450b1f02bde6fb52e7504e559fc96786ed807 /tests/unit/test_utils.py
parentfb2dba4762541394954b295d60cb255c2785bc65 (diff)
parent772c048d01c7585fd60afca1ce30a1914e6e5b4a (diff)
Merge pull request #1252 from MarcAbonce/search-languages
[mod] Refactor engine's search language handling
Diffstat (limited to 'tests/unit/test_utils.py')
-rw-r--r--tests/unit/test_utils.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/tests/unit/test_utils.py b/tests/unit/test_utils.py
index eb40e62e2..4854636c7 100644
--- a/tests/unit/test_utils.py
+++ b/tests/unit/test_utils.py
@@ -65,6 +65,31 @@ class TestUtils(SearxTestCase):
for test_url, expected in data:
self.assertEqual(utils.prettify_url(test_url, max_length=32), expected)
+ def test_match_language(self):
+ self.assertEqual(utils.match_language('es', ['es']), 'es')
+ self.assertEqual(utils.match_language('es', [], fallback='fallback'), 'fallback')
+ self.assertEqual(utils.match_language('ja', ['jp'], {'ja': 'jp'}), 'jp')
+
+ aliases = {'en-GB': 'en-UK', 'he': 'iw'}
+
+ # guess country
+ self.assertEqual(utils.match_language('de-DE', ['de']), 'de')
+ self.assertEqual(utils.match_language('de', ['de-DE']), 'de-DE')
+ self.assertEqual(utils.match_language('es-CO', ['es-AR', 'es-ES', 'es-MX']), 'es-ES')
+ self.assertEqual(utils.match_language('es-CO', ['es-MX']), 'es-MX')
+ self.assertEqual(utils.match_language('en-UK', ['en-AU', 'en-GB', 'en-US']), 'en-GB')
+ self.assertEqual(utils.match_language('en-GB', ['en-AU', 'en-UK', 'en-US'], aliases), 'en-UK')
+
+ # language aliases
+ self.assertEqual(utils.match_language('iw', ['he']), 'he')
+ self.assertEqual(utils.match_language('he', ['iw'], aliases), 'iw')
+ self.assertEqual(utils.match_language('iw-IL', ['he']), 'he')
+ self.assertEqual(utils.match_language('he-IL', ['iw'], aliases), 'iw')
+ self.assertEqual(utils.match_language('iw', ['he-IL']), 'he-IL')
+ self.assertEqual(utils.match_language('he', ['iw-IL'], aliases), 'iw-IL')
+ self.assertEqual(utils.match_language('iw-IL', ['he-IL']), 'he-IL')
+ self.assertEqual(utils.match_language('he-IL', ['iw-IL'], aliases), 'iw-IL')
+
class TestHTMLTextExtractor(SearxTestCase):