class Gem::MockGemUi

This Gem::StreamUI subclass records input and output to StringIO for retrieval during tests.

Public Class Methods

new(input = "") click to toggle source
Calls superclass method Gem::StreamUI::new
# File lib/rubygems/mock_gem_ui.rb, line 43
def initialize(input = "")
  require "stringio"
  ins = StringIO.new input
  outs = StringIO.new
  errs = StringIO.new

  ins.extend TTY
  outs.extend TTY
  errs.extend TTY

  super ins, outs, errs, true

  @terminated = false
end

Public Instance Methods

ask(question) click to toggle source
Calls superclass method Gem::StreamUI#ask
# File lib/rubygems/mock_gem_ui.rb, line 58
def ask(question)
  raise InputEOFError, question if @ins.eof?

  super
end
error() click to toggle source
# File lib/rubygems/mock_gem_ui.rb, line 72
def error
  @errs.string
end
input() click to toggle source
# File lib/rubygems/mock_gem_ui.rb, line 64
def input
  @ins.string
end
output() click to toggle source
# File lib/rubygems/mock_gem_ui.rb, line 68
def output
  @outs.string
end
terminate_interaction(status=0) click to toggle source
# File lib/rubygems/mock_gem_ui.rb, line 80
def terminate_interaction(status=0)
  @terminated = true

  raise TermError, status if status != 0
  raise SystemExitException
end
terminated?() click to toggle source
# File lib/rubygems/mock_gem_ui.rb, line 76
def terminated?
  @terminated
end