1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* ext/io/console/console.c (set_rawmode): clear ECHOE and ECHOK

bits too.
* ext/io/console/console.c (echo_p): ignore ECHOE and ECHOK bits.
  [ruby-dev:45309] [Bug #6116]
* ext/io/console/console.c (console_raw): fix rdoc.
* ext/io/console/console.c (console_set_echo): mentioned about
  platform dependency.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34917 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2012-03-06 01:11:47 +00:00
parent 2706b60ccb
commit dd9569ded8
3 changed files with 38 additions and 12 deletions

View file

@ -7,14 +7,19 @@ end
require_relative '../../ruby/envutil'
class TestIO_Console < Test::Unit::TestCase
Bug6116 = '[ruby-dev:45309]'
def test_raw
helper {|m, s|
s.print "abc\n"
assert_equal("abc\r\n", m.gets)
assert_send([s, :echo?])
s.raw {
assert_not_send([s, :echo?], Bug6116)
s.print "def\n"
assert_equal("def\n", m.gets)
}
assert_send([s, :echo?])
s.print "ghi\n"
assert_equal("ghi\r\n", m.gets)
}
@ -22,14 +27,19 @@ class TestIO_Console < Test::Unit::TestCase
def test_cooked
helper {|m, s|
assert_send([s, :echo?])
s.raw {
s.print "abc\n"
assert_equal("abc\n", m.gets)
assert_not_send([s, :echo?], Bug6116)
s.cooked {
assert_send([s, :echo?])
s.print "def\n"
assert_equal("def\r\n", m.gets)
}
assert_not_send([s, :echo?], Bug6116)
}
assert_send([s, :echo?])
s.print "ghi\n"
assert_equal("ghi\r\n", m.gets)
}
@ -37,7 +47,7 @@ class TestIO_Console < Test::Unit::TestCase
def test_echo
helper {|m, s|
assert(s.echo?)
assert_send([s, :echo?])
m.print "a"
assert_equal("a", m.readpartial(10))
}
@ -46,7 +56,7 @@ class TestIO_Console < Test::Unit::TestCase
def test_noecho
helper {|m, s|
s.noecho {
assert(!s.echo?)
assert_not_send([s, :echo?])
m.print "a"
sleep 0.1
}
@ -57,7 +67,7 @@ class TestIO_Console < Test::Unit::TestCase
def test_noecho2
helper {|m, s|
assert(s.echo?)
assert_send([s, :echo?])
m.print "a\n"
sleep 0.1
s.print "b\n"
@ -65,13 +75,13 @@ class TestIO_Console < Test::Unit::TestCase
assert_equal("a\r\nb\r\n", m.readpartial(10))
assert_equal("a\n", s.readpartial(10))
s.noecho {
assert(!s.echo?)
assert_not_send([s, :echo?])
m.print "a\n"
s.print "b\n"
assert_equal("b\r\n", m.readpartial(10))
assert_equal("a\n", s.readpartial(10))
}
assert(s.echo?)
assert_send([s, :echo?])
m.print "a\n"
sleep 0.1
s.print "b\n"
@ -83,7 +93,7 @@ class TestIO_Console < Test::Unit::TestCase
def test_setecho
helper {|m, s|
assert(s.echo?)
assert_send([s, :echo?])
s.echo = false
m.print "a"
sleep 0.1
@ -95,7 +105,7 @@ class TestIO_Console < Test::Unit::TestCase
def test_setecho2
helper {|m, s|
assert(s.echo?)
assert_send([s, :echo?])
m.print "a\n"
sleep 0.1
s.print "b\n"
@ -103,13 +113,13 @@ class TestIO_Console < Test::Unit::TestCase
assert_equal("a\r\nb\r\n", m.readpartial(10))
assert_equal("a\n", s.readpartial(10))
s.echo = false
assert(!s.echo?)
assert_not_send([s, :echo?])
m.print "a\n"
s.print "b\n"
assert_equal("b\r\n", m.readpartial(10))
assert_equal("a\n", s.readpartial(10))
s.echo = true
assert(s.echo?)
assert_send([s, :echo?])
m.print "a\n"
sleep 0.1
s.print "b\n"