diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-01-16 07:42:01 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-01-16 07:42:01 +0000 |
commit | de1e4881d4c29e71086e9885c7f1a48452aa6780 (patch) | |
tree | 24a58cd5f1ca80df5129966ae11cff5d717d56ee /test/optparse/test_optparse.rb | |
parent | 688d00d23b9280d75a75c129382408a057c7109d (diff) |
* 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
Diffstat (limited to 'test/optparse/test_optparse.rb')
-rw-r--r-- | test/optparse/test_optparse.rb | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/test/optparse/test_optparse.rb b/test/optparse/test_optparse.rb index 6aa8fac757..76b8f7b183 100644 --- a/test/optparse/test_optparse.rb +++ b/test/optparse/test_optparse.rb @@ -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 |