Mercurial > python-hglib
view tests/test-update.py @ 142:fe74d5599539
hglib: wrap all application string literals in util.b() (issue4520)
Conversion also included changing use of string interpolation to
string concatenation as bytes interpolation does not exist in Python
3. Indexing related to bytes was also changed to length-1 bytes
through slicing as Python 3 returns an int in this instance.
Tests have not been switched to using util.b() so that the change to
application code can be independently verified as not being broken.
author | Brett Cannon <brett@python.org> |
---|---|
date | Sun, 08 Mar 2015 13:08:37 -0400 |
parents | 9c4f52467208 |
children | 4359cabcb0cc |
line wrap: on
line source
import common from hglib import error class test_update(common.basetest): def setUp(self): common.basetest.setUp(self) self.append('a', 'a') self.rev0, self.node0 = self.client.commit('first', addremove=True) self.append('a', 'a') self.rev1, self.node1 = self.client.commit('second') def test_basic(self): u, m, r, ur = self.client.update(self.rev0) self.assertEquals(u, 1) self.assertEquals(m, 0) self.assertEquals(r, 0) self.assertEquals(ur, 0) def test_unresolved(self): self.client.update(self.rev0) self.append('a', 'b') u, m, r, ur = self.client.update() self.assertEquals(u, 0) self.assertEquals(m, 0) self.assertEquals(r, 0) self.assertEquals(ur, 1) self.assertTrue(('M', 'a') in self.client.status()) def test_merge(self): self.append('a', '\n\n\n\nb') rev2, node2 = self.client.commit('third') self.append('a', 'b') self.client.commit('fourth') self.client.update(rev2) old = open('a').read() f = open('a', 'wb') f.write('a' + old) f.close() u, m, r, ur = self.client.update() self.assertEquals(u, 0) self.assertEquals(m, 1) self.assertEquals(r, 0) self.assertEquals(ur, 0) self.assertEquals(self.client.status(), [('M', 'a')]) def test_tip(self): self.client.update(self.rev0) u, m, r, ur = self.client.update() self.assertEquals(u, 1) self.assertEquals(self.client.parents()[0].node, self.node1) self.client.update(self.rev0) self.append('a', 'b') rev2, node2 = self.client.commit('new head') self.client.update(self.rev0) self.client.update() self.assertEquals(self.client.parents()[0].node, node2) def test_check_clean(self): self.assertRaises(ValueError, self.client.update, clean=True, check=True) def test_clean(self): old = open('a').read() self.append('a', 'b') self.assertRaises(error.CommandError, self.client.update, check=True) u, m, r, ur = self.client.update(clean=True) self.assertEquals(u, 1) self.assertEquals(old, open('a').read()) def test_basic_plain(self): f = open('.hg/hgrc', 'a') f.write('[defaults]\nupdate=-v\n') f.close() self.test_basic() def disabled_largefiles(self): # we don't run reposetup after a session has started, so this # test is broken import os f = open('.hg/hgrc', 'a') f.write('[extensions]\nlargefiles=\n') f.close() self.append('b', 'a') try: self.client.rawcommand(['add', 'b', '--large']) except error.CommandError: return rev2, node2 = self.client.commit('third') # Go back to 0 self.client.rawcommand(['update', str(self.rev0)], # Keep the 'changed' version prompt=lambda s, d: 'c\n') u, m, r, ur = self.client.update(rev2, clean=True) self.assertEquals(u, 2) self.assertEquals(m, 0) self.assertEquals(r, 0) self.assertEquals(ur, 0)