@@ -0,0 +1,64 @@
1+from searx.query import RawTextQuery
2+from searx.testing import SearxTestCase
3+
4+
5+class TestQuery(SearxTestCase):
6+
7+ def test_simple_query(self):
8+ query_text = 'the query'
9+ query = RawTextQuery(query_text, [])
10+ query.parse_query()
11+
12+ self.assertEquals(query.getFullQuery(), query_text)
13+ self.assertEquals(len(query.query_parts), 1)
14+ self.assertEquals(len(query.languages), 0)
15+ self.assertFalse(query.specific)
16+
17+ def test_language_code(self):
18+ language = 'es-ES'
19+ query_text = 'the query'
20+ full_query = ':' + language + ' ' + query_text
21+ query = RawTextQuery(full_query, [])
22+ query.parse_query()
23+
24+ self.assertEquals(query.getFullQuery(), full_query)
25+ self.assertEquals(len(query.query_parts), 3)
26+ self.assertEquals(len(query.languages), 1)
27+ self.assertIn(language, query.languages)
28+ self.assertFalse(query.specific)
29+
30+ def test_language_name(self):
31+ language = 'english'
32+ query_text = 'the query'
33+ full_query = ':' + language + ' ' + query_text
34+ query = RawTextQuery(full_query, [])
35+ query.parse_query()
36+
37+ self.assertEquals(query.getFullQuery(), full_query)
38+ self.assertEquals(len(query.query_parts), 3)
39+ self.assertIn('en', query.languages)
40+ self.assertFalse(query.specific)
41+
42+ def test_unlisted_language_code(self):
43+ language = 'all'
44+ query_text = 'the query'
45+ full_query = ':' + language + ' ' + query_text
46+ query = RawTextQuery(full_query, [])
47+ query.parse_query()
48+
49+ self.assertEquals(query.getFullQuery(), full_query)
50+ self.assertEquals(len(query.query_parts), 3)
51+ self.assertIn('all', query.languages)
52+ self.assertFalse(query.specific)
53+
54+ def test_invalid_language_code(self):
55+ language = 'not_a_language'
56+ query_text = 'the query'
57+ full_query = ':' + language + ' ' + query_text
58+ query = RawTextQuery(full_query, [])
59+ query.parse_query()
60+
61+ self.assertEquals(query.getFullQuery(), full_query)
62+ self.assertEquals(len(query.query_parts), 1)
63+ self.assertEquals(len(query.languages), 0)
64+ self.assertFalse(query.specific)