From d24d2d3ca4558aee0feed31b71c3268a13ef685b Mon Sep 17 00:00:00 2001 From: akr Date: Sat, 3 Jul 2010 14:29:26 +0000 Subject: refine tests. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28534 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/io/console/test_io_console.rb | 69 +++++++++++++++++++++++++++++++++----- 1 file changed, 60 insertions(+), 9 deletions(-) (limited to 'test/io/console') diff --git a/test/io/console/test_io_console.rb b/test/io/console/test_io_console.rb index ba363c637c..adf806556b 100644 --- a/test/io/console/test_io_console.rb +++ b/test/io/console/test_io_console.rb @@ -16,7 +16,27 @@ class TestIO_Console < Test::Unit::TestCase } end + def test_echo + PTY.open {|m, s| + assert(s.echo?) + m.print "a" + assert_equal("a", m.readpartial(10)) + } + end + def test_noecho + PTY.open {|m, s| + s.noecho { + assert(!s.echo?) + m.print "a" + sleep 0.1 + } + m.print "b" + assert_equal("b", m.readpartial(10)) + } + end + + def test_noecho2 PTY.open {|m, s| assert(s.echo?) m.print "a\n" @@ -43,6 +63,18 @@ class TestIO_Console < Test::Unit::TestCase end def test_setecho + PTY.open {|m, s| + assert(s.echo?) + s.echo = false + m.print "a" + sleep 0.1 + s.echo = true + m.print "b" + assert_equal("b", m.readpartial(10)) + } + end + + def test_setecho2 PTY.open {|m, s| assert(s.echo?) m.print "a\n" @@ -70,24 +102,43 @@ class TestIO_Console < Test::Unit::TestCase def test_iflush PTY.open {|m, s| - m.print "a\n" - sleep 0.1 + m.print "a" s.iflush - sleep 0.1 m.print "b\n" - sleep 0.1 - assert_equal("a\r\nb\r\n", m.readpartial(10)) assert_equal("b\n", s.readpartial(10)) } end def test_oflush PTY.open {|m, s| - s.print "a\n" - s.oflush - s.print "b\n" - assert_equal("b\r\n", m.readpartial(10)) + s.print "a" + s.oflush # oflush may be issued after "a" is already sent. + s.print "b" + assert_includes(["b", "ab"], m.readpartial(10)) } end + def test_ioflush + PTY.open {|m, s| + m.print "a" + s.ioflush + m.print "b\n" + assert_equal("b\n", s.readpartial(10)) + } + end + + def test_ioflush2 + PTY.open {|m, s| + s.print "a" + s.ioflush # ioflush may be issued after "a" is already sent. + s.print "b" + assert_includes(["b", "ab"], m.readpartial(10)) + } + end + + def test_winsize + PTY.open {|m, s| + assert_equal([0, 0], s.winsize) + } + end end -- cgit v1.2.3