diff options
author | Lee Jarvis <leejarvis@fastmail.com> | 2020-07-10 08:36:54 +0100 |
---|---|---|
committer | Lee Jarvis <leejarvis@fastmail.com> | 2020-07-10 08:36:54 +0100 |
commit | e5615fbdd7c4cd07e8fb0c1109fc6da56981829f (patch) | |
tree | 36f5e303143b1fe739a490cc5df0ddc75a9790c9 /test | |
parent | 53e5d15c0493f8eaa31ea9d3a0d785dc9bb0cbc1 (diff) | |
download | slop-e5615fbdd7c4cd07e8fb0c1109fc6da56981829f.tar.gz |
Fix bug with separators around `help: false` opts
The separators rely on the indexes of the options before/after them, but
we ignore `help: false` options when building the help string, so all
of the positions are messed up.
This change avoids ignoring those options during the iteration, and
instead just doesn't append the option help to the string.
Fixes #253
Diffstat (limited to 'test')
-rw-r--r-- | test/options_test.rb | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/test/options_test.rb b/test/options_test.rb index 2f83fc4..0aa6e67 100644 --- a/test/options_test.rb +++ b/test/options_test.rb @@ -70,6 +70,17 @@ describe Slop::Options do assert_equal [""], @options.separators end + + it "correctly handles options with `help: false`" do + @options.boolean "--opt1" + @options.boolean "--opt2", help: false + @options.separator "other options" + @options.boolean "--opt3", help: false + @options.boolean "--opt4" + + _usage, help = @options.to_s.squeeze(" ").split("\n", 2) + assert_equal "--opt1 \nother options\n --opt4", help.strip + end end describe "#method_missing" do |