Строковая функция JRuby 1.6.1 в режиме 1.9
Я только что обновился до jruby 1.6.1, и когда я работаю в режиме 1.9, следующая функция завершается ошибкой, когда сталкивается с определенными персонажами. Задача функции состоит в удалении нежелательных символов, а также начальных и конечных символов. Я добавляю следующую функцию в класс строки:
class String
def strip_noise()
return if empty?
self.force_encoding('utf-8').mb_chars.normalize(:kd).gsub(/[^\x00-\x7F]/n,'').to_s().strip()
end
end
У меня есть следующий тест, который вызывает ошибку:
def test_odd_characters()
assert_equal("", " \xC2\xA0".strip_noise())
end
Я получаю исключение Java::JavaLang::NegativeArraySizeException: при запуске теста.
Это ошибка с jruby или кто-нибудь может мне помочь с лучшим решением?
1 ответ
Решение
Я вполне уверен, что это ошибка jruby, так как она работает в обычном ruby 1.9.2, я создал следующую версию jira.