From 772c048d01c7585fd60afca1ce30a1914e6e5b4a Mon Sep 17 00:00:00 2001 From: Marc Abonce Seguin Date: Wed, 28 Feb 2018 22:30:48 -0600 Subject: refactor engine's search language handling Add match_language function in utils to match any user given language code with a list of engine's supported languages. Also add language_aliases dict on each engine to translate standard language codes into the custom codes used by the engine. --- tests/unit/engines/test_google.py | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'tests/unit/engines/test_google.py') diff --git a/tests/unit/engines/test_google.py b/tests/unit/engines/test_google.py index ecd1ed4d9..33556cc7a 100644 --- a/tests/unit/engines/test_google.py +++ b/tests/unit/engines/test_google.py @@ -15,6 +15,8 @@ class TestGoogleEngine(SearxTestCase): return response def test_request(self): + google.supported_languages = ['en', 'fr', 'zh-CN'] + query = 'test_query' dicto = defaultdict(dict) dicto['pageno'] = 1 @@ -31,6 +33,11 @@ class TestGoogleEngine(SearxTestCase): self.assertIn('google.co', params['url']) self.assertIn('en', params['headers']['Accept-Language']) + dicto['language'] = 'zh' + params = google.request(query, dicto) + self.assertIn('google.com', params['url']) + self.assertIn('zh-CN', params['headers']['Accept-Language']) + def test_response(self): self.assertRaises(AttributeError, google.response, None) self.assertRaises(AttributeError, google.response, []) -- cgit v1.2.3 From f7f9c50393785c8d6ad6c40a4c507b292ea438b1 Mon Sep 17 00:00:00 2001 From: Marc Abonce Seguin Date: Wed, 18 Apr 2018 22:55:37 -0500 Subject: [fix] force English results in Google when using en-US --- tests/unit/engines/test_google.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'tests/unit/engines/test_google.py') diff --git a/tests/unit/engines/test_google.py b/tests/unit/engines/test_google.py index 33556cc7a..413b67769 100644 --- a/tests/unit/engines/test_google.py +++ b/tests/unit/engines/test_google.py @@ -26,16 +26,19 @@ class TestGoogleEngine(SearxTestCase): self.assertIn('url', params) self.assertIn(query, params['url']) self.assertIn('google.fr', params['url']) + self.assertIn('fr', params['url']) self.assertIn('fr', params['headers']['Accept-Language']) dicto['language'] = 'en-US' params = google.request(query, dicto) - self.assertIn('google.co', params['url']) + self.assertIn('google.com', params['url']) + self.assertIn('en', params['url']) self.assertIn('en', params['headers']['Accept-Language']) dicto['language'] = 'zh' params = google.request(query, dicto) self.assertIn('google.com', params['url']) + self.assertIn('zh-CN', params['url']) self.assertIn('zh-CN', params['headers']['Accept-Language']) def test_response(self): -- cgit v1.2.3