From 109066baf3f46d036e56e7d08012b4193dfc034d Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 25 Aug 2013 09:17:52 +0530 Subject: [PATCH] Tests for searching on composite fields --- src/calibre/db/tests/reading.py | 13 +++++++++++++ src/calibre/db/tests/writing.py | 2 +- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/calibre/db/tests/reading.py b/src/calibre/db/tests/reading.py index 5d1061ecae..a292340013 100644 --- a/src/calibre/db/tests/reading.py +++ b/src/calibre/db/tests/reading.py @@ -555,3 +555,16 @@ class ReadingTest(BaseTest): self.assertListEqual([2, 3, 1], ids) # }}} + def test_composites(self): # {{{ + cache = self.init_cache() + cache.create_custom_column('mult', 'CC1', 'composite', True, display={'composite_template': 'b,a,c'}) + cache.create_custom_column('single', 'CC1', 'composite', False, display={'composite_template': 'b,a,c'}) + + cache = self.init_cache() + # Test searching + self.assertEqual({1,2,3}, cache.search('#mult:=a')) + self.assertEqual(set(), cache.search('#mult:=b,a,c')) + self.assertEqual({1,2,3}, cache.search('#single:=b,a,c')) + self.assertEqual(set(), cache.search('#single:=b')) + # }}} + diff --git a/src/calibre/db/tests/writing.py b/src/calibre/db/tests/writing.py index b0862a147d..be24647dcd 100644 --- a/src/calibre/db/tests/writing.py +++ b/src/calibre/db/tests/writing.py @@ -556,7 +556,7 @@ class WritingTest(BaseTest): self.assertEqual(c.field_for('#series_index', 2), 4.0) # }}} - def test_composite(self): # {{{ + def test_composite_cache(self): # {{{ ' Test that the composite field cache is properly invalidated on writes ' cache = self.init_cache() cache.create_custom_column('tc', 'TC', 'composite', False, display={