summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorLee Jarvis <leejarvis@fastmail.com>2021-05-27 19:08:38 +0100
committerLee Jarvis <leejarvis@fastmail.com>2021-05-28 19:13:01 +0100
commit89ca46436db6e501790bf7c71cd9dd70569463b8 (patch)
treebf0eea5704c2eacad0f138f76a7f1077a953533a /test
parent09e7db5ba53c94d32c57a100ec6bbf64b64d3afe (diff)
downloadslop-89ca46436db6e501790bf7c71cd9dd70569463b8.tar.gz
Add support for --opt="" for blank arguments
This is especially useful when your default option value is a non-blank value and you want users to be able to overwrite it with a blank value Closes #266
Diffstat (limited to 'test')
-rw-r--r--test/parser_test.rb10
1 files changed, 10 insertions, 0 deletions
diff --git a/test/parser_test.rb b/test/parser_test.rb
index ef09714..b729ee8 100644
--- a/test/parser_test.rb
+++ b/test/parser_test.rb
@@ -1,4 +1,5 @@
require 'test_helper'
+require 'shellwords'
describe Slop::Parser do
before do
@@ -28,6 +29,15 @@ describe Slop::Parser do
assert_equal %w(=), @result.args
end
+ it "parses flag=''" do
+ @options.string "--str"
+ @options.array "--arr", default: ["array"]
+ @result.parser.parse %(--str="" --arr="").shellsplit
+
+ assert_equal "", @result[:str]
+ assert_equal [], @result[:arr]
+ end
+
it "parses arg with leading -" do
@options.string "-t", "--text"
@result.parser.parse %w(--name=bob --text --sometext)