2018-03-04 10:09:32 -05:00
|
|
|
require_relative '../../spec_helper'
|
2017-10-28 11:15:48 -04:00
|
|
|
require 'optparse'
|
|
|
|
|
|
|
|
describe "OptionParser#parse" do
|
|
|
|
ruby_version_is '2.4' do
|
|
|
|
it "accepts `into` keyword argument and stores result in it" do
|
|
|
|
options = {}
|
|
|
|
parser = OptionParser.new do |opts|
|
|
|
|
opts.on("-v", "--[no-]verbose", "Run verbosely")
|
|
|
|
opts.on("-r", "--require LIBRARY", "Require the LIBRARY before executing your script")
|
|
|
|
end
|
|
|
|
parser.parse %w[--verbose --require optparse], into: options
|
|
|
|
|
|
|
|
options.should == { verbose: true, require: "optparse" }
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
describe "OptionParser#parse!" do
|
|
|
|
ruby_version_is '2.4' do
|
|
|
|
it "accepts `into` keyword argument and stores result in it" do
|
|
|
|
options = {}
|
|
|
|
parser = OptionParser.new do |opts|
|
|
|
|
opts.on("-v", "--[no-]verbose", "Run verbosely")
|
|
|
|
opts.on("-r", "--require LIBRARY", "Require the LIBRARY before executing your script")
|
|
|
|
end
|
|
|
|
parser.parse! %w[--verbose --require optparse], into: options
|
|
|
|
|
|
|
|
options.should == { verbose: true, require: "optparse" }
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|