diff --git a/ChangeLog b/ChangeLog index 732371201d..fe8fc495fa 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Fri Jun 6 18:25:43 2008 Nobuyoshi Nakada + + * test/iconv/utils.rb (default_test): override not to croak. + Fri Jun 6 16:41:45 2008 NAKAMURA Usaku * include/ruby/win32.h: include ws2tcpip.h. fixed [ruby-Bugs-20528] diff --git a/test/iconv/test_basic.rb b/test/iconv/test_basic.rb index 12f30e4a0e..ea564e91f1 100644 --- a/test/iconv/test_basic.rb +++ b/test/iconv/test_basic.rb @@ -1,6 +1,6 @@ require File.join(File.dirname(__FILE__), "utils.rb") -TestIconv.testcase(:Basic) do +class TestIconv::Basic < TestIconv def test_euc2sjis iconv = Iconv.open('SHIFT_JIS', 'EUC-JP') str = iconv.iconv(EUCJ_STR) @@ -46,4 +46,4 @@ TestIconv.testcase(:Basic) do def test_unknown_encoding assert_raise(Iconv::InvalidEncoding) { Iconv.iconv("utf-8", "X-UKNOWN", "heh") } end -end +end if defined?(TestIconv) diff --git a/test/iconv/test_option.rb b/test/iconv/test_option.rb index f879dbaf66..a1f3457c31 100644 --- a/test/iconv/test_option.rb +++ b/test/iconv/test_option.rb @@ -1,6 +1,6 @@ require File.join(File.dirname(__FILE__), "utils.rb") -TestIconv.testcase(:Option) do +class TestIconv::Option < TestIconv def test_ignore_option iconv = Iconv.new('SHIFT_JIS', 'EUC-JP//ignore') str = iconv.iconv(EUCJ_STR) @@ -28,4 +28,4 @@ TestIconv.testcase(:Option) do assert_equal(SJIS_STR, str) iconv.close end -end +end if defined?(TestIconv) diff --git a/test/iconv/test_partial.rb b/test/iconv/test_partial.rb index 8e973b6df9..aa4d0ba250 100644 --- a/test/iconv/test_partial.rb +++ b/test/iconv/test_partial.rb @@ -1,6 +1,6 @@ require File.join(File.dirname(__FILE__), "utils.rb") -TestIconv.testcase(:Partial) do +class TestIconv::Partial < TestIconv def test_partial_ascii c = Iconv.open(ASCII, ASCII) ref = '[ruby-core:17092]' @@ -38,4 +38,4 @@ TestIconv.testcase(:Partial) do ensure c.close end -end +end if defined?(TestIconv) diff --git a/test/iconv/utils.rb b/test/iconv/utils.rb index 99dce20837..bc75deb173 100644 --- a/test/iconv/utils.rb +++ b/test/iconv/utils.rb @@ -5,21 +5,7 @@ else require 'test/unit' end -module TestIconv - if defined?(::Iconv) - def self.testcase(name, &block) - const_set(name, klass = Class.new(::Test::Unit::TestCase)) - klass.name - klass.__send__(:include, self) - klass.class_eval(&block) - end - else - def self.testcase(name) - end - end -end - -module TestIconv +class TestIconv < ::Test::Unit::TestCase if defined?(::Encoding) and String.method_defined?(:force_encoding) def self.encode(str, enc) str.force_encoding(enc) @@ -30,6 +16,10 @@ module TestIconv end end + def default_test + self.class == TestIconv or super + end + ASCII = "ascii" EUCJ_STR = encode("\xa4\xa2\xa4\xa4\xa4\xa6\xa4\xa8\xa4\xaa", "EUC-JP").freeze SJIS_STR = encode("\x82\xa0\x82\xa2\x82\xa4\x82\xa6\x82\xa8", "Shift_JIS").freeze