diff options
author | Teddy Wing | 2020-09-17 02:34:00 +0200 |
---|---|---|
committer | Teddy Wing | 2020-09-17 02:34:00 +0200 |
commit | e6dee128a2e1cf051fd4f8f2ee810ee0a9a3c7c0 (patch) | |
tree | 428082536ac362d2c2a1ed24dcc2941c8b91f4dc /t/103-fails-with-more-than-one-ref-argument.t | |
parent | 664b4d1f0bca4891e06dc7a3cb179bed7a842bb1 (diff) | |
download | git-todo-e6dee128a2e1cf051fd4f8f2ee810ee0a9a3c7c0.tar.bz2 |
main.rs: Error when more than one ref argument is given
Since it doesn't really make sense to take multiple refs, don't allow
more than one. We can only diff between two trees, and one is fixed as
the workdir.
Also learned that to get an exit code from a `system()` call in Perl,
you have to shift `$?` by 8
(https://perldoc.perl.org/functions/system.html).
Diffstat (limited to 't/103-fails-with-more-than-one-ref-argument.t')
-rw-r--r-- | t/103-fails-with-more-than-one-ref-argument.t | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/t/103-fails-with-more-than-one-ref-argument.t b/t/103-fails-with-more-than-one-ref-argument.t new file mode 100644 index 0000000..b376137 --- /dev/null +++ b/t/103-fails-with-more-than-one-ref-argument.t @@ -0,0 +1,48 @@ +#!/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 !$?; + +system("$BIN master fork-point"); +is $? & 64, 0; + + +# Teardown +system('git checkout master'); +system('git branch -D fork-point'); + + +done_testing; |