comparison test/db_test_base.py @ 3822:2a60b68985db

Fix arbitrary limit on dates. Dates can now be in the year-range 1-9999 for all backends except metakit which is still limited to 1970-2038.
author Ralf Schlatterbeck <schlatterbeck@users.sourceforge.net>
date Fri, 09 Mar 2007 10:25:10 +0000
parents c92687dce135
children bf2e9535da00
comparison
equal deleted inserted replaced
3821:5ed4c9d30148 3822:2a60b68985db
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.82 2006-11-11 03:21:12 richard Exp $ 18 # $Id: db_test_base.py,v 1.83 2007-03-09 10:25:10 schlatterbeck 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
275 self.db.issue.set(nid, deadline=date.Date()) 275 self.db.issue.set(nid, deadline=date.Date())
276 b = self.db.issue.get(nid, "deadline") 276 b = self.db.issue.get(nid, "deadline")
277 if commit: self.db.commit() 277 if commit: self.db.commit()
278 self.assertNotEqual(a, b) 278 self.assertNotEqual(a, b)
279 self.assertNotEqual(b, date.Date('1970-1-1.00:00:00')) 279 self.assertNotEqual(b, date.Date('1970-1-1.00:00:00'))
280 # The 1970 date will fail for metakit -- it is used
281 # internally for storing NULL. The others would, too
282 # because metakit tries to convert date.timestamp to an int
283 # for storing and fails with an overflow.
284 for d in [date.Date (x) for x in '2038', '1970', '0033', '9999']:
285 self.db.issue.set(nid, deadline=d)
286 if commit: self.db.commit()
287 c = self.db.issue.get(nid, "deadline")
288 self.assertEqual(c, d)
280 289
281 def testDateUnset(self): 290 def testDateUnset(self):
282 for commit in (0,1): 291 for commit in (0,1):
283 nid = self.db.issue.create(title="spam", status='1') 292 nid = self.db.issue.create(title="spam", status='1')
284 self.db.issue.set(nid, deadline=date.Date()) 293 self.db.issue.set(nid, deadline=date.Date())

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