diff --git a/ChangeLog b/ChangeLog index 32f19e9a1f..68e1bab457 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Tue Dec 7 18:56:52 2010 NARUSE, Yui + + * ext/nkf/lib/kconv.rb (String#kconv): fix typo and update rdoc. + patched by Kouhei Yanagita [ruby-dev:42696] + Tue Dec 7 20:32:11 2010 Kouhei Sutou * test/rexml/test_doctype.rb: add Accessor to test case name. diff --git a/ext/nkf/lib/kconv.rb b/ext/nkf/lib/kconv.rb index 6230996876..f8c1ae8f59 100644 --- a/ext/nkf/lib/kconv.rb +++ b/ext/nkf/lib/kconv.rb @@ -51,8 +51,8 @@ module Kconv # call-seq: # Kconv.kconv(str, to_enc, from_enc=nil) # - # Convert str to out_code. - # out_code and in_code are given as constants of Kconv. + # Convert str to to_enc. + # to_enc and from_enc are given as constants of Kconv or Encoding objects. def kconv(str, to_enc, from_enc=nil) opt = '' opt += ' --ic=' + from_enc.to_s if from_enc @@ -199,10 +199,10 @@ class String # call-seq: # String#kconv(to_enc, from_enc) # - # Convert self to out_code. - # out_code and in_code are given as constants of Kconv. + # Convert self to to_enc. + # to_enc and from_enc are given as constants of Kconv or Encoding objects. def kconv(to_enc, from_enc=nil) - form_enc = self.encoding if !from_enc && self.encoding != Encoding.list[0] + from_enc = self.encoding if !from_enc && self.encoding != Encoding.list[0] Kconv::kconv(self, to_enc, from_enc) end diff --git a/test/nkf/test_kconv.rb b/test/nkf/test_kconv.rb index 8581f10e4e..09c0ce803a 100644 --- a/test/nkf/test_kconv.rb +++ b/test/nkf/test_kconv.rb @@ -71,4 +71,11 @@ class TestKconv < Test::Unit::TestCase assert_equal(@jis_str, @utf8_str.kconv(::NKF::JIS)) assert_equal(@jis_str, @jis_str.kconv(::NKF::JIS)) end + def test_kconv + str = "\xc2\xa1" + %w/UTF-8 EUC-JP/.each do |enc| + s = str.dup.force_encoding(enc) + assert_equal(s, s.kconv(enc)) + end + end end