From 2ec8ca7efdab8b3246ba421ae4e9052702d398db Mon Sep 17 00:00:00 2001 From: Alex Young Date: Mon, 20 Apr 2015 14:06:19 +0100 Subject: Get tests passing on ruby 2.0.0-p598 --- Gemfile | 2 +- Gemfile.lock | 4 ++-- lib/mauve/sender.rb | 29 ++++++----------------------- test/tc_mauve_database_peculiarities.rb | 5 ++--- test/tc_mauve_sender.rb | 3 +-- 5 files changed, 12 insertions(+), 31 deletions(-) diff --git a/Gemfile b/Gemfile index 871f9cf..968d442 100644 --- a/Gemfile +++ b/Gemfile @@ -18,7 +18,7 @@ gem "dm-transactions", "=1.2.0" gem "dm-types", "=1.2.0" gem "dm-validations", "=1.2.0" gem "sanitize", "=2.0.3" -gem "rmail", "=0.17" +gem "rmail", "=1.1.0" gem "xmpp4r", "=0.5.6" gem "eventmachine", "=0.12.10" gem "thin", "=1.2.4" diff --git a/Gemfile.lock b/Gemfile.lock index 8c2695f..d5d830f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -77,7 +77,7 @@ GEM rack rack-test (0.6.1) rack (>= 1.0) - rmail (0.17) + rmail (1.1.0) ruby_protobuf (0.4.11) safe_yaml (1.0.4) sanitize (2.0.3) @@ -129,7 +129,7 @@ DEPENDENCIES rack (= 1.3.4) rack-protection (= 1.1.4) rack-test (= 0.6.1) - rmail (= 0.17) + rmail (= 1.1.0) ruby_protobuf (= 0.4.11) sanitize (= 2.0.3) simplecov diff --git a/lib/mauve/sender.rb b/lib/mauve/sender.rb index fe22471..e6cc4dd 100644 --- a/lib/mauve/sender.rb +++ b/lib/mauve/sender.rb @@ -7,12 +7,6 @@ rescue LoadError # Do nothing -- these are bonus libraries :) end -begin - require 'iconv' unless String.new.respond_to?(:encode) -rescue LoadError - # Do nothing -- these are bonus libraries :) -end - require 'mauve/mauve_resolv' require 'mauve/mauve_time' require 'mauve/proto' @@ -172,16 +166,10 @@ module Mauve # # Make sure all string fields are UTF8 -- to ensure the maximal amount of information is sent. # - if value.is_a?(String) - if value.respond_to?(:encode) - value = value.encode("UTF-8", :undef => :replace, :invalid => :replace) - elsif defined? Iconv - value = Iconv.conv("UTF-8//IGNORE", from_charset, value) - end - - update.__send__("#{field.name}=", value) + if value.respond_to?(:encode) + value = value.encode("UTF-8", :undef => :replace, :invalid => :replace) end - + update.__send__("#{field.name}=", value) end update.alert.each do |alert| @@ -194,15 +182,10 @@ module Mauve # # Make sure all string fields are UTF8 -- to ensure the maximal amount of information is sent. # - if value.is_a?(String) - if value.respond_to?(:encode) - value = value.encode("UTF-8", :undef => :replace, :invalid => :replace) - elsif defined? Iconv - value = Iconv.conv("UTF-8//IGNORE", from_charset, value) - end - - alert.__send__("#{field.name}=", value) + if value.respond_to?(:encode) + value = value.encode("UTF-8", :undef => :replace, :invalid => :replace) end + alert.__send__("#{field.name}=", value) end end diff --git a/test/tc_mauve_database_peculiarities.rb b/test/tc_mauve_database_peculiarities.rb index 27604a5..ceef9ad 100644 --- a/test/tc_mauve_database_peculiarities.rb +++ b/test/tc_mauve_database_peculiarities.rb @@ -7,7 +7,6 @@ require 'mauve/server' require 'mauve/configuration' require 'mauve/configuration_builder' require 'mauve/configuration_builders' -require 'iconv' class TcMauveDatabasePeculiarities < Mauve::UnitTest include Mauve @@ -43,10 +42,10 @@ EOF x["fi"] = "Ole hyvä kiirehtiä minulle kannettavan mursu kiillotukseen pakki!" x["jp"] = "私に私のポータブルセイウチの研磨キットを急いでください!" - %w(UTF-8 WINDOWS-1252 SHIFT-JIS).each do |enc| + %w(UTF-8 WINDOWS-1252 SJIS).each do |enc| x.each do |lang, str| assert_nothing_raised("Failed to use iconv to convert to #{enc}") { - str = Iconv.conv(enc+"//IGNORE", "utf8", str) + str = str.encode(enc, :invalid => :replace, :undef => :replace, :replace => '?') } alert = Alert.new( diff --git a/test/tc_mauve_sender.rb b/test/tc_mauve_sender.rb index 3a98c25..858a7ec 100644 --- a/test/tc_mauve_sender.rb +++ b/test/tc_mauve_sender.rb @@ -7,7 +7,6 @@ require 'pp' require 'timecop' require 'mauve/sender' require 'locale' -require 'iconv' class TcMauveSender < Test::Unit::TestCase @@ -29,7 +28,7 @@ class TcMauveSender < Test::Unit::TestCase # Set up a couple of crazy sources. # utf8_source = "Å ðîßtáñt plàñët" - iso88591_source = Iconv.conv(Locale.current.charset, "UTF-8", utf8_source) + iso88591_source = utf8_source.encode(Locale.current.charset) # # Make sure our two sources are distinct -- cgit v1.2.1