# 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)