1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

Improve Proc#to_s specs

This commit is contained in:
Benoit Daloze 2019-09-08 12:41:14 +02:00
parent aedf6946a7
commit b10940a839

View file

@ -1,7 +1,9 @@
describe :proc_to_s, shared: true do
sep = ruby_version_is("2.7") ? " " : "@"
describe "for a proc created with Proc.new" do
it "returns a description optionally including file and line number" do
Proc.new { "hello" }.send(@method).should =~ /^#<Proc:([^ ]*?)( ([^ ]*)\/to_s\.rb:4)?>$/
it "returns a description including file and line number" do
Proc.new { "hello" }.send(@method).should =~ /^#<Proc:([^ ]*?)#{sep}#{Regexp.escape __FILE__}:#{__LINE__ }>$/
end
it "has a binary encoding" do
@ -10,8 +12,8 @@ describe :proc_to_s, shared: true do
end
describe "for a proc created with lambda" do
it "returns a description including '(lambda)' and optionally including file and line number" do
-> { "hello" }.send(@method).should =~ /^#<Proc:([^ ]*?)( ([^ ]*)\/to_s\.rb:14)? \(lambda\)>$/
it "returns a description including '(lambda)' and including file and line number" do
-> { "hello" }.send(@method).should =~ /^#<Proc:([^ ]*?)#{sep}#{Regexp.escape __FILE__}:#{__LINE__ } \(lambda\)>$/
end
it "has a binary encoding" do
@ -20,8 +22,8 @@ describe :proc_to_s, shared: true do
end
describe "for a proc created with proc" do
it "returns a description optionally including file and line number" do
proc { "hello" }.send(@method).should =~ /^#<Proc:([^ ]*?)( ([^ ]*)\/to_s\.rb:24)?>$/
it "returns a description including file and line number" do
proc { "hello" }.send(@method).should =~ /^#<Proc:([^ ]*?)#{sep}#{Regexp.escape __FILE__}:#{__LINE__ }>$/
end
it "has a binary encoding" do
@ -32,7 +34,7 @@ describe :proc_to_s, shared: true do
describe "for a proc created with UnboundMethod#to_proc" do
it "returns a description including '(lambda)' and optionally including file and line number" do
def hello; end
method("hello").to_proc.send(@method).should =~ /^#<Proc:([^ ]*?)( ([^ ]*)\/to_s\.rb:22)? \(lambda\)>$/
method("hello").to_proc.send(@method).should =~ /^#<Proc:([^ ]*?)(#{sep}#{Regexp.escape __FILE__}:#{__LINE__ })? \(lambda\)>$/
end
it "has a binary encoding" do