2011-04-29 14:55:35 +00:00
|
|
|
unless Object.const_defined? 'Pry'
|
|
|
|
$:.unshift File.expand_path '../../lib', __FILE__
|
|
|
|
require 'pry'
|
|
|
|
end
|
|
|
|
|
|
|
|
require 'bacon'
|
|
|
|
|
2011-04-04 12:18:07 +00:00
|
|
|
# Ensure we do not execute any rc files
|
|
|
|
Pry::RC_FILES.clear
|
2011-05-28 13:38:00 +00:00
|
|
|
|
|
|
|
# in case the tests call reset_defaults, ensure we reset them to
|
|
|
|
# amended (test friendly) values
|
|
|
|
class << Pry
|
|
|
|
alias_method :orig_reset_defaults, :reset_defaults
|
|
|
|
def reset_defaults
|
|
|
|
orig_reset_defaults
|
|
|
|
|
|
|
|
Pry.color = false
|
|
|
|
Pry.pager = false
|
|
|
|
Pry.config.should_load_rc = false
|
|
|
|
Pry.config.history.load = false
|
|
|
|
Pry.config.history.save = false
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
Pry.reset_defaults
|
2011-04-04 12:18:07 +00:00
|
|
|
|
2011-05-19 03:28:38 +00:00
|
|
|
# sample doc
|
|
|
|
def sample_method
|
|
|
|
:sample
|
|
|
|
end
|
|
|
|
|
2011-05-22 23:57:34 +00:00
|
|
|
def redirect_pry_io(new_in, new_out)
|
2011-05-19 03:28:38 +00:00
|
|
|
old_in = Pry.input
|
|
|
|
old_out = Pry.output
|
|
|
|
|
|
|
|
Pry.input = new_in
|
|
|
|
Pry.output = new_out
|
|
|
|
begin
|
|
|
|
yield
|
|
|
|
ensure
|
|
|
|
Pry.input = old_in
|
|
|
|
Pry.output = old_out
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2011-05-06 10:44:59 +00:00
|
|
|
def redirect_global_pry_input(new_io)
|
|
|
|
old_io = Pry.input
|
|
|
|
Pry.input = new_io
|
|
|
|
begin
|
|
|
|
yield
|
|
|
|
ensure
|
|
|
|
Pry.input = old_io
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
def redirect_global_pry_output(new_io)
|
|
|
|
old_io = Pry.output
|
|
|
|
Pry.output = new_io
|
|
|
|
begin
|
|
|
|
yield
|
|
|
|
ensure
|
|
|
|
Pry.output = old_io
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2011-01-12 01:16:04 +00:00
|
|
|
class Module
|
|
|
|
public :remove_const
|
2011-05-24 14:57:18 +00:00
|
|
|
public :remove_method
|
2010-12-21 14:03:52 +00:00
|
|
|
end
|
|
|
|
|
2011-03-05 14:17:54 +00:00
|
|
|
|
2010-12-21 14:03:52 +00:00
|
|
|
class InputTester
|
2010-12-24 08:30:51 +00:00
|
|
|
def initialize(*actions)
|
|
|
|
@orig_actions = actions.dup
|
|
|
|
@actions = actions
|
2010-12-21 14:03:52 +00:00
|
|
|
end
|
|
|
|
|
2011-01-09 11:51:45 +00:00
|
|
|
def readline(*)
|
2010-12-21 14:03:52 +00:00
|
|
|
@actions.shift
|
|
|
|
end
|
|
|
|
|
|
|
|
def rewind
|
2011-01-07 12:18:09 +00:00
|
|
|
@actions = @orig_actions.dup
|
2010-12-21 14:03:52 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2011-01-19 08:50:45 +00:00
|
|
|
class Pry
|
|
|
|
|
|
|
|
# null output class - doesn't write anywwhere.
|
|
|
|
class NullOutput
|
|
|
|
def self.puts(*) end
|
2011-04-08 01:06:39 +00:00
|
|
|
def self.string(*) end
|
2011-01-19 08:50:45 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
2011-05-07 05:32:05 +00:00
|
|
|
CommandTester = Pry::CommandSet.new do
|
2011-01-17 14:38:09 +00:00
|
|
|
command "command1", "command 1 test" do
|
2011-01-21 09:17:12 +00:00
|
|
|
output.puts "command1"
|
2011-01-12 01:16:04 +00:00
|
|
|
end
|
|
|
|
|
2011-01-17 14:38:09 +00:00
|
|
|
command "command2", "command 2 test" do |arg|
|
2011-01-21 09:17:12 +00:00
|
|
|
output.puts arg
|
2010-12-21 14:03:52 +00:00
|
|
|
end
|
|
|
|
end
|