This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require 'stringio'
|
||||
|
||||
class Pry
|
||||
module Testable
|
||||
module Mockable
|
||||
def mock_command(cmd, args = [], opts = {})
|
||||
output = StringIO.new
|
||||
pry = Pry.new(output: output)
|
||||
ret = cmd.new(opts.merge(pry_instance: pry, output: output)).call_safely(*args)
|
||||
Struct.new(:output, :return).new(output.string, ret)
|
||||
end
|
||||
|
||||
def mock_exception(*mock_backtrace)
|
||||
StandardError.new.tap do |e|
|
||||
e.define_singleton_method(:backtrace) { mock_backtrace }
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user