From 0080384b6b3f7838e59a1fcb8c9828556ed379ab Mon Sep 17 00:00:00 2001 From: Barrett Ingram Date: Sun, 29 Dec 2019 21:49:56 -0600 Subject: Fix whereami -c when class definition is not beginning of line Consider the following class definition: ``` out = class Cor def blimey; end pry_eval(binding, 'whereami -c') end ``` For classes defined as part of an expression like this, "whereami -c" was failing to find the class definition. To fix this, we modify the regular expression so the "class" keyword is no longer required to appear at the beginning of the line IF there is an equals sign preceding it. https://github.com/pry/pry/issues/2052 --- spec/commands/whereami_spec.rb | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'spec') diff --git a/spec/commands/whereami_spec.rb b/spec/commands/whereami_spec.rb index cf674091..fd351d0f 100644 --- a/spec/commands/whereami_spec.rb +++ b/spec/commands/whereami_spec.rb @@ -218,6 +218,17 @@ describe "whereami" do end Object.remove_const(:Cor) end + + it 'should show class when -c option used, and beginning of the class is on the' \ + 'same line as another expression' do + out = class Cor + def blimey; end + pry_eval(binding, 'whereami -c') + end + expect(out).to match(/class Cor/) + expect(out).to match(/blimey/) + Object.remove_const(:Cor) + end end it 'should not show line numbers or marker when -n switch is used' do -- cgit v1.2.1