comparison test/db_test_base.py @ 3872:34128a809e22

Allow multilinks to take None (treated as an empty list). Add a testcase for it.
author Justus Pendleton <jpend@users.sourceforge.net>
date Fri, 31 Aug 2007 15:44:03 +0000
parents f0eb93f25d1c
children 46ef2a6fd79d
comparison
equal deleted inserted replaced
3871:d6bab60f9ca4 3872:34128a809e22
13 # BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 13 # BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
14 # FOR A PARTICULAR PURPOSE. THE CODE PROVIDED HEREUNDER IS ON AN "AS IS" 14 # FOR A PARTICULAR PURPOSE. THE CODE PROVIDED HEREUNDER IS ON AN "AS IS"
15 # BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE, 15 # BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE,
16 # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 16 # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
17 # 17 #
18 # $Id: db_test_base.py,v 1.87 2007-08-29 17:35:41 jpend Exp $ 18 # $Id: db_test_base.py,v 1.88 2007-08-31 15:44:03 jpend Exp $
19 19
20 import unittest, os, shutil, errno, imp, sys, time, pprint, sets 20 import unittest, os, shutil, errno, imp, sys, time, pprint, sets
21 21
22 from roundup.hyperdb import String, Password, Link, Multilink, Date, \ 22 from roundup.hyperdb import String, Password, Link, Multilink, Date, \
23 Interval, DatabaseError, Boolean, Number, Node 23 Interval, DatabaseError, Boolean, Number, Node
250 self.db.issue.set(nid, nosy=[u1,u2]) 250 self.db.issue.set(nid, nosy=[u1,u2])
251 if commit: self.db.commit() 251 if commit: self.db.commit()
252 l = [u1,u2]; l.sort() 252 l = [u1,u2]; l.sort()
253 m = self.db.issue.get(nid, "nosy"); m.sort() 253 m = self.db.issue.get(nid, "nosy"); m.sort()
254 self.assertEqual(l, m) 254 self.assertEqual(l, m)
255
256 # verify that when we pass None to an Multilink it sets
257 # it to an empty list
258 self.db.issue.set(nid, nosy=None)
259 if commit: self.db.commit()
260 self.assertEqual(self.db.issue.get(nid, "nosy"), [])
255 261
256 def testMultilinkChangeIterable(self): 262 def testMultilinkChangeIterable(self):
257 for commit in (0,1): 263 for commit in (0,1):
258 # invalid nosy value assertion 264 # invalid nosy value assertion
259 self.assertRaises(IndexError, self.db.issue.create, title='spam', 265 self.assertRaises(IndexError, self.db.issue.create, title='spam',

Roundup Issue Tracker: http://roundup-tracker.org/