From 43b00d8a118e946e57fae4b6a192d3b0e832cf1e Mon Sep 17 00:00:00 2001 From: nobu Date: Thu, 21 Aug 2014 08:10:34 +0000 Subject: win32.c: manage reverse video * win32/win32.c (constat_attr): manage reverse video internally since Windows console window does not manage it. based on the patch by white leaf in [ruby-dev:48483]. [Bug #10158] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47241 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/-ext-/win32/test_console_attr.rb | 44 +++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 test/-ext-/win32/test_console_attr.rb (limited to 'test/-ext-') diff --git a/test/-ext-/win32/test_console_attr.rb b/test/-ext-/win32/test_console_attr.rb new file mode 100644 index 0000000000..6e8f93ab99 --- /dev/null +++ b/test/-ext-/win32/test_console_attr.rb @@ -0,0 +1,44 @@ +if /mswin|mingw/ =~ RUBY_PLATFORM and STDOUT.tty? + require '-test-/win32/console' + require 'io/console' + require 'test/unit' + + class Test_Win32Console < Test::Unit::TestCase + def setup + print "\e[m!" + end + + def teardown + print "\e[m!" + end + + def test_default + info = STDOUT.console_info + assert_equal(7, info.attr); + end + + def test_reverse + print "\e[7m" + info = STDOUT.console_info + assert_equal(0x70, info.attr); + end + + def test_bold + print "\e[1m" + info = STDOUT.console_info + assert_equal(0x8, info.attr&0x8); + end + + def test_bold_reverse + print "\e[1;7m" + info = STDOUT.console_info + assert_equal(0xf0, info.attr); + end + + def test_reverse_bold + print "\e[7;1m" + info = STDOUT.console_info + assert_equal(0xf0, info.attr); + end + end +end -- cgit v1.2.3