diff options
Diffstat (limited to 'test/rexml/test_encoding_2.rb')
-rw-r--r-- | test/rexml/test_encoding_2.rb | 80 |
1 files changed, 40 insertions, 40 deletions
diff --git a/test/rexml/test_encoding_2.rb b/test/rexml/test_encoding_2.rb index 5dbe46801b..2e845b58a0 100644 --- a/test/rexml/test_encoding_2.rb +++ b/test/rexml/test_encoding_2.rb @@ -6,54 +6,54 @@ require "rexml/parseexception" =begin # THIS DOESN'T WORK begin - require 'iconv' + require 'iconv' - UnixCharsets = open("| iconv -l") do |f| - f.readlines[5..-1].collect { |x| x.sub(/\/\/\n/,"").delete(' ') } - end + UnixCharsets = open("| iconv -l") do |f| + f.readlines[5..-1].collect { |x| x.sub(/\/\/\n/,"").delete(' ') } + end - DATA = <<END + DATA = <<END <?xml version="1.0" encoding='ENC'?> <Ruby xmlns="http://www.ruby-lang.org/ruby/1.8"> </Ruby> END - class IConvTester < Test::Unit::TestCase - - def test_iconv - broken_encodings = 0 - UnixCharsets.each do |enc| - begin - puts "Testing encoding #{enc}" - data = DATA.dup - data[/ENC/] = enc - REXML::Document.new(data).root - rescue REXML::ParseException => e - broken_encodings += 1 - fail "Encoding #{enc} does not work with REXML: #{e.message}" - rescue Errno::EINVAL => e - broken_encodings += 1 - fail "Encoding #{enc} does not work with REXML: #{e.message}" - rescue ArgumentError => e - broken_encodings += 1 - fail "Encoding #{enc} does not work with REXML: #{e.message}" - rescue - broken_encodings += 1 - fail "Encoding #{enc} does not work with REXML: #{$!.message}" - end - end - - if broken_encodings > 0 - fail "There were #{broken_encodings} encoding failures out of #{UnixCharsets.size} plus some REXML internal encodings" - else - fail "There were no encoding failures" - end - - puts "Full list of registered encodings in REXML:" - puts REXML::Encoding::ENCODING_CLAIMS.values.join(', ') - end - end + class IConvTester < Test::Unit::TestCase + + def test_iconv + broken_encodings = 0 + UnixCharsets.each do |enc| + begin + puts "Testing encoding #{enc}" + data = DATA.dup + data[/ENC/] = enc + REXML::Document.new(data).root + rescue REXML::ParseException => e + broken_encodings += 1 + fail "Encoding #{enc} does not work with REXML: #{e.message}" + rescue Errno::EINVAL => e + broken_encodings += 1 + fail "Encoding #{enc} does not work with REXML: #{e.message}" + rescue ArgumentError => e + broken_encodings += 1 + fail "Encoding #{enc} does not work with REXML: #{e.message}" + rescue + broken_encodings += 1 + fail "Encoding #{enc} does not work with REXML: #{$!.message}" + end + end + + if broken_encodings > 0 + fail "There were #{broken_encodings} encoding failures out of #{UnixCharsets.size} plus some REXML internal encodings" + else + fail "There were no encoding failures" + end + + puts "Full list of registered encodings in REXML:" + puts REXML::Encoding::ENCODING_CLAIMS.values.join(', ') + end + end rescue LoadError end =end |