diff options
Diffstat (limited to 'spec/ruby/core/array/shared/join.rb')
-rw-r--r-- | spec/ruby/core/array/shared/join.rb | 96 |
1 files changed, 50 insertions, 46 deletions
diff --git a/spec/ruby/core/array/shared/join.rb b/spec/ruby/core/array/shared/join.rb index 38bdde9502..5e7193de8a 100644 --- a/spec/ruby/core/array/shared/join.rb +++ b/spec/ruby/core/array/shared/join.rb @@ -58,32 +58,34 @@ describe :array_join_with_default_separator, shared: true do -> { ArraySpecs.empty_recursive_array.send(@method) }.should raise_error(ArgumentError) end - it "taints the result if the Array is tainted and non-empty" do - [1, 2].taint.send(@method).tainted?.should be_true - end + ruby_version_is ''...'2.7' do + it "taints the result if the Array is tainted and non-empty" do + [1, 2].taint.send(@method).tainted?.should be_true + end - it "does not taint the result if the Array is tainted but empty" do - [].taint.send(@method).tainted?.should be_false - end + it "does not taint the result if the Array is tainted but empty" do + [].taint.send(@method).tainted?.should be_false + end - it "taints the result if the result of coercing an element is tainted" do - s = mock("taint") - s.should_receive(:to_s).and_return("str".taint) - [s].send(@method).tainted?.should be_true - end + it "taints the result if the result of coercing an element is tainted" do + s = mock("taint") + s.should_receive(:to_s).and_return("str".taint) + [s].send(@method).tainted?.should be_true + end - it "untrusts the result if the Array is untrusted and non-empty" do - [1, 2].untrust.send(@method).untrusted?.should be_true - end + it "untrusts the result if the Array is untrusted and non-empty" do + [1, 2].untrust.send(@method).untrusted?.should be_true + end - it "does not untrust the result if the Array is untrusted but empty" do - [].untrust.send(@method).untrusted?.should be_false - end + it "does not untrust the result if the Array is untrusted but empty" do + [].untrust.send(@method).untrusted?.should be_false + end - it "untrusts the result if the result of coercing an element is untrusted" do - s = mock("untrust") - s.should_receive(:to_s).and_return("str".untrust) - [s].send(@method).untrusted?.should be_true + it "untrusts the result if the result of coercing an element is untrusted" do + s = mock("untrust") + s.should_receive(:to_s).and_return("str".untrust) + [s].send(@method).untrusted?.should be_true + end end it "uses the first encoding when other strings are compatible" do @@ -125,39 +127,41 @@ describe :array_join_with_string_separator, shared: true do [1, [2, ArraySpecs::MyArray[3, 4], 5], 6].send(@method, ":").should == "1:2:3:4:5:6" end - describe "with a tainted separator" do - before :each do - @sep = ":".taint - end + ruby_version_is ''...'2.7' do + describe "with a tainted separator" do + before :each do + @sep = ":".taint + end - it "does not taint the result if the array is empty" do - [].send(@method, @sep).tainted?.should be_false - end + it "does not taint the result if the array is empty" do + [].send(@method, @sep).tainted?.should be_false + end - it "does not taint the result if the array has only one element" do - [1].send(@method, @sep).tainted?.should be_false - end + it "does not taint the result if the array has only one element" do + [1].send(@method, @sep).tainted?.should be_false + end - it "taints the result if the array has two or more elements" do - [1, 2].send(@method, @sep).tainted?.should be_true + it "taints the result if the array has two or more elements" do + [1, 2].send(@method, @sep).tainted?.should be_true + end end - end - describe "with an untrusted separator" do - before :each do - @sep = ":".untrust - end + describe "with an untrusted separator" do + before :each do + @sep = ":".untrust + end - it "does not untrust the result if the array is empty" do - [].send(@method, @sep).untrusted?.should be_false - end + it "does not untrust the result if the array is empty" do + [].send(@method, @sep).untrusted?.should be_false + end - it "does not untrust the result if the array has only one element" do - [1].send(@method, @sep).untrusted?.should be_false - end + it "does not untrust the result if the array has only one element" do + [1].send(@method, @sep).untrusted?.should be_false + end - it "untrusts the result if the array has two or more elements" do - [1, 2].send(@method, @sep).untrusted?.should be_true + it "untrusts the result if the array has two or more elements" do + [1, 2].send(@method, @sep).untrusted?.should be_true + end end end end |