mirror of
https://github.com/beetbox/beets.git
synced 2025-12-30 04:22:40 +01:00
"or"-operator tests on dbcore:parse_sorted_query
This commit is contained in:
parent
c98835709f
commit
13eabe25dd
1 changed files with 40 additions and 0 deletions
|
|
@ -475,6 +475,46 @@ class SortFromStringsTest(unittest.TestCase):
|
|||
self.assertIsInstance(s, TestSort)
|
||||
|
||||
|
||||
class ParseSortedQueryTest(unittest.TestCase):
|
||||
def psq(self, parts):
|
||||
return dbcore.parse_sorted_query(
|
||||
TestModel1,
|
||||
parts
|
||||
)
|
||||
|
||||
def test_and_query(self):
|
||||
q, s = self.psq([u'foo', u'bar'])
|
||||
self.assertIsInstance(q, dbcore.query.AndQuery)
|
||||
self.assertIsInstance(s, dbcore.query.NullSort)
|
||||
self.assertEqual(len(q.subqueries), 2)
|
||||
|
||||
def test_or_query(self):
|
||||
q, s = self.psq([u'foo', u',', u'bar'])
|
||||
self.assertIsInstance(q, dbcore.query.OrQuery)
|
||||
self.assertIsInstance(s, dbcore.query.NullSort)
|
||||
self.assertEqual(len(q.subqueries), 2)
|
||||
|
||||
def test_no_space_before_comma_or_query(self):
|
||||
# E.g., query `foo, bar`
|
||||
q, s = self.psq([u'foo,', u'bar'])
|
||||
self.assertIsInstance(q, dbcore.query.OrQuery)
|
||||
self.assertIsInstance(s, dbcore.query.NullSort)
|
||||
self.assertEqual(len(q.subqueries), 2)
|
||||
|
||||
def test_no_spaces_or_query(self):
|
||||
# E.g., query `foo, bar`
|
||||
q, s = self.psq([u'foo,bar'])
|
||||
self.assertIsInstance(q, dbcore.query.AndQuery)
|
||||
self.assertIsInstance(s, dbcore.query.NullSort)
|
||||
self.assertEqual(len(q.subqueries), 1)
|
||||
|
||||
def test_trailing_comma_or_query(self):
|
||||
q, s = self.psq([u'foo', u',', u'bar', u','])
|
||||
self.assertIsInstance(q, dbcore.query.OrQuery)
|
||||
self.assertIsInstance(s, dbcore.query.NullSort)
|
||||
self.assertEqual(len(q.subqueries), 3)
|
||||
|
||||
|
||||
class ResultsIteratorTest(unittest.TestCase):
|
||||
def setUp(self):
|
||||
self.db = TestDatabase1(':memory:')
|
||||
|
|
|
|||
Loading…
Reference in a new issue