Mercurial > p > roundup > code
diff test/db_test_base.py @ 3751:44603dd791b7
full-text search wasn't coping with multiple multilinks to the same class
| author | Richard Jones <richard@users.sourceforge.net> |
|---|---|
| date | Sat, 11 Nov 2006 03:01:54 +0000 |
| parents | 5cde43526788 |
| children | c92687dce135 |
line wrap: on
line diff
--- a/test/db_test_base.py Fri Nov 10 11:03:42 2006 +0000 +++ b/test/db_test_base.py Sat Nov 11 03:01:54 2006 +0000 @@ -15,7 +15,7 @@ # BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE, # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. # -# $Id: db_test_base.py,v 1.80 2006-11-09 05:44:51 richard Exp $ +# $Id: db_test_base.py,v 1.81 2006-11-11 03:01:54 richard Exp $ import unittest, os, shutil, errno, imp, sys, time, pprint, sets @@ -78,7 +78,7 @@ issue = module.IssueClass(db, "issue", title=String(indexme="yes"), status=Link("status"), nosy=Multilink("user"), deadline=Date(), foo=Interval(), files=Multilink("file"), assignedto=Link('user'), - priority=Link('priority')) + priority=Link('priority'), spam=Multilink('msg')) stuff = module.Class(db, "stuff", stuff=String()) session = module.Class(db, 'session', title=String()) msg = module.FileClass(db, "msg", date=Date(), @@ -772,6 +772,20 @@ # unindexed stopword self.assertEquals(self.db.indexer.search(['the'], self.db.issue), {}) + def testIndexerSearchMulti(self): + m1 = self.db.msg.create(content="one two") + m2 = self.db.msg.create(content="two three") + i1 = self.db.issue.create(messages=[m1]) + i2 = self.db.issue.create(spam=[m2]) + self.db.commit() + self.assertEquals(self.db.indexer.search([], self.db.issue), {}) + self.assertEquals(self.db.indexer.search(['one'], self.db.issue), + {i1: {'messages': [m1]}}) + self.assertEquals(self.db.indexer.search(['two'], self.db.issue), + {i1: {'messages': [m1]}, i2: {'spam': [m2]}}) + self.assertEquals(self.db.indexer.search(['three'], self.db.issue), + {i2: {'spam': [m2]}}) + def testReindexingChange(self): search = self.db.indexer.search issue = self.db.issue @@ -1542,7 +1556,7 @@ keys.sort() self.assertEqual(keys, ['activity', 'actor', 'assignedto', 'creation', 'creator', 'deadline', 'files', 'fixer', 'foo', 'id', 'messages', - 'nosy', 'priority', 'status', 'superseder', 'title']) + 'nosy', 'priority', 'spam', 'status', 'superseder', 'title']) self.assertEqual(self.db.issue.get('1', "fixer"), None) def testRemoveProperty(self): @@ -1556,7 +1570,7 @@ keys.sort() self.assertEqual(keys, ['activity', 'actor', 'assignedto', 'creation', 'creator', 'deadline', 'files', 'foo', 'id', 'messages', - 'nosy', 'priority', 'status', 'superseder']) + 'nosy', 'priority', 'spam', 'status', 'superseder']) self.assertEqual(self.db.issue.list(), ['1']) def testAddRemoveProperty(self): @@ -1571,7 +1585,7 @@ keys.sort() self.assertEqual(keys, ['activity', 'actor', 'assignedto', 'creation', 'creator', 'deadline', 'files', 'fixer', 'foo', 'id', 'messages', - 'nosy', 'priority', 'status', 'superseder']) + 'nosy', 'priority', 'spam', 'status', 'superseder']) self.assertEqual(self.db.issue.list(), ['1']) class ROTest(MyTestCase):
