summaryrefslogtreecommitdiff
path: root/spec/ruby/core/kernel/match_spec.rb
blob: aa25006163ffaa660d0a97d64742511983833dda (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
28
29
30
require_relative '../../spec_helper'

describe "Kernel#=~" do
  ruby_version_is ''...'3.2' do
    it "returns nil matching any object" do
      o = Object.new

      suppress_warning do
        (o =~ /Object/).should   be_nil
        (o =~ 'Object').should   be_nil
        (o =~ Object).should     be_nil
        (o =~ Object.new).should be_nil
        (o =~ nil).should        be_nil
        (o =~ true).should       be_nil
      end
    end

    it "is deprecated" do
      -> do
        Object.new =~ /regexp/
      end.should complain(/deprecated Object#=~ is called on Object/, verbose: true)
    end
  end

  ruby_version_is '3.2' do
    it "is no longer defined" do
      Object.new.should_not.respond_to?(:=~)
    end
  end
end