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

show-source: Indicate all monkeypatches can be shown with -a

Fixes #849
This commit is contained in:
John Mair 2013-02-10 18:47:15 +01:00 committed by Kyrylo Silin
parent db15bddb1e
commit 342648f61f
3 changed files with 50 additions and 0 deletions

View file

@ -126,6 +126,12 @@ class Pry
h << "@ line #{line_num}:\n" h << "@ line #{line_num}:\n"
h << text.bold(code_object.module? ? "Module" : "Class") h << text.bold(code_object.module? ? "Module" : "Class")
h << " #{text.bold('name:')} #{code_object.nonblank_name}" h << " #{text.bold('name:')} #{code_object.nonblank_name}"
if code_object.number_of_candidates > 1
h << (text.bold("\nNumber of monkeypatches: ") + code_object.number_of_candidates.to_s)
h << ". Use the `-a` option to display all available monkeypatches"
end
h
end end
def method_sections(code_object) def method_sections(code_object)

View file

@ -261,6 +261,28 @@ if !PryTestHelpers.mri18_and_no_real_source_location?
result.should =~ /used by/ result.should =~ /used by/
result.should =~ /local monkeypatch/ result.should =~ /local monkeypatch/
end end
describe "messages relating to -a" do
it 'indicates all available monkeypatches can be shown with -a when (when -a not used and more than one candidate exists for class)' do
class TestClassForShowSource
def beta
end
end
result = pry_eval('show-doc TestClassForShowSource')
result.should =~ /available monkeypatches/
end
it 'shouldnt say anything about monkeypatches when only one candidate exists for selected class' do
class Aarrrrrghh
def o;end
end
result = pry_eval('show-doc Aarrrrrghh')
result.should.not =~ /available monkeypatches/
Object.remove_const(:Aarrrrrghh)
end
end
end end
describe "when no class/module arg is given" do describe "when no class/module arg is given" do

View file

@ -453,6 +453,28 @@ if !PryTestHelpers.mri18_and_no_real_source_location?
result = pry_eval('show-source TestClassForShowSourceInstanceEval -a') result = pry_eval('show-source TestClassForShowSourceInstanceEval -a')
result.should =~ /def instance_eval_method/ result.should =~ /def instance_eval_method/
end end
describe "messages relating to -a" do
it 'indicates all available monkeypatches can be shown with -a when (when -a not used and more than one candidate exists for class)' do
class TestClassForShowSource
def beta
end
end
result = pry_eval('show-source TestClassForShowSource')
result.should =~ /available monkeypatches/
end
it 'shouldnt say anything about monkeypatches when only one candidate exists for selected class' do
class Aarrrrrghh
def o;end
end
result = pry_eval('show-source Aarrrrrghh')
result.should.not =~ /available monkeypatches/
Object.remove_const(:Aarrrrrghh)
end
end
end end
describe "when show-source is invoked without a method or class argument" do describe "when show-source is invoked without a method or class argument" do