Class: Gem::MockGemUi
Overview
This Gem::StreamUI subclass records input and output to StringIO for retrieval during tests.
Defined Under Namespace
Modules: TTY
Classes: InputEOFError, SystemExitException, TermError
Instance Attribute Summary
Attributes inherited from StreamUI
#errs, #ins, #outs
Instance Method Summary
collapse
Methods inherited from StreamUI
#_gets_noecho, #alert, #alert_error, #alert_warning, #ask_for_password, #ask_yes_no, #backtrace, #choose_from_list, #close, #debug, #download_reporter, #progress_reporter, #require_io_console, #say, #tty?
Methods included from Deprecate
deprecate, skip, skip=, skip_during
Constructor Details
#initialize(input = "") ⇒ MockGemUi
Returns a new instance of MockGemUi.
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
# File 'lib/rubygems/mock_gem_ui.rb', line 47
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
|
Instance Method Details
#ask(question) ⇒ Object
62
63
64
65
66
|
# File 'lib/rubygems/mock_gem_ui.rb', line 62
def ask(question)
raise InputEOFError, question if @ins.eof?
super
end
|
#error ⇒ Object
76
77
78
|
# File 'lib/rubygems/mock_gem_ui.rb', line 76
def error
@errs.string
end
|
68
69
70
|
# File 'lib/rubygems/mock_gem_ui.rb', line 68
def input
@ins.string
end
|
#output ⇒ Object
72
73
74
|
# File 'lib/rubygems/mock_gem_ui.rb', line 72
def output
@outs.string
end
|
#terminate_interaction(status = 0) ⇒ Object
84
85
86
87
88
89
|
# File 'lib/rubygems/mock_gem_ui.rb', line 84
def terminate_interaction(status=0)
@terminated = true
raise TermError, status if status != 0
raise SystemExitException
end
|
#terminated? ⇒ Boolean
80
81
82
|
# File 'lib/rubygems/mock_gem_ui.rb', line 80
def terminated?
@terminated
end
|