Suppress warnings against locations in eval

This commit is contained in:
Nobuyoshi Nakada 2019-08-03 14:06:56 +09:00
Родитель cee394eb22
Коммит ec0d742dd7
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4BC7D6DF58D8DF60
2 изменённых файлов: 11 добавлений и 11 удалений

Просмотреть файл

@ -26,26 +26,26 @@ describe "Binding#eval" do
it "inherits __LINE__ from the enclosing scope" do
obj = BindingSpecs::Demo.new(1)
bind = obj.get_binding
bind.eval("__LINE__").should == obj.get_line_of_binding
suppress_warning {bind.eval("__LINE__")}.should == obj.get_line_of_binding
end
it "preserves __LINE__ across multiple calls to eval" do
obj = BindingSpecs::Demo.new(1)
bind = obj.get_binding
bind.eval("__LINE__").should == obj.get_line_of_binding
bind.eval("__LINE__").should == obj.get_line_of_binding
suppress_warning {bind.eval("__LINE__")}.should == obj.get_line_of_binding
suppress_warning {bind.eval("__LINE__")}.should == obj.get_line_of_binding
end
it "increments __LINE__ on each line of a multiline eval" do
obj = BindingSpecs::Demo.new(1)
bind = obj.get_binding
bind.eval("#foo\n__LINE__").should == obj.get_line_of_binding + 1
suppress_warning {bind.eval("#foo\n__LINE__")}.should == obj.get_line_of_binding + 1
end
it "inherits __LINE__ from the enclosing scope even if the Binding is created with #send" do
obj = BindingSpecs::Demo.new(1)
bind, line = obj.get_binding_with_send_and_line
bind.eval("__LINE__").should == line
suppress_warning {bind.eval("__LINE__")}.should == line
end
it "starts with a __LINE__ of 1 if a filename is passed" do
@ -63,7 +63,7 @@ describe "Binding#eval" do
it "inherits __FILE__ from the enclosing scope" do
obj = BindingSpecs::Demo.new(1)
bind = obj.get_binding
bind.eval("__FILE__").should == obj.get_file_of_binding
suppress_warning {bind.eval("__FILE__")}.should == obj.get_file_of_binding
end
it "uses the __FILE__ that is passed in" do
@ -77,7 +77,7 @@ describe "Binding#eval" do
bind = obj.get_binding
bind.eval("__FILE__", "test.rb").should == "test.rb"
bind.eval("__FILE__").should_not == "test.rb"
suppress_warning {bind.eval("__FILE__")}.should_not == "test.rb"
end
end

Просмотреть файл

@ -161,11 +161,11 @@ describe "Kernel#eval" do
it "uses the filename of the binding if none is provided" do
eval("__FILE__").should == "(eval)"
eval("__FILE__", binding).should == __FILE__
suppress_warning {eval("__FILE__", binding)}.should == __FILE__
eval("__FILE__", binding, "success").should == "success"
eval("eval '__FILE__', binding").should == "(eval)"
eval("eval '__FILE__', binding", binding).should == __FILE__
eval("eval '__FILE__', binding", binding, 'success').should == 'success'
suppress_warning {eval("eval '__FILE__', binding")}.should == "(eval)"
suppress_warning {eval("eval '__FILE__', binding", binding)}.should == __FILE__
suppress_warning {eval("eval '__FILE__', binding", binding, 'success')}.should == 'success'
end
# Found via Rubinius bug github:#149