зеркало из https://github.com/github/ruby.git
optparse: Suppress warnings
Ruby warns "instance variable `@version` not initialized" for optparse when it receives `--version` option. `test.rb` ```ruby require 'optparse' Version = '1' OptionParser.new.parse(ARGV) ``` ``` $ ruby -w test.rb --version /home/pocke/.rbenv/versions/2.5.1/lib/ruby/2.5.0/optparse.rb:1168: warning: instance variable @version not initialized /home/pocke/.rbenv/versions/2.5.1/lib/ruby/2.5.0/optparse.rb:1175: warning: instance variable @release not initialized test 1 ``` This change will suppress the warnings. [Fix GH-1871] From: Masataka Pocke Kuwabara <kuwabara@pocke.me> git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63342 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
Родитель
d32763eca0
Коммит
2ad7fb6dc1
|
@ -1165,14 +1165,14 @@ XXX
|
|||
# Version
|
||||
#
|
||||
def version
|
||||
@version || (defined?(::Version) && ::Version)
|
||||
(defined?(@version) && @version) || (defined?(::Version) && ::Version)
|
||||
end
|
||||
|
||||
#
|
||||
# Release code
|
||||
#
|
||||
def release
|
||||
@release || (defined?(::Release) && ::Release) || (defined?(::RELEASE) && ::RELEASE)
|
||||
(defined?(@release) && @release) || (defined?(::Release) && ::Release) || (defined?(::RELEASE) && ::RELEASE)
|
||||
end
|
||||
|
||||
#
|
||||
|
|
|
@ -48,6 +48,8 @@ class TestOptionParser::SummaryTest < TestOptionParser
|
|||
def test_ver
|
||||
o = OptionParser.new("foo bar")
|
||||
o.program_name = "foo"
|
||||
assert_warning('') {assert_nil(o.version)}
|
||||
assert_warning('') {assert_nil(o.release)}
|
||||
o.version = [0, 1]
|
||||
assert_equal "foo 0.1", o.ver
|
||||
o.release = "rel"
|
||||
|
|
Загрузка…
Ссылка в новой задаче