aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xgit-branch-list7
-rw-r--r--t/100-clear-clears-all-branches-from-list.t36
2 files changed, 43 insertions, 0 deletions
diff --git a/git-branch-list b/git-branch-list
index 1e8593c..1468bfe 100755
--- a/git-branch-list
+++ b/git-branch-list
@@ -64,6 +64,10 @@ function drop_branch () {
rm "${DATABASE}.bak"
}
+function clear_branches () {
+ : > "$DATABASE"
+}
+
function list_branches () {
nl "$DATABASE"
}
@@ -129,6 +133,9 @@ case "$command" in
drop)
drop_branch "$2"
;;
+ clear)
+ clear_branches
+ ;;
"")
list_branches
diff --git a/t/100-clear-clears-all-branches-from-list.t b/t/100-clear-clears-all-branches-from-list.t
new file mode 100644
index 0000000..952d68a
--- /dev/null
+++ b/t/100-clear-clears-all-branches-from-list.t
@@ -0,0 +1,36 @@
+#!/usr/bin/env perl -w
+
+use strict;
+
+use Test::More;
+
+use File::Spec;
+
+my $BIN = File::Spec->rel2abs('git-branch-list');
+
+chdir 't-git-repo' or die $!;
+
+system('git branch first');
+ok !$?;
+
+system("$BIN save first");
+ok !$?;
+
+system('git branch second');
+ok !$?;
+
+system("$BIN save second");
+ok !$?;
+
+system("$BIN clear");
+ok !$?;
+
+my $branch_list = qx($BIN);
+is $branch_list, '';
+
+
+# Teardown
+system('git branch -d first second');
+
+
+done_testing;