summaryrefslogtreecommitdiff
path: root/tests/unit/test_query.py
diff options
context:
space:
mode:
authorAdam Tauber <asciimoo@gmail.com>2017-12-06 14:34:26 +0100
committerGitHub <noreply@github.com>2017-12-06 14:34:26 +0100
commit49b845051f027cf9d29a20821968103a0f55c9d9 (patch)
tree249693fb31423283ee21c5ded4bed844d7250f2e /tests/unit/test_query.py
parentdf0b8ee5270a37642ccf5f42e95b0656aefc7fda (diff)
parent4d1770398a6af8902e75c0bd885781584d39e796 (diff)
Merge pull request #973 from MarcAbonce/languages
Remove 'all' option from search languages
Diffstat (limited to 'tests/unit/test_query.py')
-rw-r--r--tests/unit/test_query.py64
1 files changed, 64 insertions, 0 deletions
diff --git a/tests/unit/test_query.py b/tests/unit/test_query.py
new file mode 100644
index 000000000..49ccb608f
--- /dev/null
+++ b/tests/unit/test_query.py
@@ -0,0 +1,64 @@
+from searx.query import RawTextQuery
+from searx.testing import SearxTestCase
+
+
+class TestQuery(SearxTestCase):
+
+ def test_simple_query(self):
+ query_text = 'the query'
+ query = RawTextQuery(query_text, [])
+ query.parse_query()
+
+ self.assertEquals(query.getFullQuery(), query_text)
+ self.assertEquals(len(query.query_parts), 1)
+ self.assertEquals(len(query.languages), 0)
+ self.assertFalse(query.specific)
+
+ def test_language_code(self):
+ language = 'es-ES'
+ query_text = 'the query'
+ full_query = ':' + language + ' ' + query_text
+ query = RawTextQuery(full_query, [])
+ query.parse_query()
+
+ self.assertEquals(query.getFullQuery(), full_query)
+ self.assertEquals(len(query.query_parts), 3)
+ self.assertEquals(len(query.languages), 1)
+ self.assertIn(language, query.languages)
+ self.assertFalse(query.specific)
+
+ def test_language_name(self):
+ language = 'english'
+ query_text = 'the query'
+ full_query = ':' + language + ' ' + query_text
+ query = RawTextQuery(full_query, [])
+ query.parse_query()
+
+ self.assertEquals(query.getFullQuery(), full_query)
+ self.assertEquals(len(query.query_parts), 3)
+ self.assertIn('en', query.languages)
+ self.assertFalse(query.specific)
+
+ def test_unlisted_language_code(self):
+ language = 'all'
+ query_text = 'the query'
+ full_query = ':' + language + ' ' + query_text
+ query = RawTextQuery(full_query, [])
+ query.parse_query()
+
+ self.assertEquals(query.getFullQuery(), full_query)
+ self.assertEquals(len(query.query_parts), 3)
+ self.assertIn('all', query.languages)
+ self.assertFalse(query.specific)
+
+ def test_invalid_language_code(self):
+ language = 'not_a_language'
+ query_text = 'the query'
+ full_query = ':' + language + ' ' + query_text
+ query = RawTextQuery(full_query, [])
+ query.parse_query()
+
+ self.assertEquals(query.getFullQuery(), full_query)
+ self.assertEquals(len(query.query_parts), 1)
+ self.assertEquals(len(query.languages), 0)
+ self.assertFalse(query.specific)