summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenoit Daloze <eregontp@gmail.com>2019-09-08 12:41:14 +0200
committerBenoit Daloze <eregontp@gmail.com>2019-09-08 12:41:14 +0200
commitb10940a839636cbd990cb2f8a6430fb39c50fb04 (patch)
tree5d21bc64ad523b4ee7f6528c09194eaaac4ff200
parentaedf6946a7e958dd00a272c08550790be9dd1c0d (diff)
Improve Proc#to_s specs
-rw-r--r--spec/ruby/core/proc/shared/to_s.rb16
1 files changed, 9 insertions, 7 deletions
diff --git a/spec/ruby/core/proc/shared/to_s.rb b/spec/ruby/core/proc/shared/to_s.rb
index 050feb7b1c..8b9c83927f 100644
--- a/spec/ruby/core/proc/shared/to_s.rb
+++ b/spec/ruby/core/proc/shared/to_s.rb
@@ -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