diff options
-rw-r--r-- | encoding.c | 9 | ||||
-rw-r--r-- | test/ruby/test_encoding.rb | 5 |
2 files changed, 14 insertions, 0 deletions
diff --git a/encoding.c b/encoding.c index 2d50f9f8ac..22a03d0ae4 100644 --- a/encoding.c +++ b/encoding.c @@ -313,6 +313,15 @@ rb_enc_replicate(const char *name, rb_encoding *encoding) return idx; } +/* + * call-seq: + * enc.replicate(name) => encoding + * + * Returns a replicated encoding of _enc whose name is _name_. + * The new encoding should have the same byte structure of _enc_. + * If _name_ is used by another encoding, raise ArgumentError. + * + */ static VALUE enc_replicate(VALUE encoding, VALUE name) { diff --git a/test/ruby/test_encoding.rb b/test/ruby/test_encoding.rb index 44419242d2..600101a59c 100644 --- a/test/ruby/test_encoding.rb +++ b/test/ruby/test_encoding.rb @@ -51,6 +51,11 @@ class TestEncoding < Test::Unit::TestCase end end + def test_replicate + assert(Encoding::UTF_8.replicate('UTF-8-ANOTHER')) + assert(Encoding::ISO_2022_JP.replicate('ISO-2022-JP-ANOTHER')) + end + def test_dummy_p assert_equal(true, Encoding::ISO_2022_JP.dummy?) assert_equal(false, Encoding::UTF_8.dummy?) |