summaryrefslogtreecommitdiff
path: root/spec/ruby/core/objectspace/weakkeymap/clear_spec.rb
blob: 8050e2c30729d6db318fe51d5b805d120b2538b2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
require_relative '../../../spec_helper'

ruby_version_is '3.3' do
  describe "ObjectSpace::WeakKeyMap#clear" do
    it "removes all the entries" do
      m = ObjectSpace::WeakKeyMap.new

      key = Object.new
      value = Object.new
      m[key] = value

      key2 = Object.new
      value2 = Object.new
      m[key2] = value2

      m.clear

      m.key?(key).should == false
      m.key?(key2).should == false
    end

    it "returns self" do
      m = ObjectSpace::WeakKeyMap.new
      m.clear.should.equal?(m)
    end
  end
end