diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-12-08 13:26:56 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-12-08 13:26:56 +0000 |
commit | cadea3ec4b929f29d2cb5b678dba1a6ba23674a0 (patch) | |
tree | d40eb3f022acf193c0a944dc4e797ddcdae061a1 /test | |
parent | 0499c4c91988cf06c379323c7c37ae239ee54044 (diff) | |
download | ruby-cadea3ec4b929f29d2cb5b678dba1a6ba23674a0.tar.gz |
retry IO#getpass
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52948 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test')
-rw-r--r-- | test/io/console/test_io_console.rb | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/test/io/console/test_io_console.rb b/test/io/console/test_io_console.rb index c69eec757e..d5ddc08029 100644 --- a/test/io/console/test_io_console.rb +++ b/test/io/console/test_io_console.rb @@ -180,6 +180,16 @@ class TestIO_Console < Test::Unit::TestCase } end + def test_getpass + skip unless IO.method_defined?("getpass") + run_pty("p IO.console.getpass('> ')") do |r, w| + assert_equal("> ", r.readpartial(10)) + w.print "asdf\n" + assert_equal("\r\n", r.gets) + assert_equal("\"asdf\"", r.gets.chomp) + end + end + def test_iflush helper {|m, s| m.print "a" @@ -270,17 +280,18 @@ class TestIO_Console < Test::Unit::TestCase rescue RuntimeError skip $! else - result = [] - n.times {result << r.gets.chomp} - Process.wait(pid) if block_given? - yield result + yield r, w, pid else + result = [] + n.times {result << r.gets.chomp} + Process.wait(pid) result end ensure r.close if r w.close if w + Process.wait(pid) if pid end end if defined?(PTY) and defined?(IO::console) |