aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-08-16 05:32:42 +0000
committerakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-08-16 05:32:42 +0000
commit7a0bea4fd327ec0f572f25a24adc7f0b2f9821e8 (patch)
tree63b4f0774952fcf345a764249c853c3415c1c793 /test
parent5f9c188d978d45cdeb81ec83dfdaddffe1b8996c (diff)
downloadruby-7a0bea4fd327ec0f572f25a24adc7f0b2f9821e8.tar.gz
* include/ruby/encoding.h (rb_econv_t): add fields: in_buf_start,
in_data_start, in_data_end, in_buf_end and last_trans_index. (rb_econv_output): removed. (rb_econv_insert_output): declared. (rb_econv_encoding_to_insert_output): declared. * enc/trans/newline.trans (rb_universal_newline): stateful_type changed. * transcode.c (transcode_restartable0): initialize inchar_start, tc->recognized_len and next_table at beginning of the loop. (rb_econv_open_by_transcoder_entries): initialize new fields. (rb_econv_open): setup last_trans_index. (trans_sweep): last out_buf_start can be non-NULL now. (rb_econv_convert): check last out_buf_start and in_buf_start at first. (rb_econv_output_with_destination_encoding): removed. (econv_just_convert): removed. (rb_econv_output): removed. (econv_primitive_output): method removed. (rb_econv_encoding_to_insert_output): new function. (allocate_converted_string): new function. (rb_econv_insert_output): new function. (econv_primitive_insert_output): new method. (output_replacement_character): use rb_econv_insert_output. unused arguments removed. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18654 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test')
-rw-r--r--test/ruby/test_econv.rb39
1 files changed, 14 insertions, 25 deletions
diff --git a/test/ruby/test_econv.rb b/test/ruby/test_econv.rb
index 8ac4013218..356ac74c75 100644
--- a/test/ruby/test_econv.rb
+++ b/test/ruby/test_econv.rb
@@ -366,45 +366,34 @@ class TestEncodingConverter < Test::Unit::TestCase
assert_equal("", src)
end
- def test_output_region
- ec = Encoding::Converter.new("EUC-JP", "UTF-8")
- assert_equal(true, ec.primitive_output("abc", dst="", nil, 6))
- assert_equal("abc", dst)
- assert_raise(ArgumentError) { ec.primitive_output("abc", dst, 4, 6) }
- assert_equal(true, ec.primitive_output("def", dst))
- assert_equal("abcdef", dst)
- assert_equal(false, ec.primitive_output("ghi", dst, nil, 1))
- assert_equal("abcdef", dst)
- assert_raise(ArgumentError) { ec.primitive_output("jkl", dst, -1, 6) }
- assert_raise(ArgumentError) { ec.primitive_output("hij", dst, nil, -1) }
- assert_equal("abcdef", dst)
- end
-
def test_output_iso2022jp
ec = Encoding::Converter.new("EUC-JP", "ISO-2022-JP")
ec.primitive_convert(src="\xa1\xa1", dst="", nil, 10, Encoding::Converter::PARTIAL_INPUT)
assert_equal("\e$B!!".force_encoding("ISO-2022-JP"), dst)
- assert_equal(true, ec.primitive_output("???", dst))
+ assert_equal(true, ec.primitive_insert_output("???"))
+ ec.primitive_convert("", dst, nil, 10, Encoding::Converter::PARTIAL_INPUT)
assert_equal("\e$B!!\e(B???".force_encoding("ISO-2022-JP"), dst)
ec.primitive_convert(src="\xa1\xa2", dst, nil, 10, Encoding::Converter::PARTIAL_INPUT)
assert_equal("\e$B!!\e(B???\e$B!\"".force_encoding("ISO-2022-JP"), dst)
- # escape sequences may be reduced in future.
- assert_equal(true, ec.primitive_output("\xA1\xA1".force_encoding("EUC-JP"), dst))
- assert_equal("\e$B!!\e(B???\e$B!\"\e(B\e$B!!\e(B".force_encoding("ISO-2022-JP"), dst)
+ assert_equal(true, ec.primitive_insert_output("\xA1\xA1".force_encoding("EUC-JP")))
+ ec.primitive_convert("", dst, nil, 10, Encoding::Converter::PARTIAL_INPUT)
+ assert_equal("\e$B!!\e(B???\e$B!\"!!".force_encoding("ISO-2022-JP"), dst)
ec.primitive_convert(src="\xa1\xa3", dst, nil, 10, Encoding::Converter::PARTIAL_INPUT)
- assert_equal("\e$B!!\e(B???\e$B!\"\e(B\e$B!!\e(B\e$B!\#".force_encoding("ISO-2022-JP"), dst)
+ assert_equal("\e$B!!\e(B???\e$B!\"!!!\#".force_encoding("ISO-2022-JP"), dst)
- assert_equal(true, ec.primitive_output("\u3042", dst))
- assert_equal("\e$B!!\e(B???\e$B!\"\e(B\e$B!!\e(B\e$B!\#\e(B\e$B$\"\e(B".force_encoding("ISO-2022-JP"), dst)
+ assert_equal(true, ec.primitive_insert_output("\u3042"))
+ ec.primitive_convert("", dst, nil, 10, Encoding::Converter::PARTIAL_INPUT)
+ assert_equal("\e$B!!\e(B???\e$B!\"!!!\#$\"".force_encoding("ISO-2022-JP"), dst)
assert_raise(Encoding::ConversionUndefined) {
- ec.primitive_output("\uFFFD", dst)
+ ec.primitive_insert_output("\uFFFD")
}
- assert_equal("\e$B!!\e(B???\e$B!\"\e(B\e$B!!\e(B\e$B!\#\e(B\e$B$\"\e(B".force_encoding("ISO-2022-JP"), dst)
- end
-
+ assert_equal("\e$B!!\e(B???\e$B!\"!!!\#$\"".force_encoding("ISO-2022-JP"), dst)
+ ec.primitive_convert("", dst, nil, 10)
+ assert_equal("\e$B!!\e(B???\e$B!\"!!!\#$\"\e(B".force_encoding("ISO-2022-JP"), dst)
+ end
end