Class: RSpec::Rails::Matchers::ActionCable::HaveStream Private
Relationships & Source Files | |
Super Chains via Extension / Inclusion / Inheritance | |
Class Chain:
|
|
Instance Chain:
|
|
Inherits: |
RSpec::Matchers::BuiltIn::BaseMatcher
|
Defined in: | rspec-rails/lib/rspec/rails/matchers/action_cable/have_streams.rb |
Overview
Provides the implementation for have_stream
, have_stream_for
, and have_stream_from
. Not intended to be instantiated directly.
Constant Summary
::RSpec::Matchers::BuiltIn::BaseMatcher
- Inherited
Class Method Summary
::RSpec::Matchers::BuiltIn::BaseMatcher
- Inherited
.matcher_name, .new, | |
.underscore | Borrowed from ActiveSupport. |
Instance Attribute Summary
- #no_expected? ⇒ Boolean readonly private Internal use only
::RSpec::Matchers::BuiltIn::BaseMatcher
- Inherited
#actual, | |
#diffable? |
|
#expected, #expects_call_stack_jump?, #matcher_name, #matcher_name=, #rescued_exception, | |
#supports_block_expectations? | Most matchers are value matchers (i.e. meant to work with ‘expect(value)`) rather than block matchers (i.e. meant to work with `expect { }`), so this defaults to false. |
#supports_value_expectations? |
::RSpec::Matchers::BuiltIn::BaseMatcher::StringEncodingFormatting
- Included
#string_encoding_differs? | :nocov: |
Instance Method Summary
- #does_not_match?(subscription) ⇒ Boolean Internal use only
- #failure_message ⇒ String Internal use only
- #failure_message_when_negated ⇒ String Internal use only
- #matches?(subscription) ⇒ Boolean Internal use only
- #base_message private Internal use only
- #match(subscription) private Internal use only
::RSpec::Matchers::BuiltIn::BaseMatcher
- Inherited
#actual_formatted, | |
#description | Generates a description using |
#expected_formatted, | |
#match_unless_raises | Used to wrap a block of code that will indicate failure by raising one of the named exceptions. |
#matches? | Indicates if the match is successful. |
::RSpec::Matchers::BuiltIn::BaseMatcher::DefaultFailureMessages
- Included
#failure_message | Provides a good generic failure message. |
#failure_message_when_negated | Provides a good generic negative failure message. |
::RSpec::Matchers::BuiltIn::BaseMatcher::StringEncodingFormatting
- Included
#format_encoding | Formats a String’s encoding as a human readable string :nocov: |
::RSpec::Matchers::BuiltIn::BaseMatcher::HashFormatting
- Included
#improve_hash_formatting | ‘{ |
::RSpec::Matchers::Composable
- Included
#& | Alias for Matchers::Composable#and. |
#=== | Delegates to #matches?. |
#and | Creates a compound |
#description_of | Returns the description of the given object in a way that is aware of composed matchers. |
#or | Creates a compound |
#values_match? | This provides a generic way to fuzzy-match an expected value against an actual value. |
#| | Alias for Matchers::Composable#or. |
#should_enumerate? | We should enumerate arrays as long as they are not recursive. |
#surface_descriptions_in | Transforms the given data structure (typically a hash or array) into a new data structure that, when |
#unreadable_io?, | |
#with_matchers_cloned | Historically, a single matcher instance was only checked against a single value. |
Instance Attribute Details
#no_expected? ⇒ Boolean
(readonly, private)
# File 'rspec-rails/lib/rspec/rails/matchers/action_cable/have_streams.rb', line 51
def no_expected? !defined?(@expected) end
Instance Method Details
#base_message (private)
[ GitHub ]# File 'rspec-rails/lib/rspec/rails/matchers/action_cable/have_streams.rb', line 47
def no_expected? ? "any stream started" : "stream #{expected_formatted} started, but have #{actual_formatted}" end
#does_not_match?(subscription) ⇒ Boolean
# File 'rspec-rails/lib/rspec/rails/matchers/action_cable/have_streams.rb', line 31
def does_not_match?(subscription) !match(subscription) end
#failure_message ⇒ String
# File 'rspec-rails/lib/rspec/rails/matchers/action_cable/have_streams.rb', line 11
def "expected to have #{}" end
#failure_message_when_negated ⇒ String
# File 'rspec-rails/lib/rspec/rails/matchers/action_cable/have_streams.rb', line 17
def "expected not to have #{}" end
#match(subscription) (private)
[ GitHub ]# File 'rspec-rails/lib/rspec/rails/matchers/action_cable/have_streams.rb', line 37
def match(subscription) case subscription when ::ActionCable::Channel::Base @actual = subscription.streams no_expected? ? actual.any? : actual.any? { |i| expected === i } else raise ArgumentError, "have_stream, have_stream_from and have_stream_from support expectations on subscription only" end end
#matches?(subscription) ⇒ Boolean
# File 'rspec-rails/lib/rspec/rails/matchers/action_cable/have_streams.rb', line 23
def matches?(subscription) raise(ArgumentError, "have_streams is used for negated expectations only") if no_expected? match(subscription) end