2018-03-04 10:09:32 -05:00
|
|
|
require_relative '../spec_helper'
|
|
|
|
require_relative 'shared/verbose'
|
2017-05-07 08:04:49 -04:00
|
|
|
|
|
|
|
describe "The -W command line option" do
|
|
|
|
before :each do
|
|
|
|
@script = fixture __FILE__, "verbose.rb"
|
|
|
|
end
|
|
|
|
|
|
|
|
it "with 0 sets $VERBOSE to nil" do
|
|
|
|
ruby_exe(@script, options: "-W0").chomp.should == "nil"
|
|
|
|
end
|
|
|
|
|
|
|
|
it "with 1 sets $VERBOSE to false" do
|
|
|
|
ruby_exe(@script, options: "-W1").chomp.should == "false"
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
describe "The -W command line option with 2" do
|
|
|
|
it_behaves_like :command_line_verbose, "-W2"
|
|
|
|
end
|
2020-10-24 09:52:37 -04:00
|
|
|
|
|
|
|
ruby_version_is "2.7" do
|
|
|
|
describe "The -W command line option with :no-deprecated" do
|
|
|
|
it "suppresses deprecation warnings" do
|
|
|
|
result = ruby_exe('$; = ""', options: '-w', args: '2>&1')
|
|
|
|
result.should =~ /is deprecated/
|
|
|
|
|
|
|
|
result = ruby_exe('$; = ""', options: '-w -W:no-deprecated', args: '2>&1')
|
|
|
|
result.should == ""
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
describe "The -W command line option with :no-experimental" do
|
2020-11-01 03:24:36 -05:00
|
|
|
before do
|
|
|
|
ruby_version_is ""..."3.0" do
|
2020-12-12 21:47:02 -05:00
|
|
|
@src = 'case [0, 1]; in [a, b]; end'
|
2020-11-01 03:24:36 -05:00
|
|
|
end
|
|
|
|
|
|
|
|
ruby_version_is "3.0" do
|
2020-12-12 21:47:02 -05:00
|
|
|
@src = '[0, 1] => [a, b]'
|
2020-11-01 03:24:36 -05:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2020-10-24 09:52:37 -04:00
|
|
|
it "suppresses experimental warnings" do
|
2020-11-01 03:24:36 -05:00
|
|
|
result = ruby_exe(@src, args: '2>&1')
|
2020-10-24 09:52:37 -04:00
|
|
|
result.should =~ /is experimental/
|
|
|
|
|
2020-11-01 03:24:36 -05:00
|
|
|
result = ruby_exe(@src, options: '-W:no-experimental', args: '2>&1')
|
2020-10-24 09:52:37 -04:00
|
|
|
result.should == ""
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|