diff --git a/searx/query.py b/searx/query.py index e61e24f2..38cb03ff 100644 --- a/searx/query.py +++ b/searx/query.py @@ -77,7 +77,7 @@ class RawTextQuery: pass # this force a language - if query_part[0] == ':': + if query_part[0] == ':' and len(query_part) > 1: lang = query_part[1:].lower().replace('_', '-') # check if any language-code is equal with diff --git a/tests/unit/test_query.py b/tests/unit/test_query.py index eff4d643..0176f735 100644 --- a/tests/unit/test_query.py +++ b/tests/unit/test_query.py @@ -59,6 +59,15 @@ class TestQuery(SearxTestCase): self.assertEqual(len(query.languages), 0) self.assertFalse(query.specific) + def test_empty_colon_in_query(self): + query_text = 'the : query' + query = RawTextQuery(query_text, []) + + self.assertEqual(query.getFullQuery(), query_text) + self.assertEqual(len(query.query_parts), 0) + self.assertEqual(len(query.languages), 0) + self.assertFalse(query.specific) + def test_timeout_below100(self): query_text = '<3 the query' query = RawTextQuery(query_text, [])