Sha256: 7a429071e74c99404a9b3d7b97a02c95e20b464ff7c5f6d46ce1f294ae9d8752

Contents?: true

Size: 1.07 KB

Versions: 1

Compression:

Stored size: 1.07 KB

Contents

# Require this file if you need Unicode support.
require 'cucumber/platform'
require 'cucumber/formatter/ansicolor'
$KCODE='u' unless Cucumber::RUBY_1_9

if Cucumber::WINDOWS
  require 'iconv'
  require 'Win32/Console/ANSI'
  Cucumber::CODEPAGE = "cp#{Win32::Console::OutputCP()}"

  module Cucumber
    module WindowsOutput #:nodoc:
      def self.extended(o)
        o.instance_eval do
          alias cucumber_print print
          def print(*a)
            begin
              cucumber_print(*Iconv.iconv(Cucumber::CODEPAGE, "UTF-8", *a.map{|a|a.to_s}))
            rescue Iconv::IllegalSequence
              cucumber_print(*a)
            end
          end

          alias cucumber_puts puts
          def puts(*a)
            begin
              cucumber_puts(*Iconv.iconv(Cucumber::CODEPAGE, "UTF-8", *a.map{|a|a.to_s}))
            rescue Iconv::IllegalSequence
              cucumber_puts(*a)
            end
          end
        end
      end

      Kernel.extend(self) if STDOUT.tty?
      STDOUT.extend(self) if STDOUT.tty?
      STDERR.extend(self) if STDERR.tty?
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
cucumber-0.6.0 lib/cucumber/formatter/unicode.rb