view tests/test_commit.py @ 221:a2afbf236ca8

hglib tests: remove deprecated constructions This mostly removes usage of 'assertEquals' (replaced with 'assertEqual'), as well as opening files without closing them (fixed using a 'with' statement).
author Mathias De Mare <mathias.de_mare@nokia.com>
date Thu, 09 Mar 2023 14:00:02 +0100
parents 8341f2494b3f
children
line wrap: on
line source

from tests import common
import hglib, datetime
from hglib.util import b

class test_commit(common.basetest):
    def test_user(self):
        self.append('a', 'a')
        rev, node = self.client.commit(b('first'), addremove=True,
                                       user=b('foo'))
        rev = self.client.log(node)[0]
        self.assertEqual(rev.author, b('foo'))

    def test_no_user(self):
        self.append('a', 'a')
        self.assertRaises(hglib.error.CommandError,
                          self.client.commit, b('first'), user=b(''))

    def test_close_branch(self):
        self.append('a', 'a')
        rev0, node0 = self.client.commit(b('first'), addremove=True)
        self.client.branch(b('foo'))
        self.append('a', 'a')
        rev1, node1 = self.client.commit(b('second'))
        revclose = self.client.commit(b('closing foo'), closebranch=True)
        rev0, rev1, revclose = self.client.log([node0, node1, revclose[1]])

        self.assertEqual(self.client.branches(),
                          [(rev0.branch, int(rev0.rev), rev0.node[:12])])

        self.assertEqual(self.client.branches(closed=True),
                          [(revclose.branch, int(revclose.rev),
                            revclose.node[:12]),
                           (rev0.branch, int(rev0.rev), rev0.node[:12])])

    def test_message_logfile(self):
        self.assertRaises(ValueError, self.client.commit, b('foo'),
                          logfile=b('bar'))
        self.assertRaises(ValueError, self.client.commit)

    def test_date(self):
        self.append('a', 'a')
        now = datetime.datetime.now().replace(microsecond=0)
        rev0, node0 = self.client.commit(
            b('first'), addremove=True,
            date=now.isoformat(' ').encode('latin-1'))

        self.assertEqual(now, self.client.tip().date)

    def test_amend(self):
        self.append('a', 'a')
        now = datetime.datetime.now().replace(microsecond=0)
        rev0, node0 = self.client.commit(
            b('first'), addremove=True,
            date=now.isoformat(' ').encode('latin-1'))

        self.assertEqual(now, self.client.tip().date)

        self.append('a', 'a')
        rev1, node1 = self.client.commit(amend=True)
        self.assertEqual(now, self.client.tip().date)
        self.assertNotEqual(node0, node1)
        self.assertEqual(1, len(self.client.log()))

    def test_nul_injection(self):
        self.append('a', 'a')
        self.assertRaises(ValueError, lambda: self.client.commit(b('fail\0-A')))
        self.assertEqual(0, len(self.client.log()))