1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* lib/optparse.rb (Regexp): fix incorrect options when casting to

a Regexp, and suppress encoding option warnings.
  https://github.com/ruby/ruby/pull/82


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34316 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2012-01-16 07:42:01 +00:00
parent 688d00d23b
commit de1e4881d4
6 changed files with 32 additions and 1 deletions

View file

@ -6,10 +6,17 @@ class TestOptionParser < Test::Unit::TestCase
@opt = OptionParser.new
@flag = self.class # cannot set by option
end
class DummyOutput < String
alias write <<
end
def no_error(*args)
$stderr, stderr = DummyOutput.new, $stderr
assert_nothing_raised(*args) {return yield}
ensure
stderr, $stderr = $stderr, stderr
$!.backtrace.delete_if {|e| /\A#{Regexp.quote(__FILE__)}:#{__LINE__-2}/o =~ e} if $!
assert_empty(stderr)
end
def test_permute
@ -45,4 +52,14 @@ class TestOptionParser < Test::Unit::TestCase
assert_equal(%w"foo -- --help bar", no_error {@opt.order!(%w"foo -- --help bar")})
assert_equal(self.class, @flag)
end
def test_regexp
return unless defined?(@reopt)
assert_equal(%w"", no_error {@opt.parse!(%w"--regexp=/foo/")})
assert_equal(/foo/, @reopt)
assert_equal(%w"", no_error {@opt.parse!(%w"--regexp=/foo/i")})
assert_equal(/foo/i, @reopt)
assert_equal(%w"", no_error {@opt.parse!(%w"--regexp=/foo/n")})
assert_equal(/foo/n, @reopt)
end
end