From 0096d2b895395df5ab8696d3b6d444dc1b7730b6 Mon Sep 17 00:00:00 2001 From: Koichi Sasada Date: Fri, 25 Sep 2020 18:05:55 +0900 Subject: freeze all Range objects. Matz want to try to freeze all Range objects. [Feature #15504] --- spec/ruby/core/marshal/dump_spec.rb | 2 +- spec/ruby/core/range/initialize_spec.rb | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) (limited to 'spec/ruby') diff --git a/spec/ruby/core/marshal/dump_spec.rb b/spec/ruby/core/marshal/dump_spec.rb index 4ffc586364..30f1b7513b 100644 --- a/spec/ruby/core/marshal/dump_spec.rb +++ b/spec/ruby/core/marshal/dump_spec.rb @@ -419,7 +419,7 @@ describe "Marshal.dump" do load.should == range load.instance_variable_get(:@foo).should == 42 end - end + end unless (1...3).frozen? # Ruby 3.0 - describe "with a Time" do before :each do diff --git a/spec/ruby/core/range/initialize_spec.rb b/spec/ruby/core/range/initialize_spec.rb index 8caf12baa2..d2826a5ba5 100644 --- a/spec/ruby/core/range/initialize_spec.rb +++ b/spec/ruby/core/range/initialize_spec.rb @@ -28,8 +28,13 @@ describe "Range#initialize" do end it "raises a NameError if called on an already initialized Range" do - -> { (0..1).send(:initialize, 1, 3) }.should raise_error(NameError) - -> { (0..1).send(:initialize, 1, 3, true) }.should raise_error(NameError) + if (0..1).frozen? # Ruby 3.0- + -> { (0..1).send(:initialize, 1, 3) }.should raise_error(FrozenError) + -> { (0..1).send(:initialize, 1, 3, true) }.should raise_error(FrozenError) + else + -> { (0..1).send(:initialize, 1, 3) }.should raise_error(NameError) + -> { (0..1).send(:initialize, 1, 3, true) }.should raise_error(NameError) + end end it "raises an ArgumentError if arguments don't respond to <=>" do -- cgit v1.2.3