diff options
author | Benoit Daloze <eregontp@gmail.com> | 2019-12-01 14:11:42 +0100 |
---|---|---|
committer | Benoit Daloze <eregontp@gmail.com> | 2019-12-01 14:11:42 +0100 |
commit | 617a3735aedc12fe82b6806d6d3a37c3f977fef1 (patch) | |
tree | 4c67249cfaa38a3e52e712e8ff955dfba1bca516 /spec | |
parent | 60d362b0bb0fb56bd3ef61c93f71bff997ccb824 (diff) |
Update to ruby/spec@dcf4955
Diffstat (limited to 'spec')
-rw-r--r-- | spec/ruby/core/array/shared/slice.rb | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/spec/ruby/core/array/shared/slice.rb b/spec/ruby/core/array/shared/slice.rb index 73456eb297..1e7fdf934a 100644 --- a/spec/ruby/core/array/shared/slice.rb +++ b/spec/ruby/core/array/shared/slice.rb @@ -117,6 +117,27 @@ describe :array_slice, shared: true do a.send(@method, 0, obj).should == [1, 2] end + it "raises TypeError if to_int returns non-integer" do + from = mock('from') + to = mock('to') + + # So we can construct a range out of them... + def from.<=>(o) 0 end + def to.<=>(o) 0 end + + a = [1, 2, 3, 4, 5] + + def from.to_int() 'cat' end + def to.to_int() -2 end + + -> { a.send(@method, from..to) }.should raise_error(TypeError) + + def from.to_int() 1 end + def to.to_int() 'cat' end + + -> { a.send(@method, from..to) }.should raise_error(TypeError) + end + it "returns the elements specified by Range indexes with [m..n]" do [ "a", "b", "c", "d", "e" ].send(@method, 1..3).should == ["b", "c", "d"] [ "a", "b", "c", "d", "e" ].send(@method, 4..-1).should == ['e'] |