diff options
author | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-12-28 14:55:43 +0000 |
---|---|---|
committer | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-12-28 14:55:43 +0000 |
commit | 559a266a843daf47b096657ad7172972dee78081 (patch) | |
tree | 6ccaf84184b95c99b6e80b3ff231bfa0c8a31a61 /test/strscan | |
parent | f9d37102b9b9e563c106f9b3478e1144adba748d (diff) | |
download | ruby-559a266a843daf47b096657ad7172972dee78081.tar.gz ruby-559a266a843daf47b096657ad7172972dee78081.tar.xz ruby-559a266a843daf47b096657ad7172972dee78081.zip |
* ext/strscan/strscan.c (str_new): new function for allocate an string
with encoding propagation.
(extract_range): use str_new.
(extract_beg_len): ditto.
(strscan_peek): ditto.
(strscan_rest): ditto.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14772 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/strscan')
-rw-r--r-- | test/strscan/test_stringscanner.rb | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/test/strscan/test_stringscanner.rb b/test/strscan/test_stringscanner.rb index c91836843..687aaa575 100644 --- a/test/strscan/test_stringscanner.rb +++ b/test/strscan/test_stringscanner.rb @@ -289,7 +289,7 @@ class TestStringScanner < Test::Unit::TestCase assert_nil s.getch s = StringScanner.new("\244\242".force_encoding("euc-jp")) - assert_equal "\244\242", s.getch + assert_equal "\244\242".force_encoding("euc-jp"), s.getch assert_nil s.getch s = StringScanner.new('test') @@ -317,8 +317,8 @@ class TestStringScanner < Test::Unit::TestCase assert_nil s.get_byte s = StringScanner.new("\244\242".force_encoding("euc-jp")) - assert_equal "\244", s.get_byte - assert_equal "\242", s.get_byte + assert_equal "\244".force_encoding("euc-jp"), s.get_byte + assert_equal "\242".force_encoding("euc-jp"), s.get_byte assert_nil s.get_byte s = StringScanner.new('test') @@ -414,7 +414,7 @@ class TestStringScanner < Test::Unit::TestCase s = StringScanner.new("\244\242".force_encoding("euc-jp")) s.getch - assert_equal "\244\242", s[0] + assert_equal "\244\242".force_encoding("euc-jp"), s[0] str = 'test' str.taint @@ -536,4 +536,9 @@ class TestStringScanner < Test::Unit::TestCase s.terminate assert_nil s.matched_size end + + def test_encoding + ss = StringScanner.new("\xA1\xA2".force_encoding("euc-jp")) + assert_equal(Encoding::EUC_JP, ss.scan(/./e).encoding) + end end |