diff options
Diffstat (limited to 'spec')
-rw-r--r-- | spec/ruby/optional/capi/ext/string_spec.c | 2 | ||||
-rw-r--r-- | spec/ruby/optional/capi/string_spec.rb | 8 |
2 files changed, 9 insertions, 1 deletions
diff --git a/spec/ruby/optional/capi/ext/string_spec.c b/spec/ruby/optional/capi/ext/string_spec.c index 070a88759b..cec3f65f45 100644 --- a/spec/ruby/optional/capi/ext/string_spec.c +++ b/spec/ruby/optional/capi/ext/string_spec.c @@ -573,7 +573,7 @@ static VALUE string_spec_rb_str_unlocktmp(VALUE self, VALUE str) { } static VALUE string_spec_rb_enc_interned_str_cstr(VALUE self, VALUE str, VALUE enc) { - rb_encoding *e = rb_to_encoding(enc); + rb_encoding *e = NIL_P(enc) ? 0 : rb_to_encoding(enc); return rb_enc_interned_str_cstr(RSTRING_PTR(str), e); } diff --git a/spec/ruby/optional/capi/string_spec.rb b/spec/ruby/optional/capi/string_spec.rb index d9c20cf176..378bf7323f 100644 --- a/spec/ruby/optional/capi/string_spec.rb +++ b/spec/ruby/optional/capi/string_spec.rb @@ -1236,6 +1236,14 @@ end it "returns the same string as String#-@" do @s.rb_enc_interned_str_cstr("hello", Encoding::UTF_8).should.equal?(-"hello") end + + ruby_bug "#20322", ""..."3.4" do + it "uses the default encoding if encoding is null" do + str = "hello" + val = @s.rb_enc_interned_str_cstr(str, nil) + val.encoding.should == Encoding::ASCII_8BIT + end + end end describe "rb_str_to_interned_str" do |