Add more unit tests for revision walking
Signed-off-by: J. David Ibañez <jdavid@itaapy.com>
This commit is contained in:
parent
0416276d2f
commit
0032573ca8
3
pygit2.c
3
pygit2.c
@ -373,8 +373,7 @@ Repository_walk(Repository *self, PyObject *args)
|
||||
git_revwalk *walk;
|
||||
Walker *py_walker;
|
||||
|
||||
sort = GIT_SORT_TOPOLOGICAL | GIT_SORT_REVERSE;
|
||||
if (!PyArg_ParseTuple(args, "O|I", &value, &sort))
|
||||
if (!PyArg_ParseTuple(args, "OI", &value, &sort))
|
||||
return NULL;
|
||||
|
||||
if (value != Py_None && !PyString_Check(value)) {
|
||||
|
Binary file not shown.
@ -50,16 +50,16 @@ class IndexTest(utils.RepoTestCase):
|
||||
index = self.repo.index
|
||||
self.assertEqual(len(index), 0)
|
||||
index.read()
|
||||
self.assertEqual(len(index), 1)
|
||||
self.assertEqual(len(index), 2)
|
||||
|
||||
self.assertRaises(TypeError, lambda: index[()])
|
||||
self.assertRaisesWithArg(ValueError, -4, lambda: index[-4])
|
||||
self.assertRaisesWithArg(KeyError, 'abc', lambda: index['abc'])
|
||||
|
||||
sha = '3b18e512dba79e4c8300dd08aeb37f8e728b8dad'
|
||||
sha = 'a520c24d85fbfc815d385957eed41406ca5a860b'
|
||||
self.assertTrue('hello.txt' in index)
|
||||
self.assertEqual(index['hello.txt'].sha, sha)
|
||||
self.assertEqual(index[0].sha, sha)
|
||||
self.assertEqual(index[1].sha, sha)
|
||||
|
||||
def test_add(self):
|
||||
index = self.repo.index
|
||||
@ -69,13 +69,13 @@ class IndexTest(utils.RepoTestCase):
|
||||
self.assertFalse('bye.txt' in index)
|
||||
index.add('bye.txt', 0)
|
||||
self.assertTrue('bye.txt' in index)
|
||||
self.assertEqual(len(index), 2)
|
||||
self.assertEqual(len(index), 3)
|
||||
self.assertEqual(index['bye.txt'].sha, sha)
|
||||
|
||||
def test_clear(self):
|
||||
index = self.repo.index
|
||||
index.read()
|
||||
self.assertEqual(len(index), 1)
|
||||
self.assertEqual(len(index), 2)
|
||||
index.clear()
|
||||
self.assertEqual(len(index), 0)
|
||||
|
||||
|
@ -30,12 +30,37 @@
|
||||
|
||||
__author__ = 'jdavid@itaapy.com (J. David Ibáñez)'
|
||||
|
||||
import unittest
|
||||
|
||||
from pygit2 import GIT_SORT_TIME, GIT_SORT_REVERSE
|
||||
import utils
|
||||
|
||||
# In the order given by git log
|
||||
log = [
|
||||
'2be5719152d4f82c7302b1c0932d8e5f0a4a0e98',
|
||||
'5ebeeebb320790caf276b9fc8b24546d63316533',
|
||||
'4ec4389a8068641da2d6578db0419484972284c8',
|
||||
'6aaa262e655dd54252e5813c8e5acd7780ed097d',
|
||||
'acecd5ea2924a4b900e7e149496e1f4b57976e51']
|
||||
|
||||
class WalkerTest(utils.BareRepoTestCase):
|
||||
|
||||
class WalkerTest(utils.RepoTestCase):
|
||||
|
||||
def test_walk(self):
|
||||
history = self.repo.walk("5fe808e8953c12735680c257f56600cb0de44b10")
|
||||
history = list(history)
|
||||
self.assertEqual(len(history), 2)
|
||||
walker = self.repo.walk(log[0], GIT_SORT_TIME)
|
||||
out = [ x.sha for x in walker ]
|
||||
self.assertEqual(out, log)
|
||||
|
||||
def test_reverse(self):
|
||||
walker = self.repo.walk(log[0], GIT_SORT_TIME | GIT_SORT_REVERSE)
|
||||
out = [ x.sha for x in walker ]
|
||||
self.assertEqual(out, list(reversed(log)))
|
||||
|
||||
def test_hide(self):
|
||||
walker = self.repo.walk(log[0], GIT_SORT_TIME)
|
||||
walker.hide('4ec4389a8068641da2d6578db0419484972284c8')
|
||||
self.assertEqual(len(list(walker)), 2)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
|
Loading…
x
Reference in New Issue
Block a user