Mercurial > p > roundup > code
diff test/db_test_base.py @ 4490:559d9a2a0191
Fixed bug in filter_iter refactoring (lazy multilinks)...
...in rare cases this would result in duplicate multilinks to the same
node. We're now going the safe route and doing lazy evaluation only
for read-only access, whenever updates are done we fetch everything.
| author | Ralf Schlatterbeck <schlatterbeck@users.sourceforge.net> |
|---|---|
| date | Sat, 16 Apr 2011 11:02:01 +0000 |
| parents | 1613754d2646 |
| children | 46239c21a1eb |
line wrap: on
line diff
--- a/test/db_test_base.py Fri Apr 15 19:04:08 2011 +0000 +++ b/test/db_test_base.py Sat Apr 16 11:02:01 2011 +0000 @@ -321,6 +321,23 @@ if commit: self.db.commit() self.assertEqual(self.db.issue.get(nid, "nosy"), []) + def testMakeSeveralMultilinkedNodes(self): + for commit in (0,1): + u1 = self.db.user.create(username='foo%s'%commit) + u2 = self.db.user.create(username='bar%s'%commit) + u3 = self.db.user.create(username='baz%s'%commit) + nid = self.db.issue.create(title="spam", nosy=[u1]) + if commit: self.db.commit() + self.assertEqual(self.db.issue.get(nid, "nosy"), [u1]) + self.db.issue.set(nid, deadline=date.Date('.')) + self.db.issue.set(nid, nosy=[u1,u2], title='ta%s'%commit) + if commit: self.db.commit() + self.assertEqual(self.db.issue.get(nid, "nosy"), [u1,u2]) + self.db.issue.set(nid, deadline=date.Date('.')) + self.db.issue.set(nid, nosy=[u1,u2,u3], title='tb%s'%commit) + if commit: self.db.commit() + self.assertEqual(self.db.issue.get(nid, "nosy"), [u1,u2,u3]) + def testMultilinkChangeIterable(self): for commit in (0,1): # invalid nosy value assertion
