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 42
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 57
def ask(question)
  raise InputEOFError, question if @ins.eof?

  super
end
error() click to toggle source
# File lib/rubygems/mock_gem_ui.rb, line 71
def error
  @errs.string
end
input() click to toggle source
# File lib/rubygems/mock_gem_ui.rb, line 63
def input
  @ins.string
end
output() click to toggle source
# File lib/rubygems/mock_gem_ui.rb, line 67
def output
  @outs.string
end
terminate_interaction(status=0) click to toggle source
# File lib/rubygems/mock_gem_ui.rb, line 79
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 75
def terminated?
  @terminated
end