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:
		
							parent
							
								
									688d00d23b
								
							
						
					
					
						commit
						de1e4881d4
					
				
					 6 changed files with 32 additions and 1 deletions
				
			
		|  | @ -1,3 +1,9 @@ | |||
| Mon Jan 16 16:41:53 2012  Nobuyoshi Nakada  <nobu@ruby-lang.org> | ||||
| 
 | ||||
| 	* lib/optparse.rb (Regexp): fix incorrect options when casting to | ||||
| 	  a Regexp, and suppress encoding option warnings. | ||||
| 	  https://github.com/ruby/ruby/pull/82 | ||||
| 
 | ||||
| Mon Jan 16 11:22:38 2012  Nobuyoshi Nakada  <nobu@ruby-lang.org> | ||||
| 
 | ||||
| 	* win32/win32.c (rb_chsize): no need to get the current file size. | ||||
|  |  | |||
|  | @ -1709,7 +1709,8 @@ XXX | |||
|       f |= Regexp::IGNORECASE if /i/ =~ o | ||||
|       f |= Regexp::MULTILINE if /m/ =~ o | ||||
|       f |= Regexp::EXTENDED if /x/ =~ o | ||||
|       k = o.delete("^imx") | ||||
|       k = o.delete("imx") | ||||
|       k = nil if k.empty? | ||||
|     end | ||||
|     Regexp.new(s || all, f, k) | ||||
|   end | ||||
|  |  | |||
|  | @ -5,6 +5,8 @@ class TestOptionParser::OptArg < TestOptionParser | |||
|     super | ||||
|     @opt.def_option("-x[VAL]") {|x| @flag = x} | ||||
|     @opt.def_option("--option[=VAL]") {|x| @flag = x} | ||||
|     @opt.def_option("--regexp[=REGEXP]", Regexp) {|x| @reopt = x} | ||||
|     @reopt = nil | ||||
|   end | ||||
| 
 | ||||
|   def test_short | ||||
|  |  | |||
|  | @ -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 | ||||
|  |  | |||
|  | @ -6,7 +6,10 @@ class TestOptionParser::PlaceArg < TestOptionParser | |||
|     @opt.def_option("-x [VAL]") {|x| @flag = x} | ||||
|     @opt.def_option("--option [VAL]") {|x| @flag = x} | ||||
|     @opt.def_option("-T [level]", /^[0-4]$/, Integer) {|x| @topt = x} | ||||
|     @topt = nil | ||||
|     @opt.def_option("-n") {} | ||||
|     @opt.def_option("--regexp [REGEXP]", Regexp) {|x| @reopt = x} | ||||
|     @reopt = nil | ||||
|   end | ||||
| 
 | ||||
|   def test_short | ||||
|  |  | |||
|  | @ -7,6 +7,8 @@ module TestOptionParser::ReqArg | |||
|       super | ||||
|       @opt.def_option("-xVAL") {|x| @flag = x} | ||||
|       @opt.def_option("--option=VAL") {|x| @flag = x} | ||||
|       @opt.def_option("--regexp=REGEXP", Regexp) {|x| @reopt = x} | ||||
|       @reopt = nil | ||||
|     end | ||||
|   end | ||||
|   class Def2 < TestOptionParser | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 nobu
						nobu