module Cucumber::WindowsOutput
def self.extended(o)
def self.extended(o) o.instance_eval do alias cucumber_print print def print(*a) if Cucumber::RUBY_1_9 begin cucumber_print(*a.map{|arg| arg.to_s.encode(Encoding.default_external)}) rescue Encoding::UndefinedConversionError => e STDERR.cucumber_puts("WARNING: #{e.message}") cucumber_print(*a) end else begin cucumber_print(*Iconv.iconv(Cucumber::CODEPAGE, "UTF-8", *a.map{|a|a.to_s})) rescue Iconv::InvalidEncoding => e STDERR.cucumber_puts("WARNING: #{e.message}") cucumber_print(*a) rescue Iconv::IllegalSequence => e STDERR.cucumber_puts("WARNING: #{e.message}") cucumber_print(*a) end end end alias cucumber_puts puts def puts(*a) if Cucumber::RUBY_1_9 begin cucumber_puts(*a.map{|arg| arg.to_s.encode(Encoding.default_external)}) rescue Encoding::UndefinedConversionError => e STDERR.cucumber_puts("WARNING: #{e.message}") cucumber_puts(*a) end else begin cucumber_puts(*Iconv.iconv(Cucumber::CODEPAGE, "UTF-8", *a.map{|a|a.to_s})) rescue Iconv::InvalidEncoding => e STDERR.cucumber_print("WARNING: #{e.message}") cucumber_print(*a) rescue Iconv::IllegalSequence => e STDERR.cucumber_puts("WARNING: #{e.message}") cucumber_puts(*a) end end end end end
def print(*a)
def print(*a) if Cucumber::RUBY_1_9 begin cucumber_print(*a.map{|arg| arg.to_s.encode(Encoding.default_external)}) rescue Encoding::UndefinedConversionError => e STDERR.cucumber_puts("WARNING: #{e.message}") cucumber_print(*a) end else begin cucumber_print(*Iconv.iconv(Cucumber::CODEPAGE, "UTF-8", *a.map{|a|a.to_s})) rescue Iconv::InvalidEncoding => e STDERR.cucumber_puts("WARNING: #{e.message}") cucumber_print(*a) rescue Iconv::IllegalSequence => e STDERR.cucumber_puts("WARNING: #{e.message}") cucumber_print(*a) end end end
def puts(*a)
def puts(*a) if Cucumber::RUBY_1_9 begin cucumber_puts(*a.map{|arg| arg.to_s.encode(Encoding.default_external)}) rescue Encoding::UndefinedConversionError => e STDERR.cucumber_puts("WARNING: #{e.message}") cucumber_puts(*a) end else begin cucumber_puts(*Iconv.iconv(Cucumber::CODEPAGE, "UTF-8", *a.map{|a|a.to_s})) rescue Iconv::InvalidEncoding => e STDERR.cucumber_print("WARNING: #{e.message}") cucumber_print(*a) rescue Iconv::IllegalSequence => e STDERR.cucumber_puts("WARNING: #{e.message}") cucumber_puts(*a) end end end