From 91ed484f92040e5c2006a3a00ec77a54d552cf37 Mon Sep 17 00:00:00 2001 From: kou Date: Fri, 17 Sep 2010 13:14:14 +0000 Subject: * test/rexml/: import REXML tests from http://www.germane-software.com/repos/rexml/trunk/test/. Many tests are failed temporary. I'll fix them quickly. Sorry. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29282 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/rexml/test_encoding_2.rb | 59 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 test/rexml/test_encoding_2.rb (limited to 'test/rexml/test_encoding_2.rb') diff --git a/test/rexml/test_encoding_2.rb b/test/rexml/test_encoding_2.rb new file mode 100644 index 0000000000..5dbe46801b --- /dev/null +++ b/test/rexml/test_encoding_2.rb @@ -0,0 +1,59 @@ +require "test/unit/testcase" + +require "rexml/document" +require "rexml/parseexception" + +=begin +# THIS DOESN'T WORK +begin + require 'iconv' + + UnixCharsets = open("| iconv -l") do |f| + f.readlines[5..-1].collect { |x| x.sub(/\/\/\n/,"").delete(' ') } + end + + DATA = < + + +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 -- cgit v1.2.3