diff options
Diffstat (limited to 'lib/rubygems/mock_gem_ui.rb')
-rw-r--r-- | lib/rubygems/mock_gem_ui.rb | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/lib/rubygems/mock_gem_ui.rb b/lib/rubygems/mock_gem_ui.rb index 13f0bf564b..76a9389676 100644 --- a/lib/rubygems/mock_gem_ui.rb +++ b/lib/rubygems/mock_gem_ui.rb @@ -6,6 +6,17 @@ require 'rubygems/user_interaction' # 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 @@ -44,6 +55,12 @@ class Gem::MockGemUi < Gem::StreamUI @terminated = false end + def ask question + raise InputEOFError, question if @ins.eof? + + super + end + def input @ins.string end |