mirror of
https://github.com/pry/pry.git
synced 2022-11-09 12:35:05 -05:00
aac76dd355
The problem was that Pry#rep() no longer works on its own, it's necessary to use Pry#repl() instead. This is because many new API, like Pry::CodeObject.lookup now get the target binding directly from the _pry_ instance (Pry#current_context), rather than requiring it to be passed in separately. This saves us a parameter. The reason Pry#rep doesnt work with Pry::CodeObject.lookup (and so show-source/show-doc etc) is that the binding_stack is only set up in Pry#repl_prologue, and it is the binding_stack (via Pry#current_context) that is accessed by Pry::CodeObject and pals.
23 lines
606 B
Ruby
23 lines
606 B
Ruby
require 'helper'
|
|
|
|
describe "Pry.run_command" do
|
|
before do
|
|
o = Object.new
|
|
def o.drum
|
|
"roken is dodelijk"
|
|
end
|
|
@context = Pry.binding_for(o)
|
|
end
|
|
|
|
it 'performs a simple ls' do
|
|
@context.eval("hokey_pokey = 10")
|
|
Pry.run_command "ls", :context => @context, :output => out = StringIO.new
|
|
out.string.should =~ /hokey_pokey/
|
|
end
|
|
|
|
# This is a regression test as 0.9.11 broke this behaviour
|
|
it 'can perform a show-source' do
|
|
Pry.run_command "show-source drum", :context => @context, :output => out = StringIO.new
|
|
out.string.should =~ /roken is dodelijk/
|
|
end
|
|
end
|