8
class TestIO_Console < Test::Unit::TestCase
12
assert_equal("abc\r\n", m.gets)
15
assert_equal("def\n", m.gets)
18
assert_equal("ghi\r\n", m.gets)
26
assert_equal("a", m.readpartial(10))
38
assert_equal("b", m.readpartial(10))
49
assert_equal("a\r\nb\r\n", m.readpartial(10))
50
assert_equal("a\n", s.readpartial(10))
55
assert_equal("b\r\n", m.readpartial(10))
56
assert_equal("a\n", s.readpartial(10))
63
assert_equal("a\r\nb\r\n", m.readpartial(10))
64
assert_equal("a\n", s.readpartial(10))
76
assert_equal("b", m.readpartial(10))
87
assert_equal("a\r\nb\r\n", m.readpartial(10))
88
assert_equal("a\n", s.readpartial(10))
93
assert_equal("b\r\n", m.readpartial(10))
94
assert_equal("a\n", s.readpartial(10))
101
assert_equal("a\r\nb\r\n", m.readpartial(10))
102
assert_equal("a\n", s.readpartial(10))
111
assert_equal("b\n", s.readpartial(10))
118
s.oflush # oflush may be issued after "a" is already sent.
120
assert_include(["b", "ab"], m.readpartial(10))
129
assert_equal("b\n", s.readpartial(10))
136
s.ioflush # ioflush may be issued after "a" is already sent.
138
assert_include(["b", "ab"], m.readpartial(10))
145
assert_equal([0, 0], s.winsize)
146
rescue Errno::EINVAL # OpenSolaris 2009.06 TIOCGWINSZ causes Errno::EINVAL before TIOCSWINSZ.
153
assert(IO.console.sync, "console should be unbuffered")
157
r, w, pid = PTY.spawn(EnvUtil.rubybin, "-rio/console", "-e", "p IO.console.class")
160
assert_match("File", con)
175
end if defined?(PTY) and defined?(IO::console)
177
class TestIO_Console < Test::Unit::TestCase
178
require_relative '../../ruby/envutil'
181
when Process.respond_to?(:daemon)
182
noctty = [EnvUtil.rubybin, "-e", "Process.daemon(true)"]
183
when !(rubyw = RbConfig::CONFIG["RUBYW_INSTALL_NAME"]).empty?
184
dir, base = File.split(EnvUtil.rubybin)
185
noctty = [File.join(dir, base.sub(/ruby/, rubyw))]
192
t = Tempfile.new("console")
194
t2 = Tempfile.new("console")
198
'-e', 'open(ARGV[0], "w") {|f| f.puts IO.console.inspect}',
199
'-e', 'File.unlink(ARGV[1])',
200
'--', t.path, t2.path]
202
sleep 0.1 while File.exist?(t2.path)
204
assert_equal("nil", t.gets.chomp)
206
t.close! if t and !t.closed?
210
end if defined?(IO.console)