Merge pull request #373 from bucaran/fix-getopts-multiline

Fix getopts multiline
This commit is contained in:
Jorge Bucaran 2015-02-12 00:16:06 +09:00
commit 07d1fa39ac
2 changed files with 10 additions and 2 deletions

View File

@ -122,7 +122,7 @@
# → http://pubs.opengroup.org/onlinepubs/7908799/xbd/utilconv.html
#
# AUTHORS
# Jorge Bucaran <@bucaran>
# Jorge Bucaran <jbucaran@me.com>
#/
function getopts
# Currently supported return success/error conditions.
@ -154,7 +154,7 @@ function getopts
# Trim option string and collect required / optional options.
if [ -n "$__getopts_optstr" ]
set __getopts_optstr (printf $__getopts_optstr | tr '[:space:]' \n)
set __getopts_optstr (printf $__getopts_optstr | tr -s '[:space:]' \n)
# Setting the first token of the option string to `:` enables
# strict mode. This causes getopts to abort the process if an

View File

@ -137,6 +137,14 @@ function describe_getotps -d "fish getopts"
expect (__getopts $options $args) --to-equal \
"xyz(777)Abc(100)longlong-req(32)long-opt(!!!)D O N E"
end
function it_handles_multiline_option_strings
set -l multiline_options "a:aaa
b:bbb
c:ccc
d:ddd"
expect (__getopts $multiline_options -dcbabcd) --to-equal "dcbabcd"
end
end
spec.run $argv