diff options
Diffstat (limited to 'spec/ruby/core/symbol/shared/id2name.rb')
-rw-r--r-- | spec/ruby/core/symbol/shared/id2name.rb | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/spec/ruby/core/symbol/shared/id2name.rb b/spec/ruby/core/symbol/shared/id2name.rb index 47f97bd332..a0e190a680 100644 --- a/spec/ruby/core/symbol/shared/id2name.rb +++ b/spec/ruby/core/symbol/shared/id2name.rb @@ -6,4 +6,21 @@ describe :symbol_id2name, shared: true do :@ruby.send(@method).should == "@ruby" :@@ruby.send(@method).should == "@@ruby" end + + ruby_version_is "2.7" do + it "returns a frozen String" do + :my_symbol.to_s.frozen?.should == true + :"dynamic symbol #{6 * 7}".to_s.frozen?.should == true + end + + it "always returns the same String for a given Symbol" do + s1 = :my_symbol.to_s + s2 = :my_symbol.to_s + s1.should equal(s2) + + s1 = :"dynamic symbol #{6 * 7}".to_s + s2 = :"dynamic symbol #{2 * 3 * 7}".to_s + s1.should equal(s2) + end + end end |