From a1b4816759418ca8fe510e8739622fc5d77ab0f0 Mon Sep 17 00:00:00 2001 From: Benoit Daloze Date: Sat, 27 Apr 2019 18:53:23 +0200 Subject: Update to ruby/spec@15c9619 --- spec/ruby/core/array/concat_spec.rb | 34 +++++++------- spec/ruby/core/array/max_spec.rb | 6 +-- spec/ruby/core/array/min_spec.rb | 6 +-- spec/ruby/core/array/pack/buffer_spec.rb | 72 ++++++++++++++--------------- spec/ruby/core/array/reject_spec.rb | 24 +++++----- spec/ruby/core/array/sum_spec.rb | 78 ++++++++++++++++---------------- 6 files changed, 104 insertions(+), 116 deletions(-) (limited to 'spec/ruby/core/array') diff --git a/spec/ruby/core/array/concat_spec.rb b/spec/ruby/core/array/concat_spec.rb index 985c5d884a..91adb8b745 100644 --- a/spec/ruby/core/array/concat_spec.rb +++ b/spec/ruby/core/array/concat_spec.rb @@ -110,23 +110,21 @@ describe "Array#concat" do ary.concat([5, 6]).should == [4, 5, 6] end - ruby_version_is "2.4" do - it "takes multiple arguments" do - ary = [1, 2] - ary.concat [3, 4] - ary.should == [1, 2, 3, 4] - end - - it "concatenates the initial value when given arguments contain 2 self" do - ary = [1, 2] - ary.concat ary, ary - ary.should == [1, 2, 1, 2, 1, 2] - end - - it "returns self when given no arguments" do - ary = [1, 2] - ary.concat.should equal(ary) - ary.should == [1, 2] - end + it "takes multiple arguments" do + ary = [1, 2] + ary.concat [3, 4] + ary.should == [1, 2, 3, 4] + end + + it "concatenates the initial value when given arguments contain 2 self" do + ary = [1, 2] + ary.concat ary, ary + ary.should == [1, 2, 1, 2, 1, 2] + end + + it "returns self when given no arguments" do + ary = [1, 2] + ary.concat.should equal(ary) + ary.should == [1, 2] end end diff --git a/spec/ruby/core/array/max_spec.rb b/spec/ruby/core/array/max_spec.rb index 5d0423d1e4..329b691883 100644 --- a/spec/ruby/core/array/max_spec.rb +++ b/spec/ruby/core/array/max_spec.rb @@ -1,10 +1,8 @@ require_relative '../../spec_helper' describe "Array#max" do - ruby_version_is "2.4" do - it "is defined on Array" do - [1].method(:max).owner.should equal Array - end + it "is defined on Array" do + [1].method(:max).owner.should equal Array end it "returns nil with no values" do diff --git a/spec/ruby/core/array/min_spec.rb b/spec/ruby/core/array/min_spec.rb index 903fa69bb8..22a179d808 100644 --- a/spec/ruby/core/array/min_spec.rb +++ b/spec/ruby/core/array/min_spec.rb @@ -1,10 +1,8 @@ require_relative '../../spec_helper' describe "Array#min" do - ruby_version_is "2.4" do - it "is defined on Array" do - [1].method(:max).owner.should equal Array - end + it "is defined on Array" do + [1].method(:max).owner.should equal Array end it "returns nil with no values" do diff --git a/spec/ruby/core/array/pack/buffer_spec.rb b/spec/ruby/core/array/pack/buffer_spec.rb index f2dc3e1930..28b317eacb 100644 --- a/spec/ruby/core/array/pack/buffer_spec.rb +++ b/spec/ruby/core/array/pack/buffer_spec.rb @@ -2,51 +2,49 @@ require_relative '../../../spec_helper' -ruby_version_is '2.4' do - describe "Array#pack with :buffer option" do - it "returns specified buffer" do - n = [ 65, 66, 67 ] - buffer = " "*3 - result = n.pack("ccc", buffer: buffer) #=> "ABC" - result.should equal(buffer) - end +describe "Array#pack with :buffer option" do + it "returns specified buffer" do + n = [ 65, 66, 67 ] + buffer = " "*3 + result = n.pack("ccc", buffer: buffer) #=> "ABC" + result.should equal(buffer) + end - it "adds result at the end of buffer content" do - n = [ 65, 66, 67 ] # result without buffer is "ABC" + it "adds result at the end of buffer content" do + n = [ 65, 66, 67 ] # result without buffer is "ABC" - buffer = "" - n.pack("ccc", buffer: buffer).should == "ABC" + buffer = "" + n.pack("ccc", buffer: buffer).should == "ABC" - buffer = "123" - n.pack("ccc", buffer: buffer).should == "123ABC" + buffer = "123" + n.pack("ccc", buffer: buffer).should == "123ABC" + + buffer = "12345" + n.pack("ccc", buffer: buffer).should == "12345ABC" + end - buffer = "12345" - n.pack("ccc", buffer: buffer).should == "12345ABC" + it "raises TypeError exception if buffer is not String" do + lambda { [65].pack("ccc", buffer: []) }.should raise_error( + TypeError, "buffer must be String, not Array") + end + + context "offset (@) is specified" do + it 'keeps buffer content if it is longer than offset' do + n = [ 65, 66, 67 ] + buffer = "123456" + n.pack("@3ccc", buffer: buffer).should == "123ABC" end - it "raises TypeError exception if buffer is not String" do - lambda { [65].pack("ccc", buffer: []) }.should raise_error( - TypeError, "buffer must be String, not Array") + it "fills the gap with \\0 if buffer content is shorter than offset" do + n = [ 65, 66, 67 ] + buffer = "123" + n.pack("@6ccc", buffer: buffer).should == "123\0\0\0ABC" end - context "offset (@) is specified" do - it 'keeps buffer content if it is longer than offset' do - n = [ 65, 66, 67 ] - buffer = "123456" - n.pack("@3ccc", buffer: buffer).should == "123ABC" - end - - it "fills the gap with \\0 if buffer content is shorter than offset" do - n = [ 65, 66, 67 ] - buffer = "123" - n.pack("@6ccc", buffer: buffer).should == "123\0\0\0ABC" - end - - it 'does not keep buffer content if it is longer than offset + result' do - n = [ 65, 66, 67 ] - buffer = "1234567890" - n.pack("@3ccc", buffer: buffer).should == "123ABC" - end + it 'does not keep buffer content if it is longer than offset + result' do + n = [ 65, 66, 67 ] + buffer = "1234567890" + n.pack("@3ccc", buffer: buffer).should == "123ABC" end end end diff --git a/spec/ruby/core/array/reject_spec.rb b/spec/ruby/core/array/reject_spec.rb index 8bce7ad3bf..6ae2581ff5 100644 --- a/spec/ruby/core/array/reject_spec.rb +++ b/spec/ruby/core/array/reject_spec.rb @@ -121,22 +121,20 @@ describe "Array#reject!" do a.should == [1, 2, 3] end - ruby_version_is "2.4" do - it "only removes elements for which the block returns true, keeping the element which raised an error." do - a = [1, 2, 3, 4] - begin - a.reject! do |x| - case x - when 2 then true - when 3 then raise StandardError, 'Oops' - else false - end + it "only removes elements for which the block returns true, keeping the element which raised an error." do + a = [1, 2, 3, 4] + begin + a.reject! do |x| + case x + when 2 then true + when 3 then raise StandardError, 'Oops' + else false end - rescue StandardError end - - a.should == [1, 3, 4] + rescue StandardError end + + a.should == [1, 3, 4] end it_behaves_like :enumeratorize, :reject! diff --git a/spec/ruby/core/array/sum_spec.rb b/spec/ruby/core/array/sum_spec.rb index 7d19c03480..a7e77d8c2e 100644 --- a/spec/ruby/core/array/sum_spec.rb +++ b/spec/ruby/core/array/sum_spec.rb @@ -1,44 +1,42 @@ require_relative '../../spec_helper' -ruby_version_is '2.4' do - describe "Array#sum" do - it "returns the sum of elements" do - [1, 2, 3].sum.should == 6 - end - - it "applies a block to each element before adding if it's given" do - [1, 2, 3].sum { |i| i * 10 }.should == 60 - end - - it "returns init value if array is empty" do - [].sum(-1).should == -1 - end - - it "returns 0 if array is empty and init is omitted" do - [].sum.should == 0 - end - - it "adds init value to the sum of elements" do - [1, 2, 3].sum(10).should == 16 - end - - it "can be used for non-numeric objects by providing init value" do - ["a", "b", "c"].sum("").should == "abc" - end - - it 'raises TypeError if any element are not numeric' do - lambda { ["a"].sum }.should raise_error(TypeError) - end - - it 'raises TypeError if any element cannot be added to init value' do - lambda { [1].sum([]) }.should raise_error(TypeError) - end - - it "calls + to sum the elements" do - a = mock("a") - b = mock("b") - a.should_receive(:+).with(b).and_return(42) - [b].sum(a).should == 42 - end +describe "Array#sum" do + it "returns the sum of elements" do + [1, 2, 3].sum.should == 6 + end + + it "applies a block to each element before adding if it's given" do + [1, 2, 3].sum { |i| i * 10 }.should == 60 + end + + it "returns init value if array is empty" do + [].sum(-1).should == -1 + end + + it "returns 0 if array is empty and init is omitted" do + [].sum.should == 0 + end + + it "adds init value to the sum of elements" do + [1, 2, 3].sum(10).should == 16 + end + + it "can be used for non-numeric objects by providing init value" do + ["a", "b", "c"].sum("").should == "abc" + end + + it 'raises TypeError if any element are not numeric' do + lambda { ["a"].sum }.should raise_error(TypeError) + end + + it 'raises TypeError if any element cannot be added to init value' do + lambda { [1].sum([]) }.should raise_error(TypeError) + end + + it "calls + to sum the elements" do + a = mock("a") + b = mock("b") + a.should_receive(:+).with(b).and_return(42) + [b].sum(a).should == 42 end end -- cgit v1.2.3