1
0
Fork 0
mirror of https://github.com/pry/pry.git synced 2022-11-09 12:35:05 -05:00
pry--pry/spec/run_command_spec.rb
John Mair aac76dd355 Fix Pry.run_command
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.
2013-01-17 18:10:30 +01:00

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