diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2014-08-21 08:10:34 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2014-08-21 08:10:34 +0000 |
commit | 43b00d8a118e946e57fae4b6a192d3b0e832cf1e (patch) | |
tree | b2bfaa4fb5df353a13067cc5003c83eaf23c7821 /test | |
parent | 4d9de3db0a9c84a8e0cb1564af348df4ed21dff2 (diff) | |
download | ruby-43b00d8a118e946e57fae4b6a192d3b0e832cf1e.tar.gz |
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
Diffstat (limited to 'test')
-rw-r--r-- | test/-ext-/win32/test_console_attr.rb | 44 |
1 files changed, 44 insertions, 0 deletions
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 |