Skip to content
Snippets Groups Projects
Commit 07d1fa39 authored by Jorge Bucaran's avatar Jorge Bucaran
Browse files

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

Fix getopts multiline
parents be106fa1 89a4d811
No related merge requests found
...@@ -122,7 +122,7 @@ ...@@ -122,7 +122,7 @@
# → http://pubs.opengroup.org/onlinepubs/7908799/xbd/utilconv.html # → http://pubs.opengroup.org/onlinepubs/7908799/xbd/utilconv.html
# #
# AUTHORS # AUTHORS
# Jorge Bucaran <@bucaran> # Jorge Bucaran <jbucaran@me.com>
#/ #/
function getopts function getopts
# Currently supported return success/error conditions. # Currently supported return success/error conditions.
...@@ -154,7 +154,7 @@ function getopts ...@@ -154,7 +154,7 @@ function getopts
# Trim option string and collect required / optional options. # Trim option string and collect required / optional options.
if [ -n "$__getopts_optstr" ] 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 # Setting the first token of the option string to `:` enables
# strict mode. This causes getopts to abort the process if an # strict mode. This causes getopts to abort the process if an
......
...@@ -137,6 +137,14 @@ function describe_getotps -d "fish getopts" ...@@ -137,6 +137,14 @@ function describe_getotps -d "fish getopts"
expect (__getopts $options $args) --to-equal \ expect (__getopts $options $args) --to-equal \
"xyz(777)Abc(100)longlong-req(32)long-opt(!!!)D O N E" "xyz(777)Abc(100)longlong-req(32)long-opt(!!!)D O N E"
end 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 end
spec.run $argv spec.run $argv
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment