From 7f64a0b4db7ee27a04579236950d88301c7bcabb Mon Sep 17 00:00:00 2001 From: "NARUSE, Yui" Date: Mon, 17 Jun 2019 08:50:44 +0900 Subject: Add new encoding CESU-8 [Feature #15931] --- test/ruby/enc/test_cesu8.rb | 109 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 109 insertions(+) create mode 100644 test/ruby/enc/test_cesu8.rb (limited to 'test/ruby') diff --git a/test/ruby/enc/test_cesu8.rb b/test/ruby/enc/test_cesu8.rb new file mode 100644 index 0000000000..d9debe76cd --- /dev/null +++ b/test/ruby/enc/test_cesu8.rb @@ -0,0 +1,109 @@ +# frozen_string_literal: false +require 'test/unit' + +class TestCESU8 < Test::Unit::TestCase + + def encdump(obj) + case obj + when String + obj.dump + when Regexp + "Regexp.new(#{encdump(obj.source)}, #{obj.options})" + else + raise Argument, "unexpected: #{obj.inspect}" + end + end + + def enccall(recv, meth, *args) + desc = '' + if String === recv + desc << encdump(recv) + else + desc << recv.inspect + end + desc << '.' << meth.to_s + if !args.empty? + desc << '(' + args.each_with_index {|a, i| + desc << ',' if 0 < i + if String === a + desc << encdump(a) + else + desc << a.inspect + end + } + desc << ')' + end + result = nil + assert_nothing_raised(desc) { + result = recv.send(meth, *args) + } + result + end + + def assert_str_equal(expected, actual, message=nil) + full_message = build_message(message, <