From 057c1418400b3d915e7be53b205e5a88a940e68a Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Tue, 6 Sep 2016 08:25:43 +0530 Subject: [PATCH] Add tests for searching on half star fields --- src/calibre/db/tests/reading.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/calibre/db/tests/reading.py b/src/calibre/db/tests/reading.py index 6b9081d330..05a5a8a4a4 100644 --- a/src/calibre/db/tests/reading.py +++ b/src/calibre/db/tests/reading.py @@ -328,6 +328,13 @@ class ReadingTest(BaseTest): self.assertEqual(cache.search('rating:2'), {1, 3}) self.assertEqual(cache.search('rating:!=2'), {2}) + cache.field_metadata.all_metadata()['#rating']['display']['allow_half_stars'] = True + cache.set_field('#rating', {1:3, 2:4, 3:9}) + self.assertEqual(cache.search('#rating:1'), set()) + self.assertEqual(cache.search('#rating:1.5'), {1}) + self.assertEqual(cache.search('#rating:>4'), {3}) + self.assertEqual(cache.search('#rating:2'), {2}) + # Note that the old db searched uuid for un-prefixed searches, the new # db does not, for performance