aboutsummaryrefslogtreecommitdiffstats
path: root/spec/ruby/core/symbol/shared/id2name.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/ruby/core/symbol/shared/id2name.rb')
-rw-r--r--spec/ruby/core/symbol/shared/id2name.rb17
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