Module: Spec::Expectations::ObjectExpectations

Included in:
Object
Defined in:
lib/spec/expectations/extensions/object.rb

Overview

rspec adds #should and #should_not to every Object (and, implicitly, every Class).

Instance Method Summary collapse

Instance Method Details

#should(matcher = nil, &block) ⇒ Object

:call-seq:

should(matcher)
should == expected
should =~ expected

receiver.should(matcher)
  => Passes if matcher.matches?(receiver)

receiver.should == expected #any value
  => Passes if (receiver == expected)

receiver.should =~ regexp
  => Passes if (receiver =~ regexp)

See Spec::Matchers for more information about matchers

Warning

NOTE that this does NOT support receiver.should != expected. Instead, use receiver.should_not == expected



27
28
29
30
# File 'lib/spec/expectations/extensions/object.rb', line 27

def should(matcher=nil, &block)
  return ExpectationMatcherHandler.handle_matcher(self, matcher, &block) if matcher
  Should::Should.new(self)
end

#should_not(matcher = nil, &block) ⇒ Object

:call-seq:

should_not(matcher)
should_not == expected
should_not =~ expected

receiver.should_not(matcher)
  => Passes unless matcher.matches?(receiver)

receiver.should_not == expected
  => Passes unless (receiver == expected)

receiver.should_not =~ regexp
  => Passes unless (receiver =~ regexp)

See Spec::Matchers for more information about matchers



47
48
49
50
# File 'lib/spec/expectations/extensions/object.rb', line 47

def should_not(matcher=nil, &block)
  return NegativeExpectationMatcherHandler.handle_matcher(self, matcher, &block) if matcher
  should.not
end