Sha256: 5e90da576850ccf9cf5bc5c0fe35d1282e3ac429d8a6c8acd2321f14e5fe51db

Contents?: true

Size: 1023 Bytes

Versions: 83

Compression:

Stored size: 1023 Bytes

Contents

require File.dirname(File.join(__rhoGetCurrentDir(), __FILE__)) + '/../../spec_helper'
require File.dirname(File.join(__rhoGetCurrentDir(), __FILE__)) + '/fixtures/classes'

describe "Array#include?" do
  it "returns true if object is present, false otherwise" do
    [1, 2, "a", "b"].include?("c").should == false
    [1, 2, "a", "b"].include?("a").should == true
  end

  it "determines presence by using element == obj" do
    o = mock('')
  
    [1, 2, "a", "b"].include?(o).should == false

    def o.==(other); other == 'a'; end

    [1, 2, o, "b"].include?('a').should == true

    [1, 2.0, 3].include?(2).should == true
  end

  it "calls == on elements from left to right until success" do
    key = "x"
    one = mock('one')
    two = mock('two')
    three = mock('three')
    one.should_receive(:==).any_number_of_times.and_return(false)
    two.should_receive(:==).any_number_of_times.and_return(true)
    three.should_not_receive(:==)
    ary = [one, two, three]
    ary.include?(key).should == true
  end
end

Version data entries

83 entries across 83 versions & 1 rubygems

Version Path
rhodes-3.1.1 spec/framework_spec/app/spec/core/array/include_spec.rb
rhodes-3.1.1.beta spec/framework_spec/app/spec/core/array/include_spec.rb
rhodes-3.1.0 spec/framework_spec/app/spec/core/array/include_spec.rb
rhodes-3.1.0.beta.5 spec/framework_spec/app/spec/core/array/include_spec.rb
rhodes-3.1.0.beta.4 spec/framework_spec/app/spec/core/array/include_spec.rb
rhodes-3.1.0.beta.3 spec/framework_spec/app/spec/core/array/include_spec.rb
rhodes-3.1.0.beta.2 spec/framework_spec/app/spec/core/array/include_spec.rb
rhodes-3.1.0.beta.1 spec/framework_spec/app/spec/core/array/include_spec.rb
rhodes-3.0.2 spec/framework_spec/app/spec/core/array/include_spec.rb
rhodes-3.0.2.beta.1 spec/framework_spec/app/spec/core/array/include_spec.rb
rhodes-3.0.1 spec/framework_spec/app/spec/core/array/include_spec.rb
rhodes-3.0.1.beta.8 spec/framework_spec/app/spec/core/array/include_spec.rb
rhodes-3.0.1.beta.7 spec/framework_spec/app/spec/core/array/include_spec.rb
rhodes-3.0.1.beta.6 spec/framework_spec/app/spec/core/array/include_spec.rb
rhodes-3.0.1.beta.5 spec/framework_spec/app/spec/core/array/include_spec.rb
rhodes-3.0.1.beta.4 spec/framework_spec/app/spec/core/array/include_spec.rb
rhodes-3.0.1.beta.3 spec/framework_spec/app/spec/core/array/include_spec.rb
rhodes-3.0.1.beta.2 spec/framework_spec/app/spec/core/array/include_spec.rb
rhodes-3.0.0 spec/framework_spec/app/spec/core/array/include_spec.rb
rhodes-3.0.0.beta.7 spec/framework_spec/app/spec/core/array/include_spec.rb