14
14
# along with this program; if not, write to the Free Software
15
15
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
80
81
RevisionSpec('revid:a@r-0-0').in_history, b)
81
82
self.assertRaises(TypeError, RevisionSpec, object)
83
self.assertEquals(RevisionSpec('date:today').in_history(b),
85
self.assertRaises(errors.InvalidRevisionSpec,
86
RevisionSpec('date:tomorrow').in_history, b)
87
self.assertEquals(RevisionSpec('date:yesterday').in_history(b),
89
self.assertEquals(RevisionSpec('before:date:today').in_history(b),
92
84
self.assertEquals(RevisionSpec('last:1').in_history(b),
94
86
self.assertEquals(RevisionSpec('-1').in_history(b), (3, 'a@r-0-3'))
386
378
def test_invalid(self):
387
379
self.assertInvalid('tag:foo', extra='; tag: namespace registered,'
388
380
' but not implemented')
383
class TestRevisionSpec_date(TestRevisionSpec):
386
super(TestRevisionSpec, self).setUp()
388
new_tree = self.make_branch_and_tree('new_tree')
389
new_tree.commit('Commit one', rev_id='new_r1',
390
timestamp=time.time() - 60*60*24)
391
new_tree.commit('Commit two', rev_id='new_r2')
392
new_tree.commit('Commit three', rev_id='new_r3')
396
def test_tomorrow(self):
397
self.assertInvalid('date:tomorrow')
399
def test_today(self):
400
self.assertInHistoryIs(2, 'new_r2', 'date:today')
401
self.assertInHistoryIs(1, 'new_r1', 'before:date:today')
403
def test_yesterday(self):
404
self.assertInHistoryIs(1, 'new_r1', 'date:yesterday')
406
def test_invalid(self):
407
self.assertInvalid('date:foobar', extra='; invalid date')
408
# You must have '-' between year/month/day
409
self.assertInvalid('date:20040404', extra='; invalid date')
410
# Need 2 digits for each date piece
411
self.assertInvalid('date:2004-4-4', extra='; invalid date')
414
now = datetime.datetime.now()
415
self.assertInHistoryIs(2, 'new_r2',
416
'date:%04d-%02d-%02d' % (now.year, now.month, now.day))