From c196f20dfce5d6840ec905b3efd67a8c87c4552d Mon Sep 17 00:00:00 2001 From: Adrian Sampson Date: Mon, 17 Feb 2014 22:51:53 -0500 Subject: [PATCH] fix numeric queries over empty string (fix #547) --- beets/dbcore/query.py | 2 +- test/test_query.py | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/beets/dbcore/query.py b/beets/dbcore/query.py index becd3470b..318a7fbe2 100644 --- a/beets/dbcore/query.py +++ b/beets/dbcore/query.py @@ -225,7 +225,7 @@ class NumericQuery(FieldQuery): elif self.rangemax is not None: return u'{0} <= ?'.format(self.field), (self.rangemax,) else: - return '1' + return '1', () class CollectionQuery(Query): diff --git a/test/test_query.py b/test/test_query.py index b8c5faf18..d9b636527 100644 --- a/test/test_query.py +++ b/test/test_query.py @@ -261,7 +261,8 @@ class GetTest(DummyDataTestCase): def test_bad_year(self): q = 'year:delete from items' - self.assertRaises(ValueError, self.lib.items, q) + results = self.lib.items(q) + self.assert_matched(results, []) def test_singleton_true(self): q = 'singleton:true' @@ -320,6 +321,11 @@ class GetTest(DummyDataTestCase): results = self.lib.items(q) self.assertFalse(results) + def test_numeric_empty(self): + q = dbcore.query.NumericQuery('year', '') + results = self.lib.items(q) + self.assertTrue(results) + class MatchTest(_common.TestCase): def setUp(self):