Class: RSpec::SleepingKingStudios::Matchers::Core::HaveWriterMatcher
- Inherits:
-
BaseMatcher
- Object
- BaseMatcher
- RSpec::SleepingKingStudios::Matchers::Core::HaveWriterMatcher
- Includes:
- Shared::MatchProperty
- Defined in:
- lib/rspec/sleeping_king_studios/matchers/core/have_writer_matcher.rb
Overview
Matcher for testing whether an object has a specific property writer, e.g. responds to :property= and updates the state.
Constant Summary
Constants included from Description
Description::DEFAULT_EXPECTED_ITEMS
Instance Attribute Summary
Attributes inherited from BaseMatcher
Instance Method Summary collapse
-
#description ⇒ String
Generates a description of the matcher expectation.
- #failure_message ⇒ Object
- #failure_message_when_negated ⇒ Object
-
#initialize(expected) ⇒ HaveWriterMatcher
constructor
A new instance of HaveWriterMatcher.
-
#matches?(actual) ⇒ Boolean
Checks if the object responds to :expected=.
Methods inherited from BaseMatcher
Constructor Details
#initialize(expected) ⇒ HaveWriterMatcher
Returns a new instance of HaveWriterMatcher.
24 25 26 |
# File 'lib/rspec/sleeping_king_studios/matchers/core/have_writer_matcher.rb', line 24 def initialize expected @expected = expected.to_s.gsub(/=$/,'').intern end |
Instance Method Details
#description ⇒ String
Generates a description of the matcher expectation.
18 19 20 |
# File 'lib/rspec/sleeping_king_studios/matchers/core/have_writer_matcher.rb', line 18 def description "have writer :#{@expected}" end |
#failure_message ⇒ Object
44 45 46 47 |
# File 'lib/rspec/sleeping_king_studios/matchers/core/have_writer_matcher.rb', line 44 def "expected #{@actual.inspect} to respond to :#{@expected}="\ ", but did not respond to :#{@expected}=" end |
#failure_message_when_negated ⇒ Object
50 51 52 53 |
# File 'lib/rspec/sleeping_king_studios/matchers/core/have_writer_matcher.rb', line 50 def "expected #{@actual.inspect} not to respond to :#{@expected}="\ ", but responded to :#{@expected}=" end |
#matches?(actual) ⇒ Boolean
Checks if the object responds to :expected=. Additionally, if a value expectation is set, assigns the value via :expected= and compares the subsequent value to the specified value using :expected or the block provided to #with.
37 38 39 40 41 |
# File 'lib/rspec/sleeping_king_studios/matchers/core/have_writer_matcher.rb', line 37 def matches? actual super responds_to_writer? end |