diff options
-rw-r--r-- | encoding.c | 1 | ||||
-rw-r--r-- | test/ruby/test_encoding.rb | 3 |
2 files changed, 4 insertions, 0 deletions
diff --git a/encoding.c b/encoding.c index f102524379..df3d65cd48 100644 --- a/encoding.c +++ b/encoding.c @@ -720,6 +720,7 @@ enc_capable(VALUE obj) case T_STRING: case T_REGEXP: case T_FILE: + case T_SYMBOL: return TRUE; case T_DATA: if (is_data_encoding(obj)) return TRUE; diff --git a/test/ruby/test_encoding.rb b/test/ruby/test_encoding.rb index 85f1a2df17..9a780a64c5 100644 --- a/test/ruby/test_encoding.rb +++ b/test/ruby/test_encoding.rb @@ -107,6 +107,9 @@ class TestEncoding < Test::Unit::TestCase bin = "a".force_encoding(Encoding::ASCII_8BIT) asc = "b".force_encoding(Encoding::US_ASCII) assert_equal(Encoding::ASCII_8BIT, Encoding.compatible?(bin, asc)) + bin = "\xff".force_encoding(Encoding::ASCII_8BIT).to_sym + asc = "b".force_encoding(Encoding::ASCII_8BIT) + assert_equal(Encoding::ASCII_8BIT, Encoding.compatible?(bin, asc)) end def test_errinfo_after_autoload |