From 7e9e152526d3e5e2ee187d532f5e0ba9f4e63aa3 Mon Sep 17 00:00:00 2001 From: nobu Date: Thu, 5 Jun 2008 05:35:00 +0000 Subject: [PATCH] * test/iconv/utils.rb (TestIconv.testcase): make test cases conditionally. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16835 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/iconv/test_basic.rb | 2 +- test/iconv/test_option.rb | 4 ++-- test/iconv/test_partial.rb | 4 ++-- test/iconv/utils.rb | 16 +++++++++++++++- 4 files changed, 20 insertions(+), 6 deletions(-) diff --git a/test/iconv/test_basic.rb b/test/iconv/test_basic.rb index 79a6bad95b..12f30e4a0e 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") -class TestIconv +TestIconv.testcase(:Basic) do def test_euc2sjis iconv = Iconv.open('SHIFT_JIS', 'EUC-JP') str = iconv.iconv(EUCJ_STR) diff --git a/test/iconv/test_option.rb b/test/iconv/test_option.rb index 20c7219df3..f879dbaf66 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") -class TestIconv +TestIconv.testcase(:Option) do def test_ignore_option iconv = Iconv.new('SHIFT_JIS', 'EUC-JP//ignore') str = iconv.iconv(EUCJ_STR) @@ -28,4 +28,4 @@ class TestIconv assert_equal(SJIS_STR, str) iconv.close end -end if defined?(::Iconv) +end diff --git a/test/iconv/test_partial.rb b/test/iconv/test_partial.rb index fb31c9e3e8..8e973b6df9 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") -class TestIconv +TestIconv.testcase(:Partial) do def test_partial_ascii c = Iconv.open(ASCII, ASCII) ref = '[ruby-core:17092]' @@ -38,4 +38,4 @@ class TestIconv ensure c.close end -end if defined?(::Iconv) +end diff --git a/test/iconv/utils.rb b/test/iconv/utils.rb index 032ac28ea4..99dce20837 100644 --- a/test/iconv/utils.rb +++ b/test/iconv/utils.rb @@ -5,7 +5,21 @@ else require 'test/unit' end -class TestIconv < Test::Unit::TestCase +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 if defined?(::Encoding) and String.method_defined?(:force_encoding) def self.encode(str, enc) str.force_encoding(enc)