summaryrefslogtreecommitdiff
path: root/spec/ruby/core/set/hash_spec.rb
blob: 4b4696e34ccbf3149123e8eed54d783716ef06d5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
require_relative '../../spec_helper'

describe "Set#hash" do
  it "is static" do
    Set[].hash.should == Set[].hash
    Set[1, 2, 3].hash.should == Set[1, 2, 3].hash
    Set[:a, "b", ?c].hash.should == Set[?c, "b", :a].hash

    Set[].hash.should_not == Set[1, 2, 3].hash
    Set[1, 2, 3].hash.should_not == Set[:a, "b", ?c].hash
  end

  ruby_version_is ""..."3.5" do
    # see https://github.com/jruby/jruby/issues/8393
    it "is equal to nil.hash for an uninitialized Set" do
      Set.allocate.hash.should == nil.hash
    end
  end
end