Module: Spec::Mocks::ArgumentConstraints
- Included in:
- ExampleMethods
- Defined in:
- lib/gems/rspec-1.1.11/lib/spec/mocks/argument_constraints.rb,
lib/gems/rspec-1.1.11/spec/spec/mocks/hash_including_matcher_spec.rb
Overview
ArgumentConstraints are messages that you can include in message expectations to match arguments against a broader check than simple equality.
With the exception of any_args() and no_args(), the constraints are all positional - they match against the arg in the given position.
Defined Under Namespace
Classes: AnyArgConstraint, AnyArgsConstraint, BooleanConstraint, DuckTypeConstraint, EqualityProxy, HashIncludingConstraint, MatcherConstraint, NoArgsConstraint, RegexpConstraint
Instance Method Summary collapse
-
#any_args ⇒ Object
:call-seq: object.should_receive(:message).with(any_args()).
-
#anything ⇒ Object
:call-seq: object.should_receive(:message).with(anything()).
-
#boolean ⇒ Object
:call-seq: object.should_receive(:message).with(boolean()).
-
#duck_type(*args) ⇒ Object
:call-seq: object.should_receive(:message).with(duck_type(:hello)) object.should_receive(:message).with(duck_type(:hello, :goodbye)).
-
#hash_including(expected = {}) ⇒ Object
:call-seq: object.should_receive(:message).with(hash_including(:this => that)).
-
#no_args ⇒ Object
:call-seq: object.should_receive(:message).with(no_args).
Instance Method Details
#any_args ⇒ Object
:call-seq:
object.should_receive(:message).with(any_args())
Passes if object receives :message with any args at all. This is really a more explicit variation of object.should_receive(:message)
111 112 113 |
# File 'lib/gems/rspec-1.1.11/lib/spec/mocks/argument_constraints.rb', line 111 def any_args AnyArgsConstraint.new end |
#anything ⇒ Object
:call-seq:
object.should_receive(:message).with(anything())
Passes as long as there is an argument.
119 120 121 |
# File 'lib/gems/rspec-1.1.11/lib/spec/mocks/argument_constraints.rb', line 119 def anything AnyArgConstraint.new(nil) end |
#boolean ⇒ Object
:call-seq:
object.should_receive(:message).with(boolean())
Passes if the argument is boolean.
151 152 153 |
# File 'lib/gems/rspec-1.1.11/lib/spec/mocks/argument_constraints.rb', line 151 def boolean BooleanConstraint.new(nil) end |
#duck_type(*args) ⇒ Object
:call-seq:
object.should_receive(:message).with(duck_type(:hello))
object.should_receive(:message).with(duck_type(:hello, :goodbye))
Passes if the argument responds to the specified messages.
Examples
array = []
display = mock('display')
display.should_receive(:present_names).with(duck_type(:length, :each))
=> passes
143 144 145 |
# File 'lib/gems/rspec-1.1.11/lib/spec/mocks/argument_constraints.rb', line 143 def duck_type(*args) DuckTypeConstraint.new(*args) end |
#hash_including(expected = {}) ⇒ Object
:call-seq:
object.should_receive(:message).with(hash_including(:this => that))
Passes if the argument is a hash that includes the specified key/value pairs. If the hash includes other keys, it will still pass.
160 161 162 |
# File 'lib/gems/rspec-1.1.11/lib/spec/mocks/argument_constraints.rb', line 160 def hash_including(expected={}) HashIncludingConstraint.new(expected) end |
#no_args ⇒ Object
:call-seq:
object.should_receive(:message).with(no_args)
Passes if no arguments are passed along with the message
127 128 129 |
# File 'lib/gems/rspec-1.1.11/lib/spec/mocks/argument_constraints.rb', line 127 def no_args NoArgsConstraint.new end |