diff --git a/Changelog.md b/Changelog.md index eeda908658..a3a50e2334 100644 --- a/Changelog.md +++ b/Changelog.md @@ -6,6 +6,8 @@ Enhancements: * Update files generated by `rspec --init` so that warnings are enabled in commented out section of `spec_helper` rather than `.rspec` so users have to consciously opt-in to the setting. (Andrew Hooker, #1572) +* Provide an `inspect` output for example procsy objects (used in around + hooks) that doesn't make them look like procs. (Jon Rowe, #1620) Bug Fixes: diff --git a/lib/rspec/core/example.rb b/lib/rspec/core/example.rb index 83600ecf8f..b42ef90edb 100644 --- a/lib/rspec/core/example.rb +++ b/lib/rspec/core/example.rb @@ -220,6 +220,11 @@ def initialize(example, &block) def wrap(&block) self.class.new(example, &block) end + + # @private + def inspect + @example.inspect.gsub('Example', 'ExampleProcsy') + end end # @private diff --git a/spec/rspec/core/hooks_spec.rb b/spec/rspec/core/hooks_spec.rb index f0a135f4fb..69d8b956eb 100644 --- a/spec/rspec/core/hooks_spec.rb +++ b/spec/rspec/core/hooks_spec.rb @@ -181,6 +181,21 @@ def self.data_from(ex) expect(data_1).to eq(expected_data) expect(data_2).to eq(expected_data) end + + it "exposes a sensible inspect value" do + inspect_value = nil + group = ExampleGroup.describe do + around do |ex| + inspect_value = ex.inspect + end + + it "does something" do + end + end + + group.run + expect(inspect_value).to match /ExampleProcsy/ + end end context "when running the example within a block passed to a method" do