File: indexes.rb

package info (click to toggle)
jruby 1.7.26-1%2Bdeb9u1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 84,572 kB
  • sloc: ruby: 669,910; java: 253,056; xml: 35,152; ansic: 9,187; yacc: 7,267; cpp: 5,244; sh: 1,036; makefile: 345; jsp: 48; tcl: 40
file content (24 lines) | stat: -rw-r--r-- 785 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
describe :array_indexes, :shared => true do
  it "returns elements at integer argument indexes (DEPRECATED)" do
    array = [1, 2, 3, 4, 5]

    x = mock('4')
    def x.to_int() 4 end

    params = [1, 0, 5, -1, -8, 10, x]
    array.send(@method, *params).should == array.values_at(*params)
  end

  it "tries to convert the passed arguments to Integers using #to_int" do
    obj = mock('to_int')
    obj.should_receive(:to_int).and_return(1, 3)
    [1, 2, 3, 4, 5].send(@method, obj, obj).should == [2, 4]
  end

  it "returns elements in range arguments as nested arrays (DEPRECATED)" do
    array = [1, 2, 3, 4, 5]
    params = [0..2, 1...3, 4..6]
    array.indexes(*params).should == [[1, 2, 3], [2, 3], [5]]
    array.indices(*params).should == [[1, 2, 3], [2, 3], [5]]
  end
end