summaryrefslogtreecommitdiff
path: root/t/t0040-parse-options.sh
diff options
context:
space:
mode:
authorJeff King <peff@peff.net>2011-06-09 15:55:23 (GMT)
committerJunio C Hamano <gitster@pobox.com>2011-06-22 18:25:20 (GMT)
commitc8ba163916554e9ffd3ce8cb2beeff003d90c0c3 (patch)
treeae035aa6494b6b852d3ddf4e2989a35900a6f0dc /t/t0040-parse-options.sh
parentf77bccaeba7a4c542e9b89d144af74bddd36fd08 (diff)
downloadgit-c8ba163916554e9ffd3ce8cb2beeff003d90c0c3.zip
git-c8ba163916554e9ffd3ce8cb2beeff003d90c0c3.tar.gz
git-c8ba163916554e9ffd3ce8cb2beeff003d90c0c3.tar.bz2
parse-options: add OPT_STRING_LIST helper
This just adds repeated invocations of an option to a list of strings. Using the "--no-<var>" form will reset the list to empty. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t0040-parse-options.sh')
-rwxr-xr-xt/t0040-parse-options.sh17
1 files changed, 17 insertions, 0 deletions
diff --git a/t/t0040-parse-options.sh b/t/t0040-parse-options.sh
index ae26614..007f39d 100755
--- a/t/t0040-parse-options.sh
+++ b/t/t0040-parse-options.sh
@@ -28,6 +28,7 @@ String options
--st <st> get another string (pervert ordering)
-o <str> get another string
--default-string set string to default
+ --list <str> add str to list
Magic arguments
--quux means --quux
@@ -337,4 +338,20 @@ test_expect_success 'negation of OPT_NONEG flags is not ambiguous' '
test_cmp expect output
'
+cat >>expect <<'EOF'
+list: foo
+list: bar
+list: baz
+EOF
+test_expect_success '--list keeps list of strings' '
+ test-parse-options --list foo --list=bar --list=baz >output &&
+ test_cmp expect output
+'
+
+test_expect_success '--no-list resets list' '
+ test-parse-options --list=other --list=irrelevant --list=options \
+ --no-list --list=foo --list=bar --list=baz >output &&
+ test_cmp expect output
+'
+
test_done