2008-06-18 02:57:57 -04:00
|
|
|
module Spec
|
|
|
|
|
module Mocks
|
|
|
|
|
module ExampleMethods
|
2008-11-29 12:00:06 -05:00
|
|
|
include Spec::Mocks::ArgumentConstraints
|
2008-06-18 02:57:57 -04:00
|
|
|
|
|
|
|
|
# Shortcut for creating an instance of Spec::Mocks::Mock.
|
|
|
|
|
#
|
|
|
|
|
# +name+ is used for failure reporting, so you should use the
|
|
|
|
|
# role that the mock is playing in the example.
|
|
|
|
|
#
|
|
|
|
|
# +stubs_and_options+ lets you assign options and stub values
|
|
|
|
|
# at the same time. The only option available is :null_object.
|
|
|
|
|
# Anything else is treated as a stub value.
|
|
|
|
|
#
|
|
|
|
|
# == Examples
|
|
|
|
|
#
|
|
|
|
|
# stub_thing = mock("thing", :a => "A")
|
|
|
|
|
# stub_thing.a == "A" => true
|
|
|
|
|
#
|
|
|
|
|
# stub_person = stub("thing", :name => "Joe", :email => "joe@domain.com")
|
|
|
|
|
# stub_person.name => "Joe"
|
|
|
|
|
# stub_person.email => "joe@domain.com"
|
|
|
|
|
def mock(name, stubs_and_options={})
|
|
|
|
|
Spec::Mocks::Mock.new(name, stubs_and_options)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
alias :stub :mock
|
|
|
|
|
|
|
|
|
|
# Shortcut for creating a mock object that will return itself in response
|
|
|
|
|
# to any message it receives that it hasn't been explicitly instructed
|
|
|
|
|
# to respond to.
|
|
|
|
|
def stub_everything(name = 'stub')
|
|
|
|
|
mock(name, :null_object => true)
|
|
|
|
|
end
|
2008-11-29 12:00:06 -05:00
|
|
|
|
|
|
|
|
# Disables warning messages about expectations being set on nil.
|
|
|
|
|
#
|
|
|
|
|
# By default warning messages are issued when expectations are set on nil. This is to
|
|
|
|
|
# prevent false-positives and to catch potential bugs early on.
|
|
|
|
|
def allow_message_expectations_on_nil
|
|
|
|
|
Proxy.allow_message_expectations_on_nil
|
|
|
|
|
end
|
2008-06-18 02:57:57 -04:00
|
|
|
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|