OSDN Git Service

ruby-1.9.1-rc1
[splhack/AndroidRuby.git] / lib / ruby-1.9.1-rc1 / test / ruby / enc / test_shift_jis.rb
1 # vim: set fileencoding=shift_jis
2
3 require "test/unit"
4
5 class TestShiftJIS < Test::Unit::TestCase
6   def test_mbc_case_fold
7     assert_match(/(\82\81)(a)\1\2/i, "\82\81a\82\81A")
8     assert_no_match(/(\82\81)(a)\1\2/i, "\82\81a\82`A")
9   end
10
11   def test_property
12     assert_match(/\82 {0}\p{Hiragana}{4}/, "\82Ð\82ç\82ª\82È")
13     assert_no_match(/\82 {0}\p{Hiragana}{4}/, "\83J\83^\83J\83i")
14     assert_no_match(/\82 {0}\p{Hiragana}{4}/, "\8a¿\8e\9a\8a¿\8e\9a")
15     assert_no_match(/\82 {0}\p{Katakana}{4}/, "\82Ð\82ç\82ª\82È")
16     assert_match(/\82 {0}\p{Katakana}{4}/, "\83J\83^\83J\83i")
17     assert_no_match(/\82 {0}\p{Katakana}{4}/, "\8a¿\8e\9a\8a¿\8e\9a")
18     assert_raise(RegexpError) { Regexp.new('\82 {0}\p{foobarbaz}') }
19   end
20
21   def test_code_to_mbclen
22     s = "\82 \82¢\82¤\82¦\82¨"
23     s << 0x82a9
24     assert_equal("\82 \82¢\82¤\82¦\82¨\82©", s)
25     assert_raise(ArgumentError) { s << 0x82 }
26   end
27 end