1from searx.query import RawTextQuery
2from searx.testing import SearxTestCase
5class TestQuery(SearxTestCase):
7 def test_simple_query(self):
8 query_text = 'the query'
9 query = RawTextQuery(query_text, [])
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)
17 def test_language_code(self):
19 query_text = 'the query'
20 full_query = ':' + language + ' ' + query_text
21 query = RawTextQuery(full_query, [])
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)
30 def test_language_name(self):
32 query_text = 'the query'
33 full_query = ':' + language + ' ' + query_text
34 query = RawTextQuery(full_query, [])
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)
42 def test_unlisted_language_code(self):
44 query_text = 'the query'
45 full_query = ':' + language + ' ' + query_text
46 query = RawTextQuery(full_query, [])
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)
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, [])
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)
66 def test_timeout_below100(self):
67 query_text = '<3 the query'
68 query = RawTextQuery(query_text, [])
71 self.assertEquals(query.getFullQuery(), query_text)
72 self.assertEquals(len(query.query_parts), 3)
73 self.assertEquals(query.timeout_limit, 3)
74 self.assertFalse(query.specific)
76 def test_timeout_above100(self):
77 query_text = '<350 the query'
78 query = RawTextQuery(query_text, [])
81 self.assertEquals(query.getFullQuery(), query_text)
82 self.assertEquals(len(query.query_parts), 3)
83 self.assertEquals(query.timeout_limit, 0.35)
84 self.assertFalse(query.specific)
86 def test_timeout_above1000(self):
87 query_text = '<3500 the query'
88 query = RawTextQuery(query_text, [])
91 self.assertEquals(query.getFullQuery(), query_text)
92 self.assertEquals(len(query.query_parts), 3)
93 self.assertEquals(query.timeout_limit, 3.5)
94 self.assertFalse(query.specific)
96 def test_timeout_invalid(self):
97 # invalid number: it is not bang but it is part of the query
98 query_text = '<xxx the query'
99 query = RawTextQuery(query_text, [])
102 self.assertEquals(query.getFullQuery(), query_text)
103 self.assertEquals(len(query.query_parts), 1)
104 self.assertEquals(query.query_parts[0], query_text)
105 self.assertEquals(query.timeout_limit, None)
106 self.assertFalse(query.specific)
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list