mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
800f04c6a5
is invalid. [Feature #5855] [Bug #5863] [Bug #5864] * string.c (rb_str_concat): ditto. * string.c (rb_str_concat): set encoding as ASCII-8BIT when the string is US-ASCII and the argument is an integer greater than 127. * regenc.c (onigenc_mb2_code_to_mbclen): rearrange error code. * enc/euc_jp.c (code_to_mbclen): ditto. * enc/shift_jis.c (code_to_mbclen): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34236 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
27 lines
795 B
Ruby
27 lines
795 B
Ruby
# vim: set fileencoding=shift_jis
|
||
|
||
require "test/unit"
|
||
|
||
class TestShiftJIS < Test::Unit::TestCase
|
||
def test_mbc_case_fold
|
||
assert_match(/(a)(a)\1\2/i, "aaaA")
|
||
assert_no_match(/(a)(a)\1\2/i, "aaAA")
|
||
end
|
||
|
||
def test_property
|
||
assert_match(/あ{0}\p{Hiragana}{4}/, "ひらがな")
|
||
assert_no_match(/あ{0}\p{Hiragana}{4}/, "カタカナ")
|
||
assert_no_match(/あ{0}\p{Hiragana}{4}/, "漢字漢字")
|
||
assert_no_match(/あ{0}\p{Katakana}{4}/, "ひらがな")
|
||
assert_match(/あ{0}\p{Katakana}{4}/, "カタカナ")
|
||
assert_no_match(/あ{0}\p{Katakana}{4}/, "漢字漢字")
|
||
assert_raise(RegexpError) { Regexp.new('あ{0}\p{foobarbaz}') }
|
||
end
|
||
|
||
def test_code_to_mbclen
|
||
s = "あいうえお"
|
||
s << 0x82a9
|
||
assert_equal("あいうえおか", s)
|
||
assert_raise(RangeError) { s << 0x82 }
|
||
end
|
||
end
|