From 65e6a0067b8e2284861858d37863879d7c0fc847 Mon Sep 17 00:00:00 2001 From: lxxxvi Date: Thu, 7 Jan 2021 10:01:41 +0100 Subject: [PATCH 1/3] add spec for Symbol#name to be `frozen?` --- core/symbol/name_spec.rb | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 core/symbol/name_spec.rb diff --git a/core/symbol/name_spec.rb b/core/symbol/name_spec.rb new file mode 100644 index 0000000000..17cd988908 --- /dev/null +++ b/core/symbol/name_spec.rb @@ -0,0 +1,9 @@ +require_relative '../../spec_helper' + +ruby_version_is "3.0" do + describe "Symbol#name" do + it "returns a frozen string" do + :symbol.name.should.frozen? + end + end +end From c03c63cf5f3808e350a0e1adee6fad712bb3efd7 Mon Sep 17 00:00:00 2001 From: lxxxvi Date: Thu, 7 Jan 2021 15:41:14 +0100 Subject: [PATCH 2/3] spec for `Symbol#name` to return a string even if dynamically generated --- core/symbol/name_spec.rb | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/core/symbol/name_spec.rb b/core/symbol/name_spec.rb index 17cd988908..c8b426a45f 100644 --- a/core/symbol/name_spec.rb +++ b/core/symbol/name_spec.rb @@ -2,6 +2,12 @@ ruby_version_is "3.0" do describe "Symbol#name" do + it "returns a string" do + :ruby.name.should == "ruby" + :ルビー.name.should == "ルビー" + :"ruby_#{1+2}".name.should == "ruby_3" + end + it "returns a frozen string" do :symbol.name.should.frozen? end From a1bf722ed5a85925c7a000caa5adf7ce28ff369c Mon Sep 17 00:00:00 2001 From: lxxxvi Date: Fri, 8 Jan 2021 10:12:45 +0100 Subject: [PATCH 3/3] spec for `Symbol#name` to return _same String instance_ --- core/symbol/name_spec.rb | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/core/symbol/name_spec.rb b/core/symbol/name_spec.rb index c8b426a45f..15b9aa75e9 100644 --- a/core/symbol/name_spec.rb +++ b/core/symbol/name_spec.rb @@ -2,13 +2,17 @@ ruby_version_is "3.0" do describe "Symbol#name" do - it "returns a string" do + it "returns string" do :ruby.name.should == "ruby" :ルビー.name.should == "ルビー" - :"ruby_#{1+2}".name.should == "ruby_3" end - it "returns a frozen string" do + it "returns same string instance" do + :"ruby_3".name.should.equal?(:ruby_3.name) + :"ruby_#{1+2}".name.should.equal?(:ruby_3.name) + end + + it "returns frozen string" do :symbol.name.should.frozen? end end