def test_modified_lines(self): output = os.linesep.join([ '--- a/foo/bar/a.py', '+++ b/foo/bar/a.py', '@@ -200,0 +201,2 @@ class Test:', '+ import pprint', '+ pprint.pprint(foo)', '@@ -400,0 +401,0 @@ class Test:', '@@ -600,0 +601,1 @@ class Test:', '+ import pprint', ]).encode('utf-8') with mock.patch('subprocess.check_output', return_value=output) as hg_call: self.assertEqual( [201, 202, 601], list(hg.modified_lines('/home/user/repo/foo/bar.txt', 'M'))) hg_call.assert_called_once_with( ['hg', 'diff', '-U', '0', '/home/user/repo/foo/bar.txt'])
def test_modified_lines(self, check_output): check_output.return_value = os.linesep.join([ '--- a/foo/bar/a.py', '+++ b/foo/bar/a.py', '@@ -200,0 +201,2 @@ class Test:', '+ import pprint', '+ pprint.pprint(foo)', '@@ -400,0 +401,0 @@ class Test:', '@@ -600,0 +601,1 @@ class Test:', '+ import pprint', ]).encode('utf-8') self.assertEqual([201, 202, 601], list( hg.modified_lines('/home/user/repo/foo/bar.txt', 'M'))) check_output.assert_called_once_with( ['hg', 'diff', '-U', '0', '/home/user/repo/foo/bar.txt'])
def test_modified_lines_with_commit(self): output = os.linesep.join([ '--- a/foo/bar/a.py', '+++ b/foo/bar/a.py', '@@ -200,0 +201,2 @@ class Test:', '+ import pprint', '+ pprint.pprint(foo)', '@@ -400,0 +401,0 @@ class Test:', '@@ -600,0 +601,1 @@ class Test:', '+ import pprint', ]).encode('utf-8') commit = '0123' * 10 with mock.patch('subprocess.check_output', return_value=output) as hg_call: self.assertEqual( [201, 202, 601], list(hg.modified_lines( '/home/user/repo/foo/bar.txt', 'M', commit=commit))) hg_call.assert_called_once_with( ['hg', 'diff', '-U', '0', '--change=%s' % commit, '/home/user/repo/foo/bar.txt'])
def test_modified_lines_with_commit(self, check_output): check_output.return_value = os.linesep.join([ '--- a/foo/bar/a.py', '+++ b/foo/bar/a.py', '@@ -200,0 +201,2 @@ class Test:', '+ import pprint', '+ pprint.pprint(foo)', '@@ -400,0 +401,0 @@ class Test:', '@@ -600,0 +601,1 @@ class Test:', '+ import pprint', ]).encode('utf-8') commit = '0123' * 10 self.assertEqual([201, 202, 601], list( hg.modified_lines( '/home/user/repo/foo/bar.txt', 'M', commit=commit))) check_output.assert_called_once_with([ 'hg', 'diff', '-U', '0', '--change=%s' % commit, '/home/user/repo/foo/bar.txt' ])
def test_modified_lines_no_info(self): self.assertEqual([], list( hg.modified_lines('/home/user/repo/foo/bar.txt', None)))
def test_modified_lines_untracked(self): self.assertEqual(None, hg.modified_lines('/home/user/repo/foo/bar.txt', '?'))
def test_modified_lines_new_addition(self): self.assertEqual(None, hg.modified_lines('/home/user/repo/foo/bar.txt', 'A'))