summaryrefslogtreecommitdiff
path: root/test/-ext-/win32
diff options
context:
space:
mode:
Diffstat (limited to 'test/-ext-/win32')
-rw-r--r--test/-ext-/win32/test_console_attr.rb44
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