提交 b6598c68 编写于 作者: X Xavier Noria

String#each_char is not needed for Ruby >= 1.8.7

上级 c0bb4c6e
......@@ -4,7 +4,6 @@
require 'active_support/core_ext/string/starts_ends_with'
require 'active_support/core_ext/string/inflections'
require 'active_support/core_ext/string/access'
require 'active_support/core_ext/string/iterators'
require 'active_support/core_ext/string/xchar'
require 'active_support/core_ext/string/behavior'
require 'active_support/core_ext/string/interpolation'
......
unless '1.9'.respond_to?(:each_char)
class String
# Yields a single-character string for each character in the string.
# When $KCODE = 'UTF8', multi-byte characters are yielded appropriately.
def each_char
require 'strscan' unless defined? ::StringScanner
scanner, char = ::StringScanner.new(self), /./mu
while c = scanner.scan(char)
yield c
end
end
end
end
......@@ -206,17 +206,6 @@ def test_string_squish
# And changes the original string:
assert_equal original, expected
end
if RUBY_VERSION < '1.9'
def test_each_char_with_utf8_string_when_kcode_is_utf8
with_kcode('UTF8') do
'€2.99'.each_char do |char|
assert_not_equal 1, char.length
break
end
end
end
end
end
class StringBehaviourTest < Test::Unit::TestCase
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册