1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/spec/ruby/library/getoptlong/ordering_spec.rb
eregon 1d15d5f080 Move spec/rubyspec to spec/ruby for consistency
* Other ruby implementations use the spec/ruby directory.
  [Misc #13792] [ruby-core:82287]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59979 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-20 20:18:52 +00:00

38 lines
1 KiB
Ruby

require File.expand_path('../../../spec_helper', __FILE__)
require 'getoptlong'
describe "GetoptLong#ordering=" do
it "raises an ArgumentError if called after processing has started" do
argv [ "--size", "10k", "--verbose" ] do
opts = GetoptLong.new([ '--size', GetoptLong::REQUIRED_ARGUMENT ],
[ '--verbose', GetoptLong::NO_ARGUMENT ])
opts.quiet = true
opts.get
lambda {
opts.ordering = GetoptLong::PERMUTE
}.should raise_error(ArgumentError)
end
end
it "raises an ArgumentError if given an invalid value" do
opts = GetoptLong.new
lambda {
opts.ordering = 12345
}.should raise_error(ArgumentError)
end
it "does not allow changing ordering to PERMUTE if ENV['POSIXLY_CORRECT'] is set" do
begin
old_env_value = ENV['POSIXLY_CORRECT']
ENV['POSIXLY_CORRECT'] = ""
opts = GetoptLong.new
opts.ordering = GetoptLong::PERMUTE
opts.ordering.should == GetoptLong::REQUIRE_ORDER
ensure
ENV['POSIXLY_CORRECT'] = old_env_value
end
end
end