|  | # SPDX-License-Identifier: AGPL-3.0-or-later
 | 
						
						
						
							|  | # pylint: disable=missing-module-docstring,disable=missing-class-docstring,invalid-name
 | 
						
						
						
							|  | 
 | 
						
						
						
							|  | from parameterized import parameterized
 | 
						
						
						
							|  | 
 | 
						
						
						
							|  | import searx.plugins
 | 
						
						
						
							|  | import searx.answerers
 | 
						
						
						
							|  | import searx.preferences
 | 
						
						
						
							|  | 
 | 
						
						
						
							|  | from searx.extended_types import sxng_request
 | 
						
						
						
							|  | 
 | 
						
						
						
							|  | from tests import SearxTestCase
 | 
						
						
						
							|  | 
 | 
						
						
						
							|  | 
 | 
						
						
						
							|  | class AnswererTest(SearxTestCase):
 | 
						
						
						
							|  | 
 | 
						
						
						
							|  |     def setUp(self):
 | 
						
						
						
							|  |         super().setUp()
 | 
						
						
						
							|  | 
 | 
						
						
						
							|  |         self.storage = searx.plugins.PluginStorage()
 | 
						
						
						
							|  |         engines = {}
 | 
						
						
						
							|  |         self.pref = searx.preferences.Preferences(["simple"], ["general"], engines, self.storage)
 | 
						
						
						
							|  |         self.pref.parse_dict({"locale": "en"})
 | 
						
						
						
							|  | 
 | 
						
						
						
							|  |     @parameterized.expand(searx.answerers.STORAGE.answerer_list)
 | 
						
						
						
							|  |     def test_unicode_input(self, answerer_obj: searx.answerers.Answerer):
 | 
						
						
						
							|  | 
 | 
						
						
						
							|  |         with self.app.test_request_context():
 | 
						
						
						
							|  |             sxng_request.preferences = self.pref
 | 
						
						
						
							|  | 
 | 
						
						
						
							|  |             unicode_payload = "árvíztűrő tükörfúrógép"
 | 
						
						
						
							|  |             for keyword in answerer_obj.keywords:
 | 
						
						
						
							|  |                 query = f"{keyword} {unicode_payload}"
 | 
						
						
						
							|  |                 self.assertIsInstance(answerer_obj.answer(query), list)
 |