Mercurial > p > roundup > code
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()) |
