2017-07-09 12:06:36 +00:00
|
|
|
# frozen_string_literal: true
|
2017-07-10 13:39:13 +00:00
|
|
|
|
2008-09-21 15:37:38 +00:00
|
|
|
module MultibyteTestHelpers
|
2018-02-28 04:33:37 +00:00
|
|
|
UNICODE_STRING = "こにちわ"
|
|
|
|
ASCII_STRING = "ohayo"
|
2018-05-17 08:32:27 +00:00
|
|
|
BYTE_STRING = (+"\270\236\010\210\245").force_encoding("ASCII-8BIT").freeze
|
2008-09-21 15:37:38 +00:00
|
|
|
|
|
|
|
def chars(str)
|
|
|
|
ActiveSupport::Multibyte::Chars.new(str)
|
|
|
|
end
|
|
|
|
|
|
|
|
def inspect_codepoints(str)
|
2016-08-16 07:30:11 +00:00
|
|
|
str.to_s.unpack("U*").map { |cp| cp.to_s(16) }.join(" ")
|
2008-09-21 15:37:38 +00:00
|
|
|
end
|
|
|
|
|
2016-10-29 03:05:58 +00:00
|
|
|
def assert_equal_codepoints(expected, actual, message = nil)
|
2008-09-21 15:37:38 +00:00
|
|
|
assert_equal(inspect_codepoints(expected), inspect_codepoints(actual), message)
|
|
|
|
end
|
2010-07-17 06:36:40 +00:00
|
|
|
end
|