Class/Module Index [+]

Quicksearch

Spec::Mocks::ArgumentMatchers

ArgumentMatchers 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 matchers are all positional - they match against the arg in the given position.

Public Instance Methods

a_kind_of(klass) click to toggle source
Alias for: kind_of
an_instance_of(klass) click to toggle source
Alias for: instance_of
should_receive(:message).with(any_args()) click to toggle source

Passes if object receives :message with any args at all. This is really a more explicit variation of object.should_receive(:message)

# File lib/spec/mocks/argument_matchers.rb, line 158
def any_args
  AnyArgsMatcher.new
end
should_receive(:message).with(anything()) click to toggle source

Passes as long as there is an argument.

# File lib/spec/mocks/argument_matchers.rb, line 166
def anything
  AnyArgMatcher.new(nil)
end
should_receive(:message).with(boolean()) click to toggle source

Passes if the argument is boolean.

# File lib/spec/mocks/argument_matchers.rb, line 190
def boolean
  BooleanMatcher.new(nil)
end
should_receive(:message).with(duck_type(:hello)) click to toggle source
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
# File lib/spec/mocks/argument_matchers.rb, line 182
def duck_type(*args)
  DuckTypeMatcher.new(*args)
end
should_receive(:message).with(hash_including(:key => val)) click to toggle source
should_receive(:message).with(hash_including(:key))
should_receive(:message).with(hash_including(:key, :key2 => val2))
Passes if the argument is a hash that includes the specified key(s) or key/value
If the hash includes other keys, it will still pass.
# File lib/spec/mocks/argument_matchers.rb, line 200
def hash_including(*args)
  HashIncludingMatcher.new(anythingize_lonely_keys(*args))
end
should_receive(:message).with(hash_not_including(:key => val)) click to toggle source
should_receive(:message).with(hash_not_including(:key))
should_receive(:message).with(hash_not_including(:key, :key2 => :val2))

Passes if the argument is a hash that doesn’t include the specified key(s) or key/value

# File lib/spec/mocks/argument_matchers.rb, line 210
def hash_not_including(*args)
  HashNotIncludingMatcher.new(anythingize_lonely_keys(*args))
end
instance_of(klass) click to toggle source

Passes if arg.instance_of?(klass)

# File lib/spec/mocks/argument_matchers.rb, line 215
def instance_of(klass)
  InstanceOf.new(klass)
end
Also aliased as: an_instance_of
kind_of(klass) click to toggle source

Passes if arg.kind_of?(klass)

# File lib/spec/mocks/argument_matchers.rb, line 222
def kind_of(klass)
  KindOf.new(klass)
end
Also aliased as: a_kind_of
should_receive(:message).with(no_args()) click to toggle source

Passes if no arguments are passed along with the message

# File lib/spec/mocks/argument_matchers.rb, line 149
def no_args
  NoArgsMatcher.new
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.