From 3c9eedec3c17861c354635a33f3012e85083301f Mon Sep 17 00:00:00 2001 From: Manfred Stienstra Date: Sun, 21 Sep 2008 17:37:38 +0200 Subject: Move multibyte test helpers to a separate file and make the conformance tests run again. --- activesupport/test/multibyte_chars_test.rb | 25 ++++--------------------- activesupport/test/multibyte_conformance.rb | 6 +++++- activesupport/test/multibyte_test_helpers.rb | 17 +++++++++++++++++ 3 files changed, 26 insertions(+), 22 deletions(-) create mode 100644 activesupport/test/multibyte_test_helpers.rb diff --git a/activesupport/test/multibyte_chars_test.rb b/activesupport/test/multibyte_chars_test.rb index 8aae66b717..ca2af9b986 100644 --- a/activesupport/test/multibyte_chars_test.rb +++ b/activesupport/test/multibyte_chars_test.rb @@ -1,24 +1,7 @@ # encoding: utf-8 require 'abstract_unit' - -module MultibyteTest - UNICODE_STRING = 'こにちわ' - ASCII_STRING = 'ohayo' - BYTE_STRING = "\270\236\010\210\245" - - def chars(str) - ActiveSupport::Multibyte::Chars.new(str) - end - - def inspect_codepoints(str) - str.to_s.unpack("U*").map{|cp| cp.to_s(16) }.join(' ') - end - - def assert_equal_codepoints(expected, actual, message=nil) - assert_equal(inspect_codepoints(expected), inspect_codepoints(actual), message) - end -end +require 'multibyte_test_helpers' class String def __method_for_multibyte_testing_with_integer_result; 1; end @@ -27,7 +10,7 @@ class String end class MultibyteCharsTest < Test::Unit::TestCase - include MultibyteTest + include MultibyteTestHelpers def setup @proxy_class = ActiveSupport::Multibyte::Chars @@ -113,7 +96,7 @@ class MultibyteCharsTest < Test::Unit::TestCase end class MultibyteCharsUTF8BehaviourTest < Test::Unit::TestCase - include MultibyteTest + include MultibyteTestHelpers def setup @chars = UNICODE_STRING.dup.mb_chars @@ -445,7 +428,7 @@ end # for the implementation of these features should run on all Ruby versions and shouldn't be tested # through the proxy methods. class MultibyteCharsExtrasTest < Test::Unit::TestCase - include MultibyteTest + include MultibyteTestHelpers if RUBY_VERSION >= '1.9' def test_tidy_bytes_is_broken_on_1_9_0 diff --git a/activesupport/test/multibyte_conformance.rb b/activesupport/test/multibyte_conformance.rb index fe6cd70c70..caae4791b4 100644 --- a/activesupport/test/multibyte_conformance.rb +++ b/activesupport/test/multibyte_conformance.rb @@ -1,4 +1,8 @@ +# encoding: utf-8 + require 'abstract_unit' +require 'multibyte_test_helpers' + require 'fileutils' require 'open-uri' require 'tmpdir' @@ -22,7 +26,7 @@ class Downloader end class MultibyteConformanceTest < Test::Unit::TestCase - include MultibyteTest + include MultibyteTestHelpers UNIDATA_URL = "http://www.unicode.org/Public/#{ActiveSupport::Multibyte::UNICODE_VERSION}/ucd" UNIDATA_FILE = '/NormalizationTest.txt' diff --git a/activesupport/test/multibyte_test_helpers.rb b/activesupport/test/multibyte_test_helpers.rb new file mode 100644 index 0000000000..a163195431 --- /dev/null +++ b/activesupport/test/multibyte_test_helpers.rb @@ -0,0 +1,17 @@ +module MultibyteTestHelpers + UNICODE_STRING = 'こにちわ' + ASCII_STRING = 'ohayo' + BYTE_STRING = "\270\236\010\210\245" + + def chars(str) + ActiveSupport::Multibyte::Chars.new(str) + end + + def inspect_codepoints(str) + str.to_s.unpack("U*").map{|cp| cp.to_s(16) }.join(' ') + end + + def assert_equal_codepoints(expected, actual, message=nil) + assert_equal(inspect_codepoints(expected), inspect_codepoints(actual), message) + end +end \ No newline at end of file -- cgit v1.2.3