Back ported a lot of changes made to the Koans directory.
[ruby_koans.git] / src / edgecase.rb
index ba49956..0707687 100644 (file)
@@ -2,6 +2,10 @@
 # -*- ruby -*-
 
 require 'test/unit/assertions'
+begin
+  require 'win32console'
+rescue LoadError
+end
 
 # --------------------------------------------------------------------
 # Support code for the Ruby Koans.
@@ -107,7 +111,9 @@ module EdgeCase
     def use_colors?
       return false if ENV['NO_COLOR']
       if ENV['ANSI_COLOR'].nil?
-        ! using_windows?
+        if using_windows?
+          using_win32console
+        end
       else
         ENV['ANSI_COLOR'] =~ /^(t|y)/i
       end
@@ -116,6 +122,10 @@ module EdgeCase
     def using_windows?
       File::ALT_SEPARATOR
     end
+
+    def using_win32console
+      defined? Win32::Console
+    end
   end
 
   class Sensei