diff options
author | Teddy Wing | 2020-09-17 01:33:27 +0200 |
---|---|---|
committer | Teddy Wing | 2020-09-17 01:33:27 +0200 |
commit | 9e910646a5c60007f10e8ea69a7120d50b4868e7 (patch) | |
tree | e549037f2036777b8a1e73e6d38e7010194b34b1 /t/102-accepts-ref-argument.t | |
parent | 0c0072f1cd16850c648bd5ccd694971e4e24f5b4 (diff) | |
download | git-todo-9e910646a5c60007f10e8ea69a7120d50b4868e7.tar.bz2 |
main.rs: Fix ref parsing
Turns out `refname_to_id()` wasn't the right function to get a
reference/oid/object from a ref name. Use `revparse_single()` instead to
get a usable reference object.
Add a test for custom diff bases.
Diffstat (limited to 't/102-accepts-ref-argument.t')
-rw-r--r-- | t/102-accepts-ref-argument.t | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/t/102-accepts-ref-argument.t b/t/102-accepts-ref-argument.t new file mode 100644 index 0000000..a7153df --- /dev/null +++ b/t/102-accepts-ref-argument.t @@ -0,0 +1,52 @@ +#!/usr/bin/env perl -w + +use strict; + +use File::Copy; +use Test::More; + +use Bin qw($BIN); + +my $file = 'git-sugdiff.rs'; + +chdir 't-git-repo' or die $!; + +system('git checkout -b fork-point'); +ok !$?; + +open(my $input, '<', $file) or die $!; +open(my $output, '>', "$file.out") or die $!; + +while (<$input>) { + if ($. == 34) { + print $output " // TODO: 100-shows-todo-comments-since-fork-point\n"; + } + + print $output $_; +} + +close $input; +close $output; + +move("$file.out", $file) or die $!; + +system('git add git-sugdiff.rs'); +ok !$?; + +system('git commit -m "New TODO"'); +ok !$?; + +my $ref = qx(git rev-parse master); +chomp $ref; + +my $todos = qx($BIN $ref); +is $todos, 'git-sugdiff.rs:34: // TODO: 100-shows-todo-comments-since-fork-point +'; + + +# Teardown +system('git checkout master'); +system('git branch -D fork-point'); + + +done_testing; |