Mercurial > public > mercurial-scm > python-hglib
diff tests/test_commit.py @ 219:8341f2494b3f
hglib tests: migrate away from (unmaintained) nose
author | Mathias De Mare <mathias.de_mare@nokia.com> |
---|---|
date | Wed, 08 Mar 2023 17:04:58 +0100 |
parents | tests/test-commit.py@67398bbf788d |
children | a2afbf236ca8 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test_commit.py Wed Mar 08 17:04:58 2023 +0100 @@ -0,0 +1,67 @@ +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.assertEquals(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.assertEquals(self.client.branches(), + [(rev0.branch, int(rev0.rev), rev0.node[:12])]) + + self.assertEquals(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.assertEquals(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.assertEquals(now, self.client.tip().date) + + self.append('a', 'a') + rev1, node1 = self.client.commit(amend=True) + self.assertEquals(now, self.client.tip().date) + self.assertNotEquals(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()))