diff options
Diffstat (limited to 'ruby_2_2/lib/rubygems/mock_gem_ui.rb')
-rw-r--r-- | ruby_2_2/lib/rubygems/mock_gem_ui.rb | 88 |
1 files changed, 0 insertions, 88 deletions
diff --git a/ruby_2_2/lib/rubygems/mock_gem_ui.rb b/ruby_2_2/lib/rubygems/mock_gem_ui.rb deleted file mode 100644 index 76a9389676..0000000000 --- a/ruby_2_2/lib/rubygems/mock_gem_ui.rb +++ /dev/null @@ -1,88 +0,0 @@ -require 'stringio' -require 'rubygems/user_interaction' - -## -# This Gem::StreamUI subclass records input and output to StringIO for -# retrieval during tests. - -class Gem::MockGemUi < Gem::StreamUI - ## - # Raised when you haven't provided enough input to your MockGemUi - - class InputEOFError < RuntimeError - - def initialize question - super "Out of input for MockGemUi on #{question.inspect}" - end - - end - - class TermError < RuntimeError - attr_reader :exit_code - - def initialize exit_code - super - @exit_code = exit_code - end - end - class SystemExitException < RuntimeError; end - - module TTY - - attr_accessor :tty - - def tty?() - @tty = true unless defined?(@tty) - @tty - end - - def noecho - yield self - end - end - - def initialize(input = "") - 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 - - def ask question - raise InputEOFError, question if @ins.eof? - - super - end - - def input - @ins.string - end - - def output - @outs.string - end - - def error - @errs.string - end - - def terminated? - @terminated - end - - def terminate_interaction(status=0) - @terminated = true - - raise TermError, status if status != 0 - raise SystemExitException - end - -end - |