From e52f389dc2ee7f5988b6abfb20651f9edd6b7a26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20B=C3=A9n=C3=A9teau?= Date: Sat, 5 Aug 2017 22:04:05 +1200 Subject: Fix bug preventing '--' being passed as the first argument. --- lib/slop/parser.rb | 1 + test/error_test.rb | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/lib/slop/parser.rb b/lib/slop/parser.rb index 7d8ad46..3cba82b 100644 --- a/lib/slop/parser.rb +++ b/lib/slop/parser.rb @@ -148,6 +148,7 @@ module Slop def partition(strings) if strings.include?("--") partition_idx = strings.index("--") + return [[], strings[1..-1]] if partition_idx.zero? [strings[0..partition_idx-1], strings[partition_idx+1..-1]] else [strings, []] diff --git a/test/error_test.rb b/test/error_test.rb index 848e2d5..2f7730b 100644 --- a/test/error_test.rb +++ b/test/error_test.rb @@ -21,6 +21,12 @@ describe Slop::MissingArgument do opts.string "-n", "--name" opts.parse %w(--name) end + + it "does not raise if '--' appears as the first argument" do + opts = Slop::Options.new + opts.string "-n", "--name" + opts.parse %w(-- --name) + end end describe Slop::UnknownOption do -- cgit v1.2.1