aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ext/io/console/console.c2
-rw-r--r--test/io/console/test_io_console.rb9
2 files changed, 10 insertions, 1 deletions
diff --git a/ext/io/console/console.c b/ext/io/console/console.c
index 1fb1609b4d..e034079f90 100644
--- a/ext/io/console/console.c
+++ b/ext/io/console/console.c
@@ -1562,7 +1562,7 @@ static VALUE
str_chomp(VALUE str)
{
if (!NIL_P(str)) {
- str = rb_funcallv(str, rb_intern("chomp!"), 0, 0);
+ rb_funcallv(str, rb_intern("chomp!"), 0, 0);
}
return str;
}
diff --git a/test/io/console/test_io_console.rb b/test/io/console/test_io_console.rb
index 3962de3790..bec10c5da0 100644
--- a/test/io/console/test_io_console.rb
+++ b/test/io/console/test_io_console.rb
@@ -235,6 +235,15 @@ defined?(PTY) and defined?(IO.console) and TestIO_Console.class_eval do
assert_equal("\r\n", r.gets)
assert_equal("\"asdf\"", r.gets.chomp)
end
+
+ run_pty("p IO.console.getpass('> ')") do |r, w|
+ assert_equal("> ", r.readpartial(10))
+ sleep 0.1
+ w.print "asdf\C-D\C-D"
+ sleep 0.1
+ assert_equal("\r\n", r.gets)
+ assert_equal("\"asdf\"", r.gets.chomp)
+ end
end
def test_iflush