~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_revisionnamespaces.py

  • Committer: John Arbash Meinel
  • Date: 2006-08-21 23:40:43 UTC
  • mto: This revision was merged to the branch mainline in revision 1979.
  • Revision ID: john@arbash-meinel.com-20060821234043-f47d2b2ea7d45b73
Some tests for the date: spec

Show diffs side-by-side

added added

removed removed

Lines of Context:
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
16
16
 
 
17
import datetime
17
18
import os
18
19
import time
19
20
 
80
81
                          RevisionSpec('revid:a@r-0-0').in_history, b)
81
82
        self.assertRaises(TypeError, RevisionSpec, object)
82
83
 
83
 
        self.assertEquals(RevisionSpec('date:today').in_history(b),
84
 
                          (2, 'a@r-0-2'))
85
 
        self.assertRaises(errors.InvalidRevisionSpec,
86
 
                          RevisionSpec('date:tomorrow').in_history, b)
87
 
        self.assertEquals(RevisionSpec('date:yesterday').in_history(b),
88
 
                          (1, 'a@r-0-1'))
89
 
        self.assertEquals(RevisionSpec('before:date:today').in_history(b),
90
 
                          (1, 'a@r-0-1'))
91
 
 
92
84
        self.assertEquals(RevisionSpec('last:1').in_history(b),
93
85
                          (3, 'a@r-0-3'))
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')
 
381
 
 
382
 
 
383
class TestRevisionSpec_date(TestRevisionSpec):
 
384
 
 
385
    def setUp(self):
 
386
        super(TestRevisionSpec, self).setUp()
 
387
 
 
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')
 
393
 
 
394
        self.tree = new_tree
 
395
 
 
396
    def test_tomorrow(self):
 
397
        self.assertInvalid('date:tomorrow')
 
398
 
 
399
    def test_today(self):
 
400
        self.assertInHistoryIs(2, 'new_r2', 'date:today')
 
401
        self.assertInHistoryIs(1, 'new_r1', 'before:date:today')
 
402
 
 
403
    def test_yesterday(self):
 
404
        self.assertInHistoryIs(1, 'new_r1', 'date:yesterday')
 
405
 
 
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')
 
412
 
 
413
    def test_day(self):
 
414
        now = datetime.datetime.now()
 
415
        self.assertInHistoryIs(2, 'new_r2',
 
416
            'date:%04d-%02d-%02d' % (now.year, now.month, now.day))