aboutsummaryrefslogtreecommitdiffstats
path: root/tests/test_blame.py
diff options
context:
space:
mode:
authorAntonin Delpeuch <antonin@delpeuch.eu>2023-09-24 10:29:05 +0200
committerAntonin Delpeuch <antonin@delpeuch.eu>2023-09-24 10:29:05 +0200
commitb0d5a8dcbc033bab0a97383b2082e09ccf698dd7 (patch)
tree64f4a27d45553fc977a621b4f356134f585d17ba /tests/test_blame.py
parent70fdff7898416dfa26999194c387abdd17e8acb8 (diff)
downloadgit-deps-b0d5a8dcbc033bab0a97383b2082e09ccf698dd7.tar.gz
Only use pygit2's blame via opt-in
This can be reconsidered if pygit2's blame algorithm improves. The option can still be useful if the 'git' command is not available on the system.
Diffstat (limited to 'tests/test_blame.py')
-rw-r--r--tests/test_blame.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/test_blame.py b/tests/test_blame.py
new file mode 100644
index 0000000..410e7de
--- /dev/null
+++ b/tests/test_blame.py
@@ -0,0 +1,24 @@
+
+from git_deps.blame import blame_via_subprocess, BlameHunk, GitRef
+
+def test_blame_via_subprocess():
+ hunks = list(blame_via_subprocess(
+ 'INSTALL.md',
+ '04f5c095d4eccf5808db6dbf90c31a535f7f371c',
+ 12, 4))
+
+ expected_hunks = [
+ BlameHunk(
+ GitRef('6e23a48f888a355ad7e101c797ce1b66c4b7b86a'),
+ orig_start_line_number=12,
+ final_start_line_number=12,
+ lines_in_hunk=2),
+ BlameHunk(
+ GitRef('2c9d23b0291157eb1096384ff76e0122747b9bdf'),
+ orig_start_line_number=10,
+ final_start_line_number=14,
+ lines_in_hunk=2)
+ ]
+
+ assert hunks == expected_hunks
+