diff options
author | Barrett Ingram <bingram@eab.com> | 2019-12-29 21:49:56 -0600 |
---|---|---|
committer | Barrett Ingram <bingram@eab.com> | 2019-12-29 22:20:34 -0600 |
commit | 0080384b6b3f7838e59a1fcb8c9828556ed379ab (patch) | |
tree | 644b178f031a806a733f5ccafdf9abecf527b7dd /spec | |
parent | 62c8951374aeed5a7423609a108848b0bcf81685 (diff) | |
download | pry-0080384b6b3f7838e59a1fcb8c9828556ed379ab.tar.gz |
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
Diffstat (limited to 'spec')
-rw-r--r-- | spec/commands/whereami_spec.rb | 11 |
1 files changed, 11 insertions, 0 deletions
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 |