HEX
Server: Apache
System: Linux s198.coreserver.jp 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC 2025 x86_64
User: nagasaki (10062)
PHP: 7.1.33
Disabled: NONE
Upload Files
File: //usr/local/rvm/src/ruby-3.0.2/spec/ruby/core/objectspace/weakmap/element_reference_spec.rb
require_relative '../../../spec_helper'

describe "ObjectSpace::WeakMap#[]" do
  it "is faithful to the map's content" do
    map = ObjectSpace::WeakMap.new
    key1, key2 = %w[a b].map(&:upcase)
    ref1, ref2 = %w[x y]
    map[key1] = ref1
    map[key1].should == ref1
    map[key1] = ref1
    map[key1].should == ref1
    map[key2] = ref2
    map[key1].should == ref1
    map[key2].should == ref2
  end

  it "matches using identity semantics" do
    map = ObjectSpace::WeakMap.new
    key1, key2 = %w[a a].map(&:upcase)
    ref = "x"
    map[key1] = ref
    map[key2].should == nil
  end
end