sorbet/rbi/gems/rspec-expectations@3.13.1.rbi
# typed: true
# DO NOT EDIT MANUALLY
# This is an autogenerated file for types exported from the `rspec-expectations` gem.
# Please instead update this file by running `bin/tapioca gem rspec-expectations`.
# RSpec's top level namespace. All of rspec-expectations is contained
# in the `RSpec::Expectations` and `RSpec::Matchers` namespaces.
#
# source://rspec-expectations//lib/rspec/matchers/english_phrasing.rb#1
module RSpec
class << self
# source://rspec-core/3.13.0/lib/rspec/core.rb#70
def clear_examples; end
# source://rspec-core/3.13.0/lib/rspec/core.rb#85
def configuration; end
# source://rspec-core/3.13.0/lib/rspec/core.rb#49
def configuration=(_arg0); end
# source://rspec-core/3.13.0/lib/rspec/core.rb#97
def configure; end
# source://rspec-core/3.13.0/lib/rspec/core.rb#194
def const_missing(name); end
# source://rspec-core/3.13.0/lib/rspec/core/dsl.rb#42
def context(*args, &example_group_block); end
# source://rspec-core/3.13.0/lib/rspec/core.rb#122
def current_example; end
# source://rspec-core/3.13.0/lib/rspec/core.rb#128
def current_example=(example); end
# source://rspec-core/3.13.0/lib/rspec/core.rb#154
def current_scope; end
# source://rspec-core/3.13.0/lib/rspec/core.rb#134
def current_scope=(scope); end
# source://rspec-core/3.13.0/lib/rspec/core/dsl.rb#42
def describe(*args, &example_group_block); end
# source://rspec-core/3.13.0/lib/rspec/core/dsl.rb#42
def example_group(*args, &example_group_block); end
# source://rspec-core/3.13.0/lib/rspec/core/dsl.rb#42
def fcontext(*args, &example_group_block); end
# source://rspec-core/3.13.0/lib/rspec/core/dsl.rb#42
def fdescribe(*args, &example_group_block); end
# source://rspec-core/3.13.0/lib/rspec/core.rb#58
def reset; end
# source://rspec-core/3.13.0/lib/rspec/core/shared_example_group.rb#110
def shared_context(name, *args, &block); end
# source://rspec-core/3.13.0/lib/rspec/core/shared_example_group.rb#110
def shared_examples(name, *args, &block); end
# source://rspec-core/3.13.0/lib/rspec/core/shared_example_group.rb#110
def shared_examples_for(name, *args, &block); end
# source://rspec-core/3.13.0/lib/rspec/core.rb#160
def world; end
# source://rspec-core/3.13.0/lib/rspec/core.rb#49
def world=(_arg0); end
# source://rspec-core/3.13.0/lib/rspec/core/dsl.rb#42
def xcontext(*args, &example_group_block); end
# source://rspec-core/3.13.0/lib/rspec/core/dsl.rb#42
def xdescribe(*args, &example_group_block); end
end
end
# RSpec::Expectations provides a simple, readable API to express
# the expected outcomes in a code example. To express an expected
# outcome, wrap an object or block in `expect`, call `to` or `to_not`
# (aliased as `not_to`) and pass it a matcher object:
#
# expect(order.total).to eq(Money.new(5.55, :USD))
# expect(list).to include(user)
# expect(message).not_to match(/foo/)
# expect { do_something }.to raise_error
#
# The last form (the block form) is needed to match against ruby constructs
# that are not objects, but can only be observed when executing a block
# of code. This includes raising errors, throwing symbols, yielding,
# and changing values.
#
# When `expect(...).to` is invoked with a matcher, it turns around
# and calls `matcher.matches?(<object wrapped by expect>)`. For example,
# in the expression:
#
# expect(order.total).to eq(Money.new(5.55, :USD))
#
# ...`eq(Money.new(5.55, :USD))` returns a matcher object, and it results
# in the equivalent of `eq.matches?(order.total)`. If `matches?` returns
# `true`, the expectation is met and execution continues. If `false`, then
# the spec fails with the message returned by `eq.failure_message`.
#
# Given the expression:
#
# expect(order.entries).not_to include(entry)
#
# ...the `not_to` method (also available as `to_not`) invokes the equivalent of
# `include.matches?(order.entries)`, but it interprets `false` as success, and
# `true` as a failure, using the message generated by
# `include.failure_message_when_negated`.
#
# rspec-expectations ships with a standard set of useful matchers, and writing
# your own matchers is quite simple.
#
# See [RSpec::Matchers](../RSpec/Matchers) for more information about the
# built-in matchers that ship with rspec-expectations, and how to write your
# own custom matchers.
#
# source://rspec-expectations//lib/rspec/expectations/expectation_target.rb#2
module RSpec::Expectations
class << self
# The configuration object.
#
# @return [RSpec::Expectations::Configuration] the configuration object
#
# source://rspec-expectations//lib/rspec/expectations/configuration.rb#223
def configuration; end
# @private
#
# source://rspec-expectations//lib/rspec/expectations/fail_with.rb#13
def differ; end
# Raises an RSpec::Expectations::ExpectationNotMetError with message.
# Adds a diff to the failure message when `expected` and `actual` are
# both present.
#
# @param message [String]
# @param expected [Object]
# @param actual [Object]
#
# source://rspec-expectations//lib/rspec/expectations/fail_with.rb#27
def fail_with(message, expected = T.unsafe(nil), actual = T.unsafe(nil)); end
end
end
# Validates the provided matcher to ensure it supports block
# expectations, in order to avoid user confusion when they
# use a block thinking the expectation will be on the return
# value of the block rather than the block itself.
#
# @private
#
# source://rspec-expectations//lib/rspec/expectations/expectation_target.rb#136
class RSpec::Expectations::BlockExpectationTarget < ::RSpec::Expectations::ExpectationTarget
# source://rspec-expectations//lib/rspec/expectations/expectation_target.rb#142
def not_to(matcher, message = T.unsafe(nil), &block); end
# source://rspec-expectations//lib/rspec/expectations/expectation_target.rb#137
def to(matcher, message = T.unsafe(nil), &block); end
# source://rspec-expectations//lib/rspec/expectations/expectation_target.rb#142
def to_not(matcher, message = T.unsafe(nil), &block); end
private
# @raise [ExpectationNotMetError]
#
# source://rspec-expectations//lib/rspec/expectations/expectation_target.rb#150
def enforce_block_expectation(matcher); end
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/expectations/expectation_target.rb#158
def supports_block_expectations?(matcher); end
end
# @private
#
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#4
class RSpec::Expectations::BlockSnippetExtractor
# @return [BlockSnippetExtractor] a new instance of BlockSnippetExtractor
#
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#17
def initialize(proc, method_name); end
# Ideally we should properly handle indentations of multiline snippet,
# but it's not implemented yet since because we use result of this method only when it's a
# single line and implementing the logic introduces additional complexity.
#
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#25
def body_content_lines; end
# rubocop should properly handle `Struct.new {}` as an inner class definition.
#
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#7
def method_name; end
# rubocop should properly handle `Struct.new {}` as an inner class definition.
#
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#7
def proc; end
private
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#60
def beginning_line_number; end
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#39
def block_token_extractor; end
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#56
def file_path; end
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#31
def raw_body_lines; end
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#35
def raw_body_snippet; end
# @raise [TargetNotFoundError]
#
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#44
def source; end
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#64
def source_location; end
class << self
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#9
def try_extracting_single_line_body_of(proc, method_name); end
end
end
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#70
class RSpec::Expectations::BlockSnippetExtractor::AmbiguousTargetError < ::RSpec::Expectations::BlockSnippetExtractor::Error; end
# Locates target block with node information (semantics), which tokens don't have.
#
# @private
#
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#198
class RSpec::Expectations::BlockSnippetExtractor::BlockLocator < ::Struct
# Returns the value of attribute beginning_line_number
#
# @return [Object] the current value of beginning_line_number
def beginning_line_number; end
# Sets the attribute beginning_line_number
#
# @param value [Object] the value to set the attribute beginning_line_number to.
# @return [Object] the newly set value
def beginning_line_number=(_); end
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#203
def body_content_locations; end
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#199
def method_call_location; end
# Returns the value of attribute method_name
#
# @return [Object] the current value of method_name
def method_name; end
# Sets the attribute method_name
#
# @param value [Object] the value to set the attribute method_name to.
# @return [Object] the newly set value
def method_name=(_); end
# Returns the value of attribute source
#
# @return [Object] the current value of source
def source; end
# Sets the attribute source
#
# @param value [Object] the value to set the attribute source to.
# @return [Object] the newly set value
def source=(_); end
private
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#216
def block_body_node; end
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#221
def block_wrapper_node; end
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#232
def candidate_block_wrapper_nodes; end
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#241
def candidate_method_ident_nodes; end
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#209
def method_ident_node; end
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#247
def method_ident_node?(node); end
class << self
def [](*_arg0); end
def inspect; end
def keyword_init?; end
def members; end
def new(*_arg0); end
end
end
# Performs extraction of block body snippet using tokens,
# which cannot be done with node information.
#
# @private
#
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#75
class RSpec::Expectations::BlockSnippetExtractor::BlockTokenExtractor < ::Struct
# @return [BlockTokenExtractor] a new instance of BlockTokenExtractor
#
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#78
def initialize(*_arg0); end
# Returns the value of attribute beginning_line_number
#
# @return [Object] the current value of beginning_line_number
def beginning_line_number; end
# Sets the attribute beginning_line_number
#
# @param value [Object] the value to set the attribute beginning_line_number to.
# @return [Object] the newly set value
def beginning_line_number=(_); end
# Returns the value of attribute body_tokens.
#
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#76
def body_tokens; end
# Returns the value of attribute method_name
#
# @return [Object] the current value of method_name
def method_name; end
# Sets the attribute method_name
#
# @param value [Object] the value to set the attribute method_name to.
# @return [Object] the newly set value
def method_name=(_); end
# Returns the value of attribute source
#
# @return [Object] the current value of source
def source; end
# Sets the attribute source
#
# @param value [Object] the value to set the attribute source to.
# @return [Object] the newly set value
def source=(_); end
# Returns the value of attribute state.
#
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#76
def state; end
private
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#124
def after_beginning_of_args_state(token); end
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#128
def after_beginning_of_body_state(token); end
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#107
def after_method_call_state(token); end
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#111
def after_opener_state(token); end
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#191
def block_locator; end
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#185
def correct_block?(body_tokens); end
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#141
def finalize_pending_tokens!; end
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#95
def finish!; end
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#147
def finish_or_find_next_block_if_incorrect!; end
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#168
def handle_closer_token(token); end
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#158
def handle_opener_token(token); end
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#103
def initial_state(token); end
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#99
def invoke_state_handler(token); end
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#164
def opener_token?(token); end
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#177
def opener_token_stack; end
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#85
def parse!; end
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#137
def pending_tokens; end
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#181
def pipe_token?(token); end
class << self
def [](*_arg0); end
def inspect; end
def keyword_init?; end
def members; end
def new(*_arg0); end
end
end
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#68
class RSpec::Expectations::BlockSnippetExtractor::Error < ::StandardError; end
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#69
class RSpec::Expectations::BlockSnippetExtractor::TargetNotFoundError < ::RSpec::Expectations::BlockSnippetExtractor::Error; end
# Provides configuration options for rspec-expectations.
# If you are using rspec-core, you can access this via a
# block passed to `RSpec::Core::Configuration#expect_with`.
# Otherwise, you can access it via RSpec::Expectations.configuration.
#
# @example
# RSpec.configure do |rspec|
# rspec.expect_with :rspec do |c|
# # c is the config object
# end
# end
#
# # or
#
# RSpec::Expectations.configuration
#
# source://rspec-expectations//lib/rspec/expectations/configuration.rb#20
class RSpec::Expectations::Configuration
# @return [Configuration] a new instance of Configuration
#
# source://rspec-expectations//lib/rspec/expectations/configuration.rb#29
def initialize; end
# Adds `should` and `should_not` to the given classes
# or modules. This can be used to ensure `should` works
# properly on things like proxy objects (particular
# `Delegator`-subclassed objects on 1.8).
#
# @param modules [Array<Module>] the list of classes or modules
# to add `should` and `should_not` to.
#
# source://rspec-expectations//lib/rspec/expectations/configuration.rb#112
def add_should_and_should_not_to(*modules); end
# Sets or gets the backtrace formatter. The backtrace formatter should
# implement `#format_backtrace(Array<String>)`. This is used
# to format backtraces of errors handled by the `raise_error`
# matcher.
#
# If you are using rspec-core, rspec-core's backtrace formatting
# will be used (including respecting the presence or absence of
# the `--backtrace` option).
#
# source://rspec-expectations//lib/rspec/expectations/configuration.rb#129
def backtrace_formatter; end
# Sets or gets the backtrace formatter. The backtrace formatter should
# implement `#format_backtrace(Array<String>)`. This is used
# to format backtraces of errors handled by the `raise_error`
# matcher.
#
# If you are using rspec-core, rspec-core's backtrace formatting
# will be used (including respecting the presence or absence of
# the `--backtrace` option).
#
# source://rspec-expectations//lib/rspec/expectations/configuration.rb#128
def backtrace_formatter=(_arg0); end
# Indicates whether or not diffs should be colored.
# Delegates to rspec-core's color option if rspec-core
# is loaded; otherwise you can set it here.
#
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/expectations/configuration.rb#88
def color?; end
# @private
#
# source://rspec-expectations//lib/rspec/expectations/configuration.rb#216
def false_positives_handler; end
# Sets if custom matcher descriptions and failure messages
# should include clauses from methods defined using `chain`.
#
# @param value [Boolean]
#
# source://rspec-expectations//lib/rspec/expectations/configuration.rb#140
def include_chain_clauses_in_custom_matcher_descriptions=(_arg0); end
# Indicates whether or not custom matcher descriptions and failure messages
# should include clauses from methods defined using `chain`. It is
# false by default for backwards compatibility.
#
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/expectations/configuration.rb#145
def include_chain_clauses_in_custom_matcher_descriptions?; end
# Configures the maximum character length that RSpec will print while
# formatting an object. You can set length to nil to prevent RSpec from
# doing truncation.
#
# @example
# RSpec.configure do |rspec|
# rspec.expect_with :rspec do |c|
# c.max_formatted_output_length = 200
# end
# end
# @param length [Fixnum] the number of characters to limit the formatted output to.
#
# source://rspec-expectations//lib/rspec/expectations/configuration.rb#70
def max_formatted_output_length=(length); end
# Indicates what RSpec will do about matcher use which will
# potentially cause false positives in tests, generally you want to
# avoid such scenarios so this defaults to `true`.
#
# source://rspec-expectations//lib/rspec/expectations/configuration.rb#206
def on_potential_false_positives; end
# Configures what RSpec will do about matcher use which will
# potentially cause false positives in tests.
#
# @param behavior [Symbol] can be set to :warn, :raise or :nothing
#
# source://rspec-expectations//lib/rspec/expectations/configuration.rb#182
def on_potential_false_positives=(behavior); end
# @private
#
# source://rspec-expectations//lib/rspec/expectations/configuration.rb#150
def reset_syntaxes_to_default; end
# Returns the value of attribute strict_predicate_matchers.
#
# source://rspec-expectations//lib/rspec/expectations/configuration.rb#197
def strict_predicate_matchers; end
# Configures RSpec to check predicate matchers to `be(true)` / `be(false)` (strict),
# or `be_truthy` / `be_falsey` (not strict).
# Historically, the default was `false`, but `true` is recommended.
#
# @raise [ArgumentError]
#
# source://rspec-expectations//lib/rspec/expectations/configuration.rb#192
def strict_predicate_matchers=(flag); end
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/expectations/configuration.rb#199
def strict_predicate_matchers?; end
# The list of configured syntaxes.
#
# @example
# unless RSpec::Matchers.configuration.syntax.include?(:expect)
# raise "this RSpec extension gem requires the rspec-expectations `:expect` syntax"
# end
# @return [Array<Symbol>] the list of configured syntaxes.
#
# source://rspec-expectations//lib/rspec/expectations/configuration.rb#80
def syntax; end
# Configures the supported syntax.
#
# @example
# RSpec.configure do |rspec|
# rspec.expect_with :rspec do |c|
# c.syntax = :should
# # or
# c.syntax = :expect
# # or
# c.syntax = [:should, :expect]
# end
# end
# @param values [Array<Symbol>, Symbol] the syntaxes to enable
#
# source://rspec-expectations//lib/rspec/expectations/configuration.rb#46
def syntax=(values); end
# Configures whether RSpec will warn about matcher use which will
# potentially cause false positives in tests.
#
# @param boolean [Boolean]
#
# source://rspec-expectations//lib/rspec/expectations/configuration.rb#168
def warn_about_potential_false_positives=(boolean); end
# Indicates whether RSpec will warn about matcher use which will
# potentially cause false positives in tests, generally you want to
# avoid such scenarios so this defaults to `true`.
#
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/expectations/configuration.rb#211
def warn_about_potential_false_positives?; end
end
# @private
#
# source://rspec-expectations//lib/rspec/expectations/configuration.rb#22
RSpec::Expectations::Configuration::FALSE_POSITIVE_BEHAVIOURS = T.let(T.unsafe(nil), Hash)
# Null implementation of a backtrace formatter used by default
# when rspec-core is not loaded. Does no filtering.
#
# @api private
#
# source://rspec-expectations//lib/rspec/expectations/configuration.rb#158
module RSpec::Expectations::Configuration::NullBacktraceFormatter
class << self
# source://rspec-expectations//lib/rspec/expectations/configuration.rb#159
def format_backtrace(backtrace); end
end
end
# @private
#
# source://rspec-expectations//lib/rspec/expectations/handler.rb#4
module RSpec::Expectations::ExpectationHelper
class << self
# source://rspec-expectations//lib/rspec/expectations/handler.rb#5
def check_message(msg); end
# source://rspec-expectations//lib/rspec/expectations/handler.rb#33
def handle_failure(matcher, message, failure_message_method); end
# Returns an RSpec-3+ compatible matcher, wrapping a legacy one
# in an adapter if necessary.
#
# @private
#
# source://rspec-expectations//lib/rspec/expectations/handler.rb#19
def modern_matcher_from(matcher); end
# source://rspec-expectations//lib/rspec/expectations/handler.rb#24
def with_matcher(handler, matcher, message); end
end
end
# Exception raised when an expectation fails.
#
# the user sets an expectation, it can't be caught in their
# code by a bare `rescue`.
#
# @api public
# @note We subclass Exception so that in a stub implementation if
#
# source://rspec-expectations//lib/rspec/expectations.rb#67
class RSpec::Expectations::ExpectationNotMetError < ::Exception; end
# Wraps the target of an expectation.
#
# @example
# expect(something) # => ExpectationTarget wrapping something
# expect { do_something } # => ExpectationTarget wrapping the block
#
# # used with `to`
# expect(actual).to eq(3)
#
# # with `not_to`
# expect(actual).not_to eq(3)
# @note `ExpectationTarget` is not intended to be instantiated
# directly by users. Use `expect` instead.
#
# source://rspec-expectations//lib/rspec/expectations/expectation_target.rb#17
class RSpec::Expectations::ExpectationTarget
include ::RSpec::Expectations::ExpectationTarget::InstanceMethods
# @api private
# @return [ExpectationTarget] a new instance of ExpectationTarget
#
# source://rspec-expectations//lib/rspec/expectations/expectation_target.rb#31
def initialize(value); end
# @note this name aligns with `Minitest::Expectation` so that our
# {InstanceMethods} module can be included in that class when
# used in a Minitest context.
# @return [Object] the target of the expectation
#
# source://rspec-expectations//lib/rspec/expectations/expectation_target.rb#28
def target; end
class << self
# @private
#
# source://rspec-expectations//lib/rspec/expectations/expectation_target.rb#36
def for(value, block); end
end
end
# Defines instance {ExpectationTarget} instance methods. These are defined
# in a module so we can include it in `Minitest::Expectation` when
# `rspec/expectations/minitest_integration` is loaded in order to
# support usage with Minitest.
#
# source://rspec-expectations//lib/rspec/expectations/expectation_target.rb#53
module RSpec::Expectations::ExpectationTarget::InstanceMethods
# Runs the given expectation, passing if `matcher` returns false.
#
# @example
# expect(value).not_to eq(5)
# @param matcher [Matcher]
# @param message [String, Proc] optional message to display when the expectation fails
# @return [Boolean] false if the negative expectation succeeds (else raises)
# @see RSpec::Matchers
#
# source://rspec-expectations//lib/rspec/expectations/expectation_target.rb#76
def not_to(matcher = T.unsafe(nil), message = T.unsafe(nil), &block); end
# Runs the given expectation, passing if `matcher` returns true.
#
# @example
# expect(value).to eq(5)
# expect { perform }.to raise_error
# @param matcher [Matcher]
# @param message [String, Proc] optional message to display when the expectation fails
# @return [Boolean] true if the expectation succeeds (else raises)
# @see RSpec::Matchers
#
# source://rspec-expectations//lib/rspec/expectations/expectation_target.rb#63
def to(matcher = T.unsafe(nil), message = T.unsafe(nil), &block); end
# Runs the given expectation, passing if `matcher` returns false.
#
# @example
# expect(value).not_to eq(5)
# @param matcher [Matcher]
# @param message [String, Proc] optional message to display when the expectation fails
# @return [Boolean] false if the negative expectation succeeds (else raises)
# @see RSpec::Matchers
#
# source://rspec-expectations//lib/rspec/expectations/expectation_target.rb#76
def to_not(matcher = T.unsafe(nil), message = T.unsafe(nil), &block); end
private
# @raise [ArgumentError]
#
# source://rspec-expectations//lib/rspec/expectations/expectation_target.rb#84
def prevent_operator_matchers(verb); end
end
# Used as a sentinel value to be able to tell when the user
# did not pass an argument. We can't use `nil` for that because
# `nil` is a valid value to pass.
#
# @private
#
# source://rspec-expectations//lib/rspec/expectations/expectation_target.rb#22
module RSpec::Expectations::ExpectationTarget::UndefinedValue; end
# @private
#
# source://rspec-expectations//lib/rspec/expectations/failure_aggregator.rb#4
class RSpec::Expectations::FailureAggregator
# @return [FailureAggregator] a new instance of FailureAggregator
#
# source://rspec-expectations//lib/rspec/expectations/failure_aggregator.rb#90
def initialize(block_label, metadata); end
# source://rspec-expectations//lib/rspec/expectations/failure_aggregator.rb#22
def aggregate; end
# Returns the value of attribute block_label.
#
# source://rspec-expectations//lib/rspec/expectations/failure_aggregator.rb#5
def block_label; end
# This method is defined to satisfy the callable interface
# expected by `RSpec::Support.with_failure_notifier`.
#
# source://rspec-expectations//lib/rspec/expectations/failure_aggregator.rb#59
def call(failure, options); end
# source://rspec-expectations//lib/rspec/expectations/failure_aggregator.rb#49
def failures; end
# Returns the value of attribute metadata.
#
# source://rspec-expectations//lib/rspec/expectations/failure_aggregator.rb#5
def metadata; end
# source://rspec-expectations//lib/rspec/expectations/failure_aggregator.rb#53
def other_errors; end
private
# Using `caller` performs better (and is simpler) than `raise` on most Rubies.
#
# source://rspec-expectations//lib/rspec/expectations/failure_aggregator.rb#85
def assign_backtrace(failure); end
# source://rspec-expectations//lib/rspec/expectations/failure_aggregator.rb#96
def notify_aggregated_failures; end
end
# source://rspec-expectations//lib/rspec/expectations/failure_aggregator.rb#20
RSpec::Expectations::FailureAggregator::AGGREGATED_FAILURE = T.let(T.unsafe(nil), RSpec::Expectations::FailureAggregator::AggregatedFailure)
# @private
#
# source://rspec-expectations//lib/rspec/expectations/failure_aggregator.rb#8
class RSpec::Expectations::FailureAggregator::AggregatedFailure
# source://rspec-expectations//lib/rspec/expectations/failure_aggregator.rb#15
def inspect; end
end
# @private
#
# source://rspec-expectations//lib/rspec/expectations/failure_aggregator.rb#10
RSpec::Expectations::FailureAggregator::AggregatedFailure::MESSAGE = T.let(T.unsafe(nil), String)
# RSpec 3.0 was released with the class name misspelled. For SemVer compatibility,
# we will provide this misspelled alias until 4.0.
#
# @deprecated Use LegacyMatcherAdapter instead.
# @private
#
# source://rspec-expectations//lib/rspec/expectations/handler.rb#180
RSpec::Expectations::LegacyMacherAdapter = RSpec::Expectations::LegacyMatcherAdapter
# Wraps a matcher written against one of the legacy protocols in
# order to present the current protocol.
#
# @private
#
# source://rspec-expectations//lib/rspec/expectations/handler.rb#113
class RSpec::Expectations::LegacyMatcherAdapter < ::RSpec::Matchers::MatcherDelegator
# @return [LegacyMatcherAdapter] a new instance of LegacyMatcherAdapter
#
# source://rspec-expectations//lib/rspec/expectations/handler.rb#114
def initialize(matcher); end
class << self
# source://rspec-expectations//lib/rspec/expectations/handler.rb#124
def wrap(matcher); end
end
end
# Before RSpec 1.2, the failure message protocol was:
# * `failure_message`
# * `negative_failure_message`
#
# @private
#
# source://rspec-expectations//lib/rspec/expectations/handler.rb#157
class RSpec::Expectations::LegacyMatcherAdapter::RSpec1 < ::RSpec::Expectations::LegacyMatcherAdapter
# source://rspec-expectations//lib/rspec/expectations/handler.rb#158
def failure_message; end
# source://rspec-expectations//lib/rspec/expectations/handler.rb#162
def failure_message_when_negated; end
class << self
# Note: `failure_message` is part of the RSpec 3 protocol
# (paired with `failure_message_when_negated`), so we don't check
# for `failure_message` here.
#
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/expectations/handler.rb#169
def interface_matches?(matcher); end
end
end
# Starting in RSpec 1.2 (and continuing through all 2.x releases),
# the failure message protocol was:
# * `failure_message_for_should`
# * `failure_message_for_should_not`
#
# @private
#
# source://rspec-expectations//lib/rspec/expectations/handler.rb#133
class RSpec::Expectations::LegacyMatcherAdapter::RSpec2 < ::RSpec::Expectations::LegacyMatcherAdapter
# source://rspec-expectations//lib/rspec/expectations/handler.rb#134
def failure_message; end
# source://rspec-expectations//lib/rspec/expectations/handler.rb#138
def failure_message_when_negated; end
class << self
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/expectations/handler.rb#142
def interface_matches?(matcher); end
end
end
# Exception raised from `aggregate_failures` when multiple expectations fail.
#
# @note The constant is defined here but the extensive logic of this class
# is lazily defined when `FailureAggregator` is autoloaded, since we do
# not need to waste time defining that functionality unless
# `aggregate_failures` is used.
#
# source://rspec-expectations//lib/rspec/expectations.rb#76
class RSpec::Expectations::MultipleExpectationsNotMetError < ::RSpec::Expectations::ExpectationNotMetError
# @return [MultipleExpectationsNotMetError] a new instance of MultipleExpectationsNotMetError
#
# source://rspec-expectations//lib/rspec/expectations/failure_aggregator.rb#153
def initialize(failure_aggregator); end
# @return [String] The user-assigned label for the aggregation block.
#
# source://rspec-expectations//lib/rspec/expectations/failure_aggregator.rb#128
def aggregation_block_label; end
# @return [Hash] The metadata hash passed to `aggregate_failures`.
#
# source://rspec-expectations//lib/rspec/expectations/failure_aggregator.rb#133
def aggregation_metadata; end
# @return [Array<Exception>] The list of expectation failures and other exceptions, combined.
#
# source://rspec-expectations//lib/rspec/expectations/failure_aggregator.rb#125
def all_exceptions; end
# return [String] A description of the failure/error counts.
#
# source://rspec-expectations//lib/rspec/expectations/failure_aggregator.rb#144
def exception_count_description; end
# @return [Array<RSpec::Expectations::ExpectationNotMetError>] The list of expectation failures.
#
# source://rspec-expectations//lib/rspec/expectations/failure_aggregator.rb#115
def failures; end
# @return [String] The fully formatted exception message.
#
# source://rspec-expectations//lib/rspec/expectations/failure_aggregator.rb#110
def message; end
# @return [Array<Exception>] The list of other exceptions.
#
# source://rspec-expectations//lib/rspec/expectations/failure_aggregator.rb#120
def other_errors; end
# @return [String] A summary of the failure, including the block label and a count of failures.
#
# source://rspec-expectations//lib/rspec/expectations/failure_aggregator.rb#138
def summary; end
private
# source://rspec-expectations//lib/rspec/expectations/failure_aggregator.rb#185
def backtrace_line(line); end
# source://rspec-expectations//lib/rspec/expectations/failure_aggregator.rb#158
def block_description; end
# source://rspec-expectations//lib/rspec/expectations/failure_aggregator.rb#167
def enumerated(exceptions, index_offset); end
# source://rspec-expectations//lib/rspec/expectations/failure_aggregator.rb#197
def enumerated_errors; end
# source://rspec-expectations//lib/rspec/expectations/failure_aggregator.rb#193
def enumerated_failures; end
# source://rspec-expectations//lib/rspec/expectations/failure_aggregator.rb#175
def exclusion_patterns; end
# source://rspec-expectations//lib/rspec/expectations/failure_aggregator.rb#181
def format_backtrace(backtrace); end
# source://rspec-expectations//lib/rspec/expectations/failure_aggregator.rb#212
def indentation; end
# source://rspec-expectations//lib/rspec/expectations/failure_aggregator.rb#203
def indented(failure_message, index); end
# source://rspec-expectations//lib/rspec/expectations/failure_aggregator.rb#224
def index_label(index); end
# source://rspec-expectations//lib/rspec/expectations/failure_aggregator.rb#216
def longest_index_label_width; end
# source://rspec-expectations//lib/rspec/expectations/failure_aggregator.rb#163
def pluralize(noun, count); end
# source://rspec-expectations//lib/rspec/expectations/failure_aggregator.rb#220
def width_of_label(index); end
end
# @private
#
# source://rspec-expectations//lib/rspec/expectations/handler.rb#74
class RSpec::Expectations::NegativeExpectationHandler
class << self
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/expectations/handler.rb#88
def does_not_match?(matcher, actual, &block); end
# source://rspec-expectations//lib/rspec/expectations/handler.rb#75
def handle_matcher(actual, initial_matcher, custom_message = T.unsafe(nil), &block); end
# source://rspec-expectations//lib/rspec/expectations/handler.rb#104
def opposite_should_method; end
# source://rspec-expectations//lib/rspec/expectations/handler.rb#100
def should_method; end
# source://rspec-expectations//lib/rspec/expectations/handler.rb#96
def verb; end
end
end
# @private
#
# source://rspec-expectations//lib/rspec/expectations/handler.rb#46
class RSpec::Expectations::PositiveExpectationHandler
class << self
# source://rspec-expectations//lib/rspec/expectations/handler.rb#47
def handle_matcher(actual, initial_matcher, custom_message = T.unsafe(nil), &block); end
# source://rspec-expectations//lib/rspec/expectations/handler.rb#68
def opposite_should_method; end
# source://rspec-expectations//lib/rspec/expectations/handler.rb#64
def should_method; end
# source://rspec-expectations//lib/rspec/expectations/handler.rb#60
def verb; end
end
end
# Provides methods for enabling and disabling the available
# syntaxes provided by rspec-expectations.
#
# @api private
#
# source://rspec-expectations//lib/rspec/expectations/syntax.rb#6
module RSpec::Expectations::Syntax
private
# Determines where we add `should` and `should_not`.
#
# @api private
#
# source://rspec-expectations//lib/rspec/expectations/syntax.rb#11
def default_should_host; end
# Disables the `expect` syntax.
#
# @api private
#
# source://rspec-expectations//lib/rspec/expectations/syntax.rb#80
def disable_expect(syntax_host = T.unsafe(nil)); end
# Disables the `should` syntax.
#
# @api private
#
# source://rspec-expectations//lib/rspec/expectations/syntax.rb#57
def disable_should(syntax_host = T.unsafe(nil)); end
# Enables the `expect` syntax.
#
# @api private
#
# source://rspec-expectations//lib/rspec/expectations/syntax.rb#68
def enable_expect(syntax_host = T.unsafe(nil)); end
# Enables the `should` syntax.
#
# @api private
#
# source://rspec-expectations//lib/rspec/expectations/syntax.rb#38
def enable_should(syntax_host = T.unsafe(nil)); end
# Indicates whether or not the `expect` syntax is enabled.
#
# @api private
#
# source://rspec-expectations//lib/rspec/expectations/syntax.rb#96
def expect_enabled?(syntax_host = T.unsafe(nil)); end
# Indicates whether or not the `should` syntax is enabled.
#
# @api private
#
# source://rspec-expectations//lib/rspec/expectations/syntax.rb#90
def should_enabled?(syntax_host = T.unsafe(nil)); end
# Instructs rspec-expectations to warn on first usage of `should` or `should_not`.
# Enabled by default. This is largely here to facilitate testing.
#
# @api private
#
# source://rspec-expectations//lib/rspec/expectations/syntax.rb#18
def warn_about_should!; end
# Generates a deprecation warning for the given method if no warning
# has already been issued.
#
# @api private
#
# source://rspec-expectations//lib/rspec/expectations/syntax.rb#25
def warn_about_should_unless_configured(method_name); end
class << self
# Determines where we add `should` and `should_not`.
#
# @api private
#
# source://rspec-expectations//lib/rspec/expectations/syntax.rb#11
def default_should_host; end
# Disables the `expect` syntax.
#
# @api private
#
# source://rspec-expectations//lib/rspec/expectations/syntax.rb#80
def disable_expect(syntax_host = T.unsafe(nil)); end
# Disables the `should` syntax.
#
# @api private
#
# source://rspec-expectations//lib/rspec/expectations/syntax.rb#57
def disable_should(syntax_host = T.unsafe(nil)); end
# Enables the `expect` syntax.
#
# @api private
#
# source://rspec-expectations//lib/rspec/expectations/syntax.rb#68
def enable_expect(syntax_host = T.unsafe(nil)); end
# Enables the `should` syntax.
#
# @api private
#
# source://rspec-expectations//lib/rspec/expectations/syntax.rb#38
def enable_should(syntax_host = T.unsafe(nil)); end
# Indicates whether or not the `expect` syntax is enabled.
#
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/expectations/syntax.rb#96
def expect_enabled?(syntax_host = T.unsafe(nil)); end
# Indicates whether or not the `should` syntax is enabled.
#
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/expectations/syntax.rb#90
def should_enabled?(syntax_host = T.unsafe(nil)); end
# Instructs rspec-expectations to warn on first usage of `should` or `should_not`.
# Enabled by default. This is largely here to facilitate testing.
#
# @api private
#
# source://rspec-expectations//lib/rspec/expectations/syntax.rb#18
def warn_about_should!; end
# Generates a deprecation warning for the given method if no warning
# has already been issued.
#
# @api private
#
# source://rspec-expectations//lib/rspec/expectations/syntax.rb#25
def warn_about_should_unless_configured(method_name); end
end
end
# Validates the provided matcher to ensure it supports block
# expectations, in order to avoid user confusion when they
# use a block thinking the expectation will be on the return
# value of the block rather than the block itself.
#
# @private
#
# source://rspec-expectations//lib/rspec/expectations/expectation_target.rb#98
class RSpec::Expectations::ValueExpectationTarget < ::RSpec::Expectations::ExpectationTarget
# source://rspec-expectations//lib/rspec/expectations/expectation_target.rb#104
def not_to(matcher = T.unsafe(nil), message = T.unsafe(nil), &block); end
# source://rspec-expectations//lib/rspec/expectations/expectation_target.rb#99
def to(matcher = T.unsafe(nil), message = T.unsafe(nil), &block); end
private
# source://rspec-expectations//lib/rspec/expectations/expectation_target.rb#111
def enforce_value_expectation(matcher); end
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/expectations/expectation_target.rb#126
def supports_value_expectations?(matcher); end
end
# @private
#
# source://rspec-expectations//lib/rspec/expectations/version.rb#4
module RSpec::Expectations::Version; end
# source://rspec-expectations//lib/rspec/expectations/version.rb#5
RSpec::Expectations::Version::STRING = T.let(T.unsafe(nil), String)
# RSpec::Matchers provides a number of useful matchers we use to define
# expectations. Any object that implements the [matcher protocol](Matchers/MatcherProtocol)
# can be used as a matcher.
#
# ## Predicates
#
# In addition to matchers that are defined explicitly, RSpec will create
# custom matchers on the fly for any arbitrary predicate, giving your specs a
# much more natural language feel.
#
# A Ruby predicate is a method that ends with a "?" and returns true or false.
# Common examples are `empty?`, `nil?`, and `instance_of?`.
#
# All you need to do is write `expect(..).to be_` followed by the predicate
# without the question mark, and RSpec will figure it out from there.
# For example:
#
# expect([]).to be_empty # => [].empty?() | passes
# expect([]).not_to be_empty # => [].empty?() | fails
#
# In addition to prefixing the predicate matchers with "be_", you can also use "be_a_"
# and "be_an_", making your specs read much more naturally:
#
# expect("a string").to be_an_instance_of(String) # =>"a string".instance_of?(String) # passes
#
# expect(3).to be_a_kind_of(Integer) # => 3.kind_of?(Numeric) | passes
# expect(3).to be_a_kind_of(Numeric) # => 3.kind_of?(Numeric) | passes
# expect(3).to be_an_instance_of(Integer) # => 3.instance_of?(Integer) | passes
# expect(3).not_to be_an_instance_of(Numeric) # => 3.instance_of?(Numeric) | fails
#
# RSpec will also create custom matchers for predicates like `has_key?`. To
# use this feature, just state that the object should have_key(:key) and RSpec will
# call has_key?(:key) on the target. For example:
#
# expect(:a => "A").to have_key(:a)
# expect(:a => "A").to have_key(:b) # fails
#
# You can use this feature to invoke any predicate that begins with "has_", whether it is
# part of the Ruby libraries (like `Hash#has_key?`) or a method you wrote on your own class.
#
# Note that RSpec does not provide composable aliases for these dynamic predicate
# matchers. You can easily define your own aliases, though:
#
# RSpec::Matchers.alias_matcher :a_user_who_is_an_admin, :be_an_admin
# expect(user_list).to include(a_user_who_is_an_admin)
#
# ## Alias Matchers
#
# With {RSpec::Matchers.alias_matcher}, you can easily create an
# alternate name for a given matcher.
#
# The description will also change according to the new name:
#
# RSpec::Matchers.alias_matcher :a_list_that_sums_to, :sum_to
# sum_to(3).description # => "sum to 3"
# a_list_that_sums_to(3).description # => "a list that sums to 3"
#
# or you can specify a custom description like this:
#
# RSpec::Matchers.alias_matcher :a_list_sorted_by, :be_sorted_by do |description|
# description.sub("be sorted by", "a list sorted by")
# end
#
# be_sorted_by(:age).description # => "be sorted by age"
# a_list_sorted_by(:age).description # => "a list sorted by age"
#
# ## Custom Matchers
#
# When you find that none of the stock matchers provide a natural feeling
# expectation, you can very easily write your own using RSpec's matcher DSL
# or writing one from scratch.
#
# ### Matcher DSL
#
# Imagine that you are writing a game in which players can be in various
# zones on a virtual board. To specify that bob should be in zone 4, you
# could say:
#
# expect(bob.current_zone).to eql(Zone.new("4"))
#
# But you might find it more expressive to say:
#
# expect(bob).to be_in_zone("4")
#
# and/or
#
# expect(bob).not_to be_in_zone("3")
#
# You can create such a matcher like so:
#
# RSpec::Matchers.define :be_in_zone do |zone|
# match do |player|
# player.in_zone?(zone)
# end
# end
#
# This will generate a <tt>be_in_zone</tt> method that returns a matcher
# with logical default messages for failures. You can override the failure
# messages and the generated description as follows:
#
# RSpec::Matchers.define :be_in_zone do |zone|
# match do |player|
# player.in_zone?(zone)
# end
#
# failure_message do |player|
# # generate and return the appropriate string.
# end
#
# failure_message_when_negated do |player|
# # generate and return the appropriate string.
# end
#
# description do
# # generate and return the appropriate string.
# end
# end
#
# Each of the message-generation methods has access to the block arguments
# passed to the <tt>create</tt> method (in this case, <tt>zone</tt>). The
# failure message methods (<tt>failure_message</tt> and
# <tt>failure_message_when_negated</tt>) are passed the actual value (the
# receiver of <tt>expect(..)</tt> or <tt>expect(..).not_to</tt>).
#
# ### Custom Matcher from scratch
#
# You could also write a custom matcher from scratch, as follows:
#
# class BeInZone
# def initialize(expected)
# @expected = expected
# end
#
# def matches?(target)
# @target = target
# @target.current_zone.eql?(Zone.new(@expected))
# end
#
# def failure_message
# "expected #{@target.inspect} to be in Zone #{@expected}"
# end
#
# def failure_message_when_negated
# "expected #{@target.inspect} not to be in Zone #{@expected}"
# end
# end
#
# ... and a method like this:
#
# def be_in_zone(expected)
# BeInZone.new(expected)
# end
#
# And then expose the method to your specs. This is normally done
# by including the method and the class in a module, which is then
# included in your spec:
#
# module CustomGameMatchers
# class BeInZone
# # ...
# end
#
# def be_in_zone(expected)
# # ...
# end
# end
#
# describe "Player behaviour" do
# include CustomGameMatchers
# # ...
# end
#
# or you can include in globally in a spec_helper.rb file <tt>require</tt>d
# from your spec file(s):
#
# RSpec::configure do |config|
# config.include(CustomGameMatchers)
# end
#
# ### Making custom matchers composable
#
# RSpec's built-in matchers are designed to be composed, in expressions like:
#
# expect(["barn", 2.45]).to contain_exactly(
# a_value_within(0.1).of(2.5),
# a_string_starting_with("bar")
# )
#
# Custom matchers can easily participate in composed matcher expressions like these.
# Include {RSpec::Matchers::Composable} in your custom matcher to make it support
# being composed (matchers defined using the DSL have this included automatically).
# Within your matcher's `matches?` method (or the `match` block, if using the DSL),
# use `values_match?(expected, actual)` rather than `expected == actual`.
# Under the covers, `values_match?` is able to match arbitrary
# nested data structures containing a mix of both matchers and non-matcher objects.
# It uses `===` and `==` to perform the matching, considering the values to
# match if either returns `true`. The `Composable` mixin also provides some helper
# methods for surfacing the matcher descriptions within your matcher's description
# or failure messages.
#
# RSpec's built-in matchers each have a number of aliases that rephrase the matcher
# from a verb phrase (such as `be_within`) to a noun phrase (such as `a_value_within`),
# which reads better when the matcher is passed as an argument in a composed matcher
# expressions, and also uses the noun-phrase wording in the matcher's `description`,
# for readable failure messages. You can alias your custom matchers in similar fashion
# using {RSpec::Matchers.alias_matcher}.
#
# ## Negated Matchers
#
# Sometimes if you want to test for the opposite using a more descriptive name
# instead of using `not_to`, you can use {RSpec::Matchers.define_negated_matcher}:
#
# RSpec::Matchers.define_negated_matcher :exclude, :include
# include(1, 2).description # => "include 1 and 2"
# exclude(1, 2).description # => "exclude 1 and 2"
#
# While the most obvious negated form may be to add a `not_` prefix,
# the failure messages you get with that form can be confusing (e.g.
# "expected [actual] to not [verb], but did not"). We've found it works
# best to find a more positive name for the negated form, such as
# `avoid_changing` rather than `not_change`.
#
# source://rspec-expectations//lib/rspec/matchers/english_phrasing.rb#2
module RSpec::Matchers
extend ::RSpec::Matchers::DSL
# Applied to a proc, specifies that its execution will cause some value to
# change.
#
# You can either pass <tt>receiver</tt> and <tt>message</tt>, or a block,
# but not both.
#
# When passing a block, it must use the `{ ... }` format, not
# do/end, as `{ ... }` binds to the `change` method, whereas do/end
# would errantly bind to the `expect(..).to` or `expect(...).not_to` method.
#
# You can chain any of the following off of the end to specify details
# about the change:
#
# * `from`
# * `to`
#
# or any one of:
#
# * `by`
# * `by_at_least`
# * `by_at_most`
#
# == Notes
#
# Evaluates `receiver.message` or `block` before and after it
# evaluates the block passed to `expect`. If the value is the same
# object, its before/after `hash` value is used to see if it has changed.
# Therefore, your object needs to properly implement `hash` to work correctly
# with this matcher.
#
# `expect( ... ).not_to change` supports the form that specifies `from`
# (which specifies what you expect the starting, unchanged value to be)
# but does not support forms with subsequent calls to `by`, `by_at_least`,
# `by_at_most` or `to`.
#
# @example
# expect {
# team.add_player(player)
# }.to change(roster, :count)
#
# expect {
# team.add_player(player)
# }.to change(roster, :count).by(1)
#
# expect {
# team.add_player(player)
# }.to change(roster, :count).by_at_least(1)
#
# expect {
# team.add_player(player)
# }.to change(roster, :count).by_at_most(1)
#
# string = "string"
# expect {
# string.reverse!
# }.to change { string }.from("string").to("gnirts")
#
# string = "string"
# expect {
# string
# }.not_to change { string }.from("string")
#
# expect {
# person.happy_birthday
# }.to change(person, :birthday).from(32).to(33)
#
# expect {
# employee.develop_great_new_social_networking_app
# }.to change(employee, :title).from("Mail Clerk").to("CEO")
#
# expect {
# doctor.leave_office
# }.to change(doctor, :sign).from(/is in/).to(/is out/)
#
# user = User.new(:type => "admin")
# expect {
# user.symbolize_type
# }.to change(user, :type).from(String).to(Symbol)
# @param receiver [Object]
# @param message [Symbol] the message to send the receiver
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
def a_block_changing(*args, **_arg1, &block); end
# With no arg, passes if the block outputs `to_stdout` or `to_stderr`.
# With a string, passes if the block outputs that specific string `to_stdout` or `to_stderr`.
# With a regexp or matcher, passes if the block outputs a string `to_stdout` or `to_stderr` that matches.
#
# To capture output from any spawned subprocess as well, use `to_stdout_from_any_process` or
# `to_stderr_from_any_process`. Output from any process that inherits the main process's corresponding
# standard stream will be captured.
#
# @example
# expect { print 'foo' }.to output.to_stdout
# expect { print 'foo' }.to output('foo').to_stdout
# expect { print 'foo' }.to output(/foo/).to_stdout
#
# expect { do_something }.to_not output.to_stdout
#
# expect { warn('foo') }.to output.to_stderr
# expect { warn('foo') }.to output('foo').to_stderr
# expect { warn('foo') }.to output(/foo/).to_stderr
#
# expect { do_something }.to_not output.to_stderr
#
# expect { system('echo foo') }.to output("foo\n").to_stdout_from_any_process
# expect { system('echo foo', out: :err) }.to output("foo\n").to_stderr_from_any_process
# @note `to_stdout` and `to_stderr` work by temporarily replacing `$stdout` or `$stderr`,
# so they're not able to intercept stream output that explicitly uses `STDOUT`/`STDERR`
# or that uses a reference to `$stdout`/`$stderr` that was stored before the
# matcher was used.
# @note `to_stdout_from_any_process` and `to_stderr_from_any_process` use Tempfiles, and
# are thus significantly (~30x) slower than `to_stdout` and `to_stderr`.
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
def a_block_outputting(*args, **_arg1, &block); end
# With no args, matches if any error is raised.
# With a named error, matches only if that specific error is raised.
# With a named error and message specified as a String, matches only if both match.
# With a named error and message specified as a Regexp, matches only if both match.
# Pass an optional block to perform extra verifications on the exception matched
#
# @example
# expect { do_something_risky }.to raise_error
# expect { do_something_risky }.to raise_error(PoorRiskDecisionError)
# expect { do_something_risky }.to raise_error(PoorRiskDecisionError) { |error| expect(error.data).to eq 42 }
# expect { do_something_risky }.to raise_error { |error| expect(error.data).to eq 42 }
# expect { do_something_risky }.to raise_error(PoorRiskDecisionError, "that was too risky")
# expect { do_something_risky }.to raise_error(PoorRiskDecisionError, /oo ri/)
# expect { do_something_risky }.to raise_error("that was too risky")
#
# expect { do_something_risky }.not_to raise_error
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
def a_block_raising(*args, **_arg1, &block); end
# Given no argument, matches if a proc throws any Symbol.
#
# Given a Symbol, matches if the given proc throws the specified Symbol.
#
# Given a Symbol and an arg, matches if the given proc throws the
# specified Symbol with the specified arg.
#
# @example
# expect { do_something_risky }.to throw_symbol
# expect { do_something_risky }.to throw_symbol(:that_was_risky)
# expect { do_something_risky }.to throw_symbol(:that_was_risky, 'culprit')
#
# expect { do_something_risky }.not_to throw_symbol
# expect { do_something_risky }.not_to throw_symbol(:that_was_risky)
# expect { do_something_risky }.not_to throw_symbol(:that_was_risky, 'culprit')
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
def a_block_throwing(*args, **_arg1, &block); end
# Passes if the method called in the expect block yields, regardless
# of whether or not arguments are yielded.
#
# @example
# expect { |b| 5.tap(&b) }.to yield_control
# expect { |b| "a".to_sym(&b) }.not_to yield_control
# @note Your expect block must accept a parameter and pass it on to
# the method-under-test as a block.
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
def a_block_yielding_control(*args, **_arg1, &block); end
# Designed for use with methods that repeatedly yield (such as
# iterators). Passes if the method called in the expect block yields
# multiple times with arguments matching those given.
#
# Argument matching is done using `===` (the case match operator)
# and `==`. If the expected and actual arguments match with either
# operator, the matcher will pass.
#
# @example
# expect { |b| [1, 2, 3].each(&b) }.to yield_successive_args(1, 2, 3)
# expect { |b| { :a => 1, :b => 2 }.each(&b) }.to yield_successive_args([:a, 1], [:b, 2])
# expect { |b| [1, 2, 3].each(&b) }.not_to yield_successive_args(1, 2)
# @note Your expect block must accept a parameter and pass it on to
# the method-under-test as a block.
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
def a_block_yielding_successive_args(*args, **_arg1, &block); end
# Given no arguments, matches if the method called in the expect
# block yields with arguments (regardless of what they are or how
# many there are).
#
# Given arguments, matches if the method called in the expect block
# yields with arguments that match the given arguments.
#
# Argument matching is done using `===` (the case match operator)
# and `==`. If the expected and actual arguments match with either
# operator, the matcher will pass.
#
# @example
# expect { |b| 5.tap(&b) }.to yield_with_args # because #tap yields an arg
# expect { |b| 5.tap(&b) }.to yield_with_args(5) # because 5 == 5
# expect { |b| 5.tap(&b) }.to yield_with_args(Integer) # because Integer === 5
# expect { |b| File.open("f.txt", &b) }.to yield_with_args(/txt/) # because /txt/ === "f.txt"
#
# expect { |b| User.transaction(&b) }.not_to yield_with_args # because it yields no args
# expect { |b| 5.tap(&b) }.not_to yield_with_args(1, 2, 3)
# @note Your expect block must accept a parameter and pass it on to
# the method-under-test as a block.
# @note This matcher is not designed for use with methods that yield
# multiple times.
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
def a_block_yielding_with_args(*args, **_arg1, &block); end
# Passes if the method called in the expect block yields with
# no arguments. Fails if it does not yield, or yields with arguments.
#
# @example
# expect { |b| User.transaction(&b) }.to yield_with_no_args
# expect { |b| 5.tap(&b) }.not_to yield_with_no_args # because it yields with `5`
# expect { |b| "a".to_sym(&b) }.not_to yield_with_no_args # because it does not yield
# @note Your expect block must accept a parameter and pass it on to
# the method-under-test as a block.
# @note This matcher is not designed for use with methods that yield
# multiple times.
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
def a_block_yielding_with_no_args(*args, **_arg1, &block); end
# Passes if actual contains all of the expected regardless of order.
# This works for collections. Pass in multiple args and it will only
# pass if all args are found in collection.
#
# @example
# expect([1, 2, 3]).to contain_exactly(1, 2, 3)
# expect([1, 2, 3]).to contain_exactly(1, 3, 2)
# @note This is also available using the `=~` operator with `should`,
# but `=~` is not supported with `expect`.
# @see #match_array
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
def a_collection_containing_exactly(*args, **_arg1, &block); end
# Matches if the actual value ends with the expected value(s). In the case
# of a string, matches against the last `expected.length` characters of the
# actual string. In the case of an array, matches against the last
# `expected.length` elements of the actual array.
#
# @example
# expect("this string").to end_with "string"
# expect([0, 1, 2, 3, 4]).to end_with 4
# expect([0, 2, 3, 4, 4]).to end_with 3, 4
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
def a_collection_ending_with(*args, **_arg1, &block); end
# Passes if actual includes expected. This works for
# collections and Strings. You can also pass in multiple args
# and it will only pass if all args are found in collection.
#
# @example
# expect([1,2,3]).to include(3)
# expect([1,2,3]).to include(2,3)
# expect([1,2,3]).to include(2,3,4) # fails
# expect([1,2,3]).not_to include(4)
# expect("spread").to include("read")
# expect("spread").not_to include("red")
# expect(:a => 1, :b => 2).to include(:a)
# expect(:a => 1, :b => 2).to include(:a, :b)
# expect(:a => 1, :b => 2).to include(:a => 1)
# expect(:a => 1, :b => 2).to include(:b => 2, :a => 1)
# expect(:a => 1, :b => 2).to include(:c) # fails
# expect(:a => 1, :b => 2).not_to include(:a => 2)
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
def a_collection_including(*args, **_arg1, &block); end
# Matches if the actual value starts with the expected value(s). In the
# case of a string, matches against the first `expected.length` characters
# of the actual string. In the case of an array, matches against the first
# `expected.length` elements of the actual array.
#
# @example
# expect("this string").to start_with "this s"
# expect([0, 1, 2, 3, 4]).to start_with 0
# expect([0, 2, 3, 4, 4]).to start_with 0, 1
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
def a_collection_starting_with(*args, **_arg1, &block); end
# Passes if actual is falsey (false or nil)
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
def a_falsey_value(*args, **_arg1, &block); end
# Passes if actual is falsey (false or nil)
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
def a_falsy_value(*args, **_arg1, &block); end
# Passes if actual includes expected. This works for
# collections and Strings. You can also pass in multiple args
# and it will only pass if all args are found in collection.
#
# @example
# expect([1,2,3]).to include(3)
# expect([1,2,3]).to include(2,3)
# expect([1,2,3]).to include(2,3,4) # fails
# expect([1,2,3]).not_to include(4)
# expect("spread").to include("read")
# expect("spread").not_to include("red")
# expect(:a => 1, :b => 2).to include(:a)
# expect(:a => 1, :b => 2).to include(:a, :b)
# expect(:a => 1, :b => 2).to include(:a => 1)
# expect(:a => 1, :b => 2).to include(:b => 2, :a => 1)
# expect(:a => 1, :b => 2).to include(:c) # fails
# expect(:a => 1, :b => 2).not_to include(:a => 2)
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
def a_hash_including(*args, **_arg1, &block); end
# Passes if actual.kind_of?(expected)
#
# @example
# expect(5).to be_a_kind_of(Integer)
# expect(5).to be_a_kind_of(Numeric)
# expect(5).not_to be_a_kind_of(Float)
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
def a_kind_of(*args, **_arg1, &block); end
# Passes if actual is nil
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
def a_nil_value(*args, **_arg1, &block); end
# Passes if actual covers expected. This works for
# Ranges. You can also pass in multiple args
# and it will only pass if all args are found in Range.
#
# ### Warning:: Ruby >= 1.9 only
#
# @example
# expect(1..10).to cover(5)
# expect(1..10).to cover(4, 6)
# expect(1..10).to cover(4, 6, 11) # fails
# expect(1..10).not_to cover(11)
# expect(1..10).not_to cover(5) # fails
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
def a_range_covering(*args, **_arg1, &block); end
# Matches if the actual value ends with the expected value(s). In the case
# of a string, matches against the last `expected.length` characters of the
# actual string. In the case of an array, matches against the last
# `expected.length` elements of the actual array.
#
# @example
# expect("this string").to end_with "string"
# expect([0, 1, 2, 3, 4]).to end_with 4
# expect([0, 2, 3, 4, 4]).to end_with 3, 4
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
def a_string_ending_with(*args, **_arg1, &block); end
# Passes if actual includes expected. This works for
# collections and Strings. You can also pass in multiple args
# and it will only pass if all args are found in collection.
#
# @example
# expect([1,2,3]).to include(3)
# expect([1,2,3]).to include(2,3)
# expect([1,2,3]).to include(2,3,4) # fails
# expect([1,2,3]).not_to include(4)
# expect("spread").to include("read")
# expect("spread").not_to include("red")
# expect(:a => 1, :b => 2).to include(:a)
# expect(:a => 1, :b => 2).to include(:a, :b)
# expect(:a => 1, :b => 2).to include(:a => 1)
# expect(:a => 1, :b => 2).to include(:b => 2, :a => 1)
# expect(:a => 1, :b => 2).to include(:c) # fails
# expect(:a => 1, :b => 2).not_to include(:a => 2)
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
def a_string_including(*args, **_arg1, &block); end
# Given a `Regexp` or `String`, passes if `actual.match(pattern)`
# Given an arbitrary nested data structure (e.g. arrays and hashes),
# matches if `expected === actual` || `actual == expected` for each
# pair of elements.
#
# @example
# expect(email).to match(/^([^\s]+)((?:[-a-z0-9]+\.)+[a-z]{2,})$/i)
# expect(email).to match("@example.com")
# @example
# hash = {
# :a => {
# :b => ["foo", 5],
# :c => { :d => 2.05 }
# }
# }
#
# expect(hash).to match(
# :a => {
# :b => a_collection_containing_exactly(
# a_string_starting_with("f"),
# an_instance_of(Integer)
# ),
# :c => { :d => (a_value < 3) }
# }
# )
# @note The `match_regex` alias is deprecated and is not recommended for use.
# It was added in 2.12.1 to facilitate its use from within custom
# matchers (due to how the custom matcher DSL was evaluated in 2.x,
# `match` could not be used there), but is no longer needed in 3.x.
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
def a_string_matching(*args, **_arg1, &block); end
# Matches if the actual value starts with the expected value(s). In the
# case of a string, matches against the first `expected.length` characters
# of the actual string. In the case of an array, matches against the first
# `expected.length` elements of the actual array.
#
# @example
# expect("this string").to start_with "this s"
# expect([0, 1, 2, 3, 4]).to start_with 0
# expect([0, 2, 3, 4, 4]).to start_with 0, 1
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
def a_string_starting_with(*args, **_arg1, &block); end
# Passes if actual is truthy (anything but false or nil)
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
def a_truthy_value(*args, **_arg1, &block); end
# Given true, false, or nil, will pass if actual value is true, false or
# nil (respectively). Given no args means the caller should satisfy an if
# condition (to be or not to be).
#
# Predicates are any Ruby method that ends in a "?" and returns true or
# false. Given be_ followed by arbitrary_predicate (without the "?"),
# RSpec will match convert that into a query against the target object.
#
# The arbitrary_predicate feature will handle any predicate prefixed with
# "be_an_" (e.g. be_an_instance_of), "be_a_" (e.g. be_a_kind_of) or "be_"
# (e.g. be_empty), letting you choose the prefix that best suits the
# predicate.
#
# @example
# expect(actual).to be_truthy
# expect(actual).to be_falsey
# expect(actual).to be_nil
# expect(actual).to be_[arbitrary_predicate](*args)
# expect(actual).not_to be_nil
# expect(actual).not_to be_[arbitrary_predicate](*args)
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
def a_value(*args, **_arg1, &block); end
# Passes if actual.between?(min, max). Works with any Comparable object,
# including String, Symbol, Time, or Numeric (Fixnum, Bignum, Integer,
# Float, Complex, and Rational).
#
# By default, `be_between` is inclusive (i.e. passes when given either the max or min value),
# but you can make it `exclusive` by chaining that off the matcher.
#
# @example
# expect(5).to be_between(1, 10)
# expect(11).not_to be_between(1, 10)
# expect(10).not_to be_between(1, 10).exclusive
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
def a_value_between(*args, **_arg1, &block); end
# Passes if actual == expected +/- delta
#
# @example
# expect(result).to be_within(0.5).of(3.0)
# expect(result).not_to be_within(0.5).of(3.0)
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
def a_value_within(*args, **_arg1, &block); end
# Allows multiple expectations in the provided block to fail, and then
# aggregates them into a single exception, rather than aborting on the
# first expectation failure like normal. This allows you to see all
# failures from an entire set of expectations without splitting each
# off into its own example (which may slow things down if the example
# setup is expensive).
#
# @example
# aggregate_failures("verifying response") do
# expect(response.status).to eq(200)
# expect(response.headers).to include("Content-Type" => "text/plain")
# expect(response.body).to include("Success")
# end
# @note The implementation of this feature uses a thread-local variable,
# which means that if you have an expectation failure in another thread,
# it'll abort like normal.
# @param label [String] label for this aggregation block, which will be
# included in the aggregated exception message.
# @param metadata [Hash] additional metadata about this failure aggregation
# block. If multiple expectations fail, it will be exposed from the
# {Expectations::MultipleExpectationsNotMetError} exception. Mostly
# intended for internal RSpec use but you can use it as well.
# @raise [Expectations::MultipleExpectationsNotMetError] raised when
# multiple expectations fail.
# @raise [Expectations::ExpectationNotMetError] raised when a single
# expectation fails.
# @raise [Exception] other sorts of exceptions will be raised as normal.
# @yield Block containing as many expectation as you want. The block is
# simply yielded to, so you can trust that anything that works outside
# the block should work within it.
#
# source://rspec-expectations//lib/rspec/matchers.rb#305
def aggregate_failures(label = T.unsafe(nil), metadata = T.unsafe(nil), &block); end
# Passes if the provided matcher passes when checked against all
# elements of the collection.
#
# @example
# expect([1, 3, 5]).to all be_odd
# expect([1, 3, 6]).to all be_odd # fails
# @example
# expect([1, 3, 5]).to all( be_odd.and be_an(Integer) )
# @note The negative form `not_to all` is not supported. Instead
# use `not_to include` or pass a negative form of a matcher
# as the argument (e.g. `all exclude(:foo)`).
# @note You can also use this with compound matchers as well.
#
# source://rspec-expectations//lib/rspec/matchers.rb#662
def all(expected); end
# An alternate form of `contain_exactly` that accepts
# the expected contents as a single array arg rather
# than splatted out as individual items.
#
# @example
# expect(results).to contain_exactly(1, 2)
# # is identical to:
# expect(results).to match_array([1, 2])
# @see #contain_exactly
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
def an_array_matching(*args, **_arg1, &block); end
# Passes if actual.instance_of?(expected)
#
# @example
# expect(5).to be_an_instance_of(Integer)
# expect(5).not_to be_an_instance_of(Numeric)
# expect(5).not_to be_an_instance_of(Float)
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
def an_instance_of(*args, **_arg1, &block); end
# Passes if <tt>actual == expected</tt>.
#
# See http://www.ruby-doc.org/core/classes/Object.html#M001057 for more
# information about equality in Ruby.
#
# @example
# expect(5).to eq(5)
# expect(5).not_to eq(3)
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
def an_object_eq_to(*args, **_arg1, &block); end
# Passes if `actual.eql?(expected)`
#
# See http://www.ruby-doc.org/core/classes/Object.html#M001057 for more
# information about equality in Ruby.
#
# @example
# expect(5).to eql(5)
# expect(5).not_to eql(3)
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
def an_object_eql_to(*args, **_arg1, &block); end
# Passes if <tt>actual.equal?(expected)</tt> (object identity).
#
# See http://www.ruby-doc.org/core/classes/Object.html#M001057 for more
# information about equality in Ruby.
#
# @example
# expect(5).to equal(5) # Integers are equal
# expect("5").not_to equal("5") # Strings that look the same are not the same object
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
def an_object_equal_to(*args, **_arg1, &block); end
# Passes if `actual.exist?` or `actual.exists?`
#
# @example
# expect(File).to exist("path/to/file")
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
def an_object_existing(*args, **_arg1, &block); end
# Passes if actual's attribute values match the expected attributes hash.
# This works no matter how you define your attribute readers.
#
# @example
# Person = Struct.new(:name, :age)
# person = Person.new("Bob", 32)
#
# expect(person).to have_attributes(:name => "Bob", :age => 32)
# expect(person).to have_attributes(:name => a_string_starting_with("B"), :age => (a_value > 30) )
# @example
# expect(person).to have_attributes(:color => "red")
# @note It will fail if actual doesn't respond to any of the expected attributes.
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
def an_object_having_attributes(*args, **_arg1, &block); end
# Given a `Regexp` or `String`, passes if `actual.match(pattern)`
# Given an arbitrary nested data structure (e.g. arrays and hashes),
# matches if `expected === actual` || `actual == expected` for each
# pair of elements.
#
# @example
# expect(email).to match(/^([^\s]+)((?:[-a-z0-9]+\.)+[a-z]{2,})$/i)
# expect(email).to match("@example.com")
# @example
# hash = {
# :a => {
# :b => ["foo", 5],
# :c => { :d => 2.05 }
# }
# }
#
# expect(hash).to match(
# :a => {
# :b => a_collection_containing_exactly(
# a_string_starting_with("f"),
# an_instance_of(Integer)
# ),
# :c => { :d => (a_value < 3) }
# }
# )
# @note The `match_regex` alias is deprecated and is not recommended for use.
# It was added in 2.12.1 to facilitate its use from within custom
# matchers (due to how the custom matcher DSL was evaluated in 2.x,
# `match` could not be used there), but is no longer needed in 3.x.
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
def an_object_matching(*args, **_arg1, &block); end
# Matches if the target object responds to all of the names
# provided. Names can be Strings or Symbols.
#
# @example
# expect("string").to respond_to(:length)
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
def an_object_responding_to(*args, **_arg1, &block); end
# Passes if the submitted block returns true. Yields target to the
# block.
#
# Generally speaking, this should be thought of as a last resort when
# you can't find any other way to specify the behaviour you wish to
# specify.
#
# If you do find yourself in such a situation, you could always write
# a custom matcher, which would likely make your specs more expressive.
#
# @example
# expect(5).to satisfy { |n| n > 3 }
# expect(5).to satisfy("be greater than 3") { |n| n > 3 }
# @param description [String] optional description to be used for this matcher.
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
def an_object_satisfying(*args, **_arg1, &block); end
# Given true, false, or nil, will pass if actual value is true, false or
# nil (respectively). Given no args means the caller should satisfy an if
# condition (to be or not to be).
#
# Predicates are any Ruby method that ends in a "?" and returns true or
# false. Given be_ followed by arbitrary_predicate (without the "?"),
# RSpec will match convert that into a query against the target object.
#
# The arbitrary_predicate feature will handle any predicate prefixed with
# "be_an_" (e.g. be_an_instance_of), "be_a_" (e.g. be_a_kind_of) or "be_"
# (e.g. be_empty), letting you choose the prefix that best suits the
# predicate.
#
# @example
# expect(actual).to be_truthy
# expect(actual).to be_falsey
# expect(actual).to be_nil
# expect(actual).to be_[arbitrary_predicate](*args)
# expect(actual).not_to be_nil
# expect(actual).not_to be_[arbitrary_predicate](*args)
#
# source://rspec-expectations//lib/rspec/matchers.rb#349
def be(*args); end
# passes if target.kind_of?(klass)
#
# source://rspec-expectations//lib/rspec/matchers.rb#355
def be_a(klass); end
# Passes if actual.kind_of?(expected)
#
# @example
# expect(5).to be_a_kind_of(Integer)
# expect(5).to be_a_kind_of(Numeric)
# expect(5).not_to be_a_kind_of(Float)
#
# source://rspec-expectations//lib/rspec/matchers.rb#378
def be_a_kind_of(expected); end
# passes if target.kind_of?(klass)
#
# source://rspec-expectations//lib/rspec/matchers.rb#355
def be_an(klass); end
# Passes if actual.instance_of?(expected)
#
# @example
# expect(5).to be_an_instance_of(Integer)
# expect(5).not_to be_an_instance_of(Numeric)
# expect(5).not_to be_an_instance_of(Float)
#
# source://rspec-expectations//lib/rspec/matchers.rb#366
def be_an_instance_of(expected); end
# Passes if actual.between?(min, max). Works with any Comparable object,
# including String, Symbol, Time, or Numeric (Fixnum, Bignum, Integer,
# Float, Complex, and Rational).
#
# By default, `be_between` is inclusive (i.e. passes when given either the max or min value),
# but you can make it `exclusive` by chaining that off the matcher.
#
# @example
# expect(5).to be_between(1, 10)
# expect(11).not_to be_between(1, 10)
# expect(10).not_to be_between(1, 10).exclusive
#
# source://rspec-expectations//lib/rspec/matchers.rb#395
def be_between(min, max); end
# Passes if actual is falsey (false or nil)
#
# source://rspec-expectations//lib/rspec/matchers.rb#316
def be_falsey; end
# Passes if actual is falsey (false or nil)
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
def be_falsy(*args, **_arg1, &block); end
# Passes if actual.instance_of?(expected)
#
# @example
# expect(5).to be_an_instance_of(Integer)
# expect(5).not_to be_an_instance_of(Numeric)
# expect(5).not_to be_an_instance_of(Float)
#
# source://rspec-expectations//lib/rspec/matchers.rb#366
def be_instance_of(expected); end
# Passes if actual.kind_of?(expected)
#
# @example
# expect(5).to be_a_kind_of(Integer)
# expect(5).to be_a_kind_of(Numeric)
# expect(5).not_to be_a_kind_of(Float)
#
# source://rspec-expectations//lib/rspec/matchers.rb#378
def be_kind_of(expected); end
# Passes if actual is nil
#
# source://rspec-expectations//lib/rspec/matchers.rb#324
def be_nil; end
# Passes if actual is truthy (anything but false or nil)
#
# source://rspec-expectations//lib/rspec/matchers.rb#310
def be_truthy; end
# Passes if actual == expected +/- delta
#
# @example
# expect(result).to be_within(0.5).of(3.0)
# expect(result).not_to be_within(0.5).of(3.0)
#
# source://rspec-expectations//lib/rspec/matchers.rb#405
def be_within(delta); end
# Applied to a proc, specifies that its execution will cause some value to
# change.
#
# You can either pass <tt>receiver</tt> and <tt>message</tt>, or a block,
# but not both.
#
# When passing a block, it must use the `{ ... }` format, not
# do/end, as `{ ... }` binds to the `change` method, whereas do/end
# would errantly bind to the `expect(..).to` or `expect(...).not_to` method.
#
# You can chain any of the following off of the end to specify details
# about the change:
#
# * `from`
# * `to`
#
# or any one of:
#
# * `by`
# * `by_at_least`
# * `by_at_most`
#
# == Notes
#
# Evaluates `receiver.message` or `block` before and after it
# evaluates the block passed to `expect`. If the value is the same
# object, its before/after `hash` value is used to see if it has changed.
# Therefore, your object needs to properly implement `hash` to work correctly
# with this matcher.
#
# `expect( ... ).not_to change` supports the form that specifies `from`
# (which specifies what you expect the starting, unchanged value to be)
# but does not support forms with subsequent calls to `by`, `by_at_least`,
# `by_at_most` or `to`.
#
# @example
# expect {
# team.add_player(player)
# }.to change(roster, :count)
#
# expect {
# team.add_player(player)
# }.to change(roster, :count).by(1)
#
# expect {
# team.add_player(player)
# }.to change(roster, :count).by_at_least(1)
#
# expect {
# team.add_player(player)
# }.to change(roster, :count).by_at_most(1)
#
# string = "string"
# expect {
# string.reverse!
# }.to change { string }.from("string").to("gnirts")
#
# string = "string"
# expect {
# string
# }.not_to change { string }.from("string")
#
# expect {
# person.happy_birthday
# }.to change(person, :birthday).from(32).to(33)
#
# expect {
# employee.develop_great_new_social_networking_app
# }.to change(employee, :title).from("Mail Clerk").to("CEO")
#
# expect {
# doctor.leave_office
# }.to change(doctor, :sign).from(/is in/).to(/is out/)
#
# user = User.new(:type => "admin")
# expect {
# user.symbolize_type
# }.to change(user, :type).from(String).to(Symbol)
# @param receiver [Object]
# @param message [Symbol] the message to send the receiver
#
# source://rspec-expectations//lib/rspec/matchers.rb#492
def change(receiver = T.unsafe(nil), message = T.unsafe(nil), &block); end
# Applied to a proc, specifies that its execution will cause some value to
# change.
#
# You can either pass <tt>receiver</tt> and <tt>message</tt>, or a block,
# but not both.
#
# When passing a block, it must use the `{ ... }` format, not
# do/end, as `{ ... }` binds to the `change` method, whereas do/end
# would errantly bind to the `expect(..).to` or `expect(...).not_to` method.
#
# You can chain any of the following off of the end to specify details
# about the change:
#
# * `from`
# * `to`
#
# or any one of:
#
# * `by`
# * `by_at_least`
# * `by_at_most`
#
# == Notes
#
# Evaluates `receiver.message` or `block` before and after it
# evaluates the block passed to `expect`. If the value is the same
# object, its before/after `hash` value is used to see if it has changed.
# Therefore, your object needs to properly implement `hash` to work correctly
# with this matcher.
#
# `expect( ... ).not_to change` supports the form that specifies `from`
# (which specifies what you expect the starting, unchanged value to be)
# but does not support forms with subsequent calls to `by`, `by_at_least`,
# `by_at_most` or `to`.
#
# @example
# expect {
# team.add_player(player)
# }.to change(roster, :count)
#
# expect {
# team.add_player(player)
# }.to change(roster, :count).by(1)
#
# expect {
# team.add_player(player)
# }.to change(roster, :count).by_at_least(1)
#
# expect {
# team.add_player(player)
# }.to change(roster, :count).by_at_most(1)
#
# string = "string"
# expect {
# string.reverse!
# }.to change { string }.from("string").to("gnirts")
#
# string = "string"
# expect {
# string
# }.not_to change { string }.from("string")
#
# expect {
# person.happy_birthday
# }.to change(person, :birthday).from(32).to(33)
#
# expect {
# employee.develop_great_new_social_networking_app
# }.to change(employee, :title).from("Mail Clerk").to("CEO")
#
# expect {
# doctor.leave_office
# }.to change(doctor, :sign).from(/is in/).to(/is out/)
#
# user = User.new(:type => "admin")
# expect {
# user.symbolize_type
# }.to change(user, :type).from(String).to(Symbol)
# @param receiver [Object]
# @param message [Symbol] the message to send the receiver
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
def changing(*args, **_arg1, &block); end
# Passes if actual contains all of the expected regardless of order.
# This works for collections. Pass in multiple args and it will only
# pass if all args are found in collection.
#
# @example
# expect([1, 2, 3]).to contain_exactly(1, 2, 3)
# expect([1, 2, 3]).to contain_exactly(1, 3, 2)
# @note This is also available using the `=~` operator with `should`,
# but `=~` is not supported with `expect`.
# @see #match_array
#
# source://rspec-expectations//lib/rspec/matchers.rb#510
def contain_exactly(*items); end
# Passes if actual contains all of the expected regardless of order.
# This works for collections. Pass in multiple args and it will only
# pass if all args are found in collection.
#
# @example
# expect([1, 2, 3]).to contain_exactly(1, 2, 3)
# expect([1, 2, 3]).to contain_exactly(1, 3, 2)
# @note This is also available using the `=~` operator with `should`,
# but `=~` is not supported with `expect`.
# @see #match_array
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
def containing_exactly(*args, **_arg1, &block); end
# Passes if actual covers expected. This works for
# Ranges. You can also pass in multiple args
# and it will only pass if all args are found in Range.
#
# ### Warning:: Ruby >= 1.9 only
#
# @example
# expect(1..10).to cover(5)
# expect(1..10).to cover(4, 6)
# expect(1..10).to cover(4, 6, 11) # fails
# expect(1..10).not_to cover(11)
# expect(1..10).not_to cover(5) # fails
#
# source://rspec-expectations//lib/rspec/matchers.rb#528
def cover(*values); end
# Passes if actual covers expected. This works for
# Ranges. You can also pass in multiple args
# and it will only pass if all args are found in Range.
#
# ### Warning:: Ruby >= 1.9 only
#
# @example
# expect(1..10).to cover(5)
# expect(1..10).to cover(4, 6)
# expect(1..10).to cover(4, 6, 11) # fails
# expect(1..10).not_to cover(11)
# expect(1..10).not_to cover(5) # fails
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
def covering(*args, **_arg1, &block); end
# Matches if the actual value ends with the expected value(s). In the case
# of a string, matches against the last `expected.length` characters of the
# actual string. In the case of an array, matches against the last
# `expected.length` elements of the actual array.
#
# @example
# expect("this string").to end_with "string"
# expect([0, 1, 2, 3, 4]).to end_with 4
# expect([0, 2, 3, 4, 4]).to end_with 3, 4
#
# source://rspec-expectations//lib/rspec/matchers.rb#543
def end_with(*expected); end
# Matches if the actual value ends with the expected value(s). In the case
# of a string, matches against the last `expected.length` characters of the
# actual string. In the case of an array, matches against the last
# `expected.length` elements of the actual array.
#
# @example
# expect("this string").to end_with "string"
# expect([0, 1, 2, 3, 4]).to end_with 4
# expect([0, 2, 3, 4, 4]).to end_with 3, 4
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
def ending_with(*args, **_arg1, &block); end
# Passes if <tt>actual == expected</tt>.
#
# See http://www.ruby-doc.org/core/classes/Object.html#M001057 for more
# information about equality in Ruby.
#
# @example
# expect(5).to eq(5)
# expect(5).not_to eq(3)
#
# source://rspec-expectations//lib/rspec/matchers.rb#558
def eq(expected); end
# Passes if <tt>actual == expected</tt>.
#
# See http://www.ruby-doc.org/core/classes/Object.html#M001057 for more
# information about equality in Ruby.
#
# @example
# expect(5).to eq(5)
# expect(5).not_to eq(3)
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
def eq_to(*args, **_arg1, &block); end
# Passes if `actual.eql?(expected)`
#
# See http://www.ruby-doc.org/core/classes/Object.html#M001057 for more
# information about equality in Ruby.
#
# @example
# expect(5).to eql(5)
# expect(5).not_to eql(3)
#
# source://rspec-expectations//lib/rspec/matchers.rb#572
def eql(expected); end
# Passes if `actual.eql?(expected)`
#
# See http://www.ruby-doc.org/core/classes/Object.html#M001057 for more
# information about equality in Ruby.
#
# @example
# expect(5).to eql(5)
# expect(5).not_to eql(3)
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
def eql_to(*args, **_arg1, &block); end
# Passes if <tt>actual.equal?(expected)</tt> (object identity).
#
# See http://www.ruby-doc.org/core/classes/Object.html#M001057 for more
# information about equality in Ruby.
#
# @example
# expect(5).to equal(5) # Integers are equal
# expect("5").not_to equal("5") # Strings that look the same are not the same object
#
# source://rspec-expectations//lib/rspec/matchers.rb#586
def equal(expected); end
# Passes if <tt>actual.equal?(expected)</tt> (object identity).
#
# See http://www.ruby-doc.org/core/classes/Object.html#M001057 for more
# information about equality in Ruby.
#
# @example
# expect(5).to equal(5) # Integers are equal
# expect("5").not_to equal("5") # Strings that look the same are not the same object
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
def equal_to(*args, **_arg1, &block); end
# Passes if `actual.exist?` or `actual.exists?`
#
# @example
# expect(File).to exist("path/to/file")
#
# source://rspec-expectations//lib/rspec/matchers.rb#596
def exist(*args); end
# Passes if `actual.exist?` or `actual.exists?`
#
# @example
# expect(File).to exist("path/to/file")
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
def existing(*args, **_arg1, &block); end
# Supports `expect(actual).to matcher` syntax by wrapping `actual` in an
# `ExpectationTarget`.
#
# @example
# expect(actual).to eq(expected)
# expect(actual).not_to eq(expected)
# @return [Expectations::ExpectationTarget]
# @see Expectations::ExpectationTarget#to
# @see Expectations::ExpectationTarget#not_to
#
# source://rspec-expectations//lib/rspec/expectations/syntax.rb#72
def expect(value = T.unsafe(nil), &block); end
# Passes if actual's attribute values match the expected attributes hash.
# This works no matter how you define your attribute readers.
#
# @example
# Person = Struct.new(:name, :age)
# person = Person.new("Bob", 32)
#
# expect(person).to have_attributes(:name => "Bob", :age => 32)
# expect(person).to have_attributes(:name => a_string_starting_with("B"), :age => (a_value > 30) )
# @example
# expect(person).to have_attributes(:color => "red")
# @note It will fail if actual doesn't respond to any of the expected attributes.
#
# source://rspec-expectations//lib/rspec/matchers.rb#616
def have_attributes(expected); end
# Passes if actual's attribute values match the expected attributes hash.
# This works no matter how you define your attribute readers.
#
# @example
# Person = Struct.new(:name, :age)
# person = Person.new("Bob", 32)
#
# expect(person).to have_attributes(:name => "Bob", :age => 32)
# expect(person).to have_attributes(:name => a_string_starting_with("B"), :age => (a_value > 30) )
# @example
# expect(person).to have_attributes(:color => "red")
# @note It will fail if actual doesn't respond to any of the expected attributes.
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
def having_attributes(*args, **_arg1, &block); end
# Passes if actual includes expected. This works for
# collections and Strings. You can also pass in multiple args
# and it will only pass if all args are found in collection.
#
# @example
# expect([1,2,3]).to include(3)
# expect([1,2,3]).to include(2,3)
# expect([1,2,3]).to include(2,3,4) # fails
# expect([1,2,3]).not_to include(4)
# expect("spread").to include("read")
# expect("spread").not_to include("red")
# expect(:a => 1, :b => 2).to include(:a)
# expect(:a => 1, :b => 2).to include(:a, :b)
# expect(:a => 1, :b => 2).to include(:a => 1)
# expect(:a => 1, :b => 2).to include(:b => 2, :a => 1)
# expect(:a => 1, :b => 2).to include(:c) # fails
# expect(:a => 1, :b => 2).not_to include(:a => 2)
#
# source://rspec-expectations//lib/rspec/matchers.rb#639
def include(*expected); end
# Passes if actual includes expected. This works for
# collections and Strings. You can also pass in multiple args
# and it will only pass if all args are found in collection.
#
# @example
# expect([1,2,3]).to include(3)
# expect([1,2,3]).to include(2,3)
# expect([1,2,3]).to include(2,3,4) # fails
# expect([1,2,3]).not_to include(4)
# expect("spread").to include("read")
# expect("spread").not_to include("red")
# expect(:a => 1, :b => 2).to include(:a)
# expect(:a => 1, :b => 2).to include(:a, :b)
# expect(:a => 1, :b => 2).to include(:a => 1)
# expect(:a => 1, :b => 2).to include(:b => 2, :a => 1)
# expect(:a => 1, :b => 2).to include(:c) # fails
# expect(:a => 1, :b => 2).not_to include(:a => 2)
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
def including(*args, **_arg1, &block); end
# Given a `Regexp` or `String`, passes if `actual.match(pattern)`
# Given an arbitrary nested data structure (e.g. arrays and hashes),
# matches if `expected === actual` || `actual == expected` for each
# pair of elements.
#
# @example
# expect(email).to match(/^([^\s]+)((?:[-a-z0-9]+\.)+[a-z]{2,})$/i)
# expect(email).to match("@example.com")
# @example
# hash = {
# :a => {
# :b => ["foo", 5],
# :c => { :d => 2.05 }
# }
# }
#
# expect(hash).to match(
# :a => {
# :b => a_collection_containing_exactly(
# a_string_starting_with("f"),
# an_instance_of(Integer)
# ),
# :c => { :d => (a_value < 3) }
# }
# )
# @note The `match_regex` alias is deprecated and is not recommended for use.
# It was added in 2.12.1 to facilitate its use from within custom
# matchers (due to how the custom matcher DSL was evaluated in 2.x,
# `match` could not be used there), but is no longer needed in 3.x.
#
# source://rspec-expectations//lib/rspec/matchers.rb#697
def match(expected); end
# An alternate form of `contain_exactly` that accepts
# the expected contents as a single array arg rather
# than splatted out as individual items.
#
# @example
# expect(results).to contain_exactly(1, 2)
# # is identical to:
# expect(results).to match_array([1, 2])
# @see #contain_exactly
#
# source://rspec-expectations//lib/rspec/matchers.rb#715
def match_array(items); end
# Given a `Regexp` or `String`, passes if `actual.match(pattern)`
# Given an arbitrary nested data structure (e.g. arrays and hashes),
# matches if `expected === actual` || `actual == expected` for each
# pair of elements.
#
# @example
# expect(email).to match(/^([^\s]+)((?:[-a-z0-9]+\.)+[a-z]{2,})$/i)
# expect(email).to match("@example.com")
# @example
# hash = {
# :a => {
# :b => ["foo", 5],
# :c => { :d => 2.05 }
# }
# }
#
# expect(hash).to match(
# :a => {
# :b => a_collection_containing_exactly(
# a_string_starting_with("f"),
# an_instance_of(Integer)
# ),
# :c => { :d => (a_value < 3) }
# }
# )
# @note The `match_regex` alias is deprecated and is not recommended for use.
# It was added in 2.12.1 to facilitate its use from within custom
# matchers (due to how the custom matcher DSL was evaluated in 2.x,
# `match` could not be used there), but is no longer needed in 3.x.
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
def match_regex(*args, **_arg1, &block); end
# Given a `Regexp` or `String`, passes if `actual.match(pattern)`
# Given an arbitrary nested data structure (e.g. arrays and hashes),
# matches if `expected === actual` || `actual == expected` for each
# pair of elements.
#
# @example
# expect(email).to match(/^([^\s]+)((?:[-a-z0-9]+\.)+[a-z]{2,})$/i)
# expect(email).to match("@example.com")
# @example
# hash = {
# :a => {
# :b => ["foo", 5],
# :c => { :d => 2.05 }
# }
# }
#
# expect(hash).to match(
# :a => {
# :b => a_collection_containing_exactly(
# a_string_starting_with("f"),
# an_instance_of(Integer)
# ),
# :c => { :d => (a_value < 3) }
# }
# )
# @note The `match_regex` alias is deprecated and is not recommended for use.
# It was added in 2.12.1 to facilitate its use from within custom
# matchers (due to how the custom matcher DSL was evaluated in 2.x,
# `match` could not be used there), but is no longer needed in 3.x.
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
def matching(*args, **_arg1, &block); end
# With no arg, passes if the block outputs `to_stdout` or `to_stderr`.
# With a string, passes if the block outputs that specific string `to_stdout` or `to_stderr`.
# With a regexp or matcher, passes if the block outputs a string `to_stdout` or `to_stderr` that matches.
#
# To capture output from any spawned subprocess as well, use `to_stdout_from_any_process` or
# `to_stderr_from_any_process`. Output from any process that inherits the main process's corresponding
# standard stream will be captured.
#
# @example
# expect { print 'foo' }.to output.to_stdout
# expect { print 'foo' }.to output('foo').to_stdout
# expect { print 'foo' }.to output(/foo/).to_stdout
#
# expect { do_something }.to_not output.to_stdout
#
# expect { warn('foo') }.to output.to_stderr
# expect { warn('foo') }.to output('foo').to_stderr
# expect { warn('foo') }.to output(/foo/).to_stderr
#
# expect { do_something }.to_not output.to_stderr
#
# expect { system('echo foo') }.to output("foo\n").to_stdout_from_any_process
# expect { system('echo foo', out: :err) }.to output("foo\n").to_stderr_from_any_process
# @note `to_stdout` and `to_stderr` work by temporarily replacing `$stdout` or `$stderr`,
# so they're not able to intercept stream output that explicitly uses `STDOUT`/`STDERR`
# or that uses a reference to `$stdout`/`$stderr` that was stored before the
# matcher was used.
# @note `to_stdout_from_any_process` and `to_stderr_from_any_process` use Tempfiles, and
# are thus significantly (~30x) slower than `to_stdout` and `to_stderr`.
#
# source://rspec-expectations//lib/rspec/matchers.rb#752
def output(expected = T.unsafe(nil)); end
# With no args, matches if any error is raised.
# With a named error, matches only if that specific error is raised.
# With a named error and message specified as a String, matches only if both match.
# With a named error and message specified as a Regexp, matches only if both match.
# Pass an optional block to perform extra verifications on the exception matched
#
# @example
# expect { do_something_risky }.to raise_error
# expect { do_something_risky }.to raise_error(PoorRiskDecisionError)
# expect { do_something_risky }.to raise_error(PoorRiskDecisionError) { |error| expect(error.data).to eq 42 }
# expect { do_something_risky }.to raise_error { |error| expect(error.data).to eq 42 }
# expect { do_something_risky }.to raise_error(PoorRiskDecisionError, "that was too risky")
# expect { do_something_risky }.to raise_error(PoorRiskDecisionError, /oo ri/)
# expect { do_something_risky }.to raise_error("that was too risky")
#
# expect { do_something_risky }.not_to raise_error
#
# source://rspec-expectations//lib/rspec/matchers.rb#773
def raise_error(error = T.unsafe(nil), message = T.unsafe(nil), &block); end
# With no args, matches if any error is raised.
# With a named error, matches only if that specific error is raised.
# With a named error and message specified as a String, matches only if both match.
# With a named error and message specified as a Regexp, matches only if both match.
# Pass an optional block to perform extra verifications on the exception matched
#
# @example
# expect { do_something_risky }.to raise_error
# expect { do_something_risky }.to raise_error(PoorRiskDecisionError)
# expect { do_something_risky }.to raise_error(PoorRiskDecisionError) { |error| expect(error.data).to eq 42 }
# expect { do_something_risky }.to raise_error { |error| expect(error.data).to eq 42 }
# expect { do_something_risky }.to raise_error(PoorRiskDecisionError, "that was too risky")
# expect { do_something_risky }.to raise_error(PoorRiskDecisionError, /oo ri/)
# expect { do_something_risky }.to raise_error("that was too risky")
#
# expect { do_something_risky }.not_to raise_error
#
# source://rspec-expectations//lib/rspec/matchers.rb#773
def raise_exception(error = T.unsafe(nil), message = T.unsafe(nil), &block); end
# With no args, matches if any error is raised.
# With a named error, matches only if that specific error is raised.
# With a named error and message specified as a String, matches only if both match.
# With a named error and message specified as a Regexp, matches only if both match.
# Pass an optional block to perform extra verifications on the exception matched
#
# @example
# expect { do_something_risky }.to raise_error
# expect { do_something_risky }.to raise_error(PoorRiskDecisionError)
# expect { do_something_risky }.to raise_error(PoorRiskDecisionError) { |error| expect(error.data).to eq 42 }
# expect { do_something_risky }.to raise_error { |error| expect(error.data).to eq 42 }
# expect { do_something_risky }.to raise_error(PoorRiskDecisionError, "that was too risky")
# expect { do_something_risky }.to raise_error(PoorRiskDecisionError, /oo ri/)
# expect { do_something_risky }.to raise_error("that was too risky")
#
# expect { do_something_risky }.not_to raise_error
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
def raising(*args, **_arg1, &block); end
# Matches if the target object responds to all of the names
# provided. Names can be Strings or Symbols.
#
# @example
# expect("string").to respond_to(:length)
#
# source://rspec-expectations//lib/rspec/matchers.rb#792
def respond_to(*names); end
# Matches if the target object responds to all of the names
# provided. Names can be Strings or Symbols.
#
# @example
# expect("string").to respond_to(:length)
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
def responding_to(*args, **_arg1, &block); end
# Passes if the submitted block returns true. Yields target to the
# block.
#
# Generally speaking, this should be thought of as a last resort when
# you can't find any other way to specify the behaviour you wish to
# specify.
#
# If you do find yourself in such a situation, you could always write
# a custom matcher, which would likely make your specs more expressive.
#
# @example
# expect(5).to satisfy { |n| n > 3 }
# expect(5).to satisfy("be greater than 3") { |n| n > 3 }
# @param description [String] optional description to be used for this matcher.
#
# source://rspec-expectations//lib/rspec/matchers.rb#813
def satisfy(description = T.unsafe(nil), &block); end
# Passes if the submitted block returns true. Yields target to the
# block.
#
# Generally speaking, this should be thought of as a last resort when
# you can't find any other way to specify the behaviour you wish to
# specify.
#
# If you do find yourself in such a situation, you could always write
# a custom matcher, which would likely make your specs more expressive.
#
# @example
# expect(5).to satisfy { |n| n > 3 }
# expect(5).to satisfy("be greater than 3") { |n| n > 3 }
# @param description [String] optional description to be used for this matcher.
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
def satisfying(*args, **_arg1, &block); end
# Matches if the actual value starts with the expected value(s). In the
# case of a string, matches against the first `expected.length` characters
# of the actual string. In the case of an array, matches against the first
# `expected.length` elements of the actual array.
#
# @example
# expect("this string").to start_with "this s"
# expect([0, 1, 2, 3, 4]).to start_with 0
# expect([0, 2, 3, 4, 4]).to start_with 0, 1
#
# source://rspec-expectations//lib/rspec/matchers.rb#828
def start_with(*expected); end
# Matches if the actual value starts with the expected value(s). In the
# case of a string, matches against the first `expected.length` characters
# of the actual string. In the case of an array, matches against the first
# `expected.length` elements of the actual array.
#
# @example
# expect("this string").to start_with "this s"
# expect([0, 1, 2, 3, 4]).to start_with 0
# expect([0, 2, 3, 4, 4]).to start_with 0, 1
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
def starting_with(*args, **_arg1, &block); end
# Given no argument, matches if a proc throws any Symbol.
#
# Given a Symbol, matches if the given proc throws the specified Symbol.
#
# Given a Symbol and an arg, matches if the given proc throws the
# specified Symbol with the specified arg.
#
# @example
# expect { do_something_risky }.to throw_symbol
# expect { do_something_risky }.to throw_symbol(:that_was_risky)
# expect { do_something_risky }.to throw_symbol(:that_was_risky, 'culprit')
#
# expect { do_something_risky }.not_to throw_symbol
# expect { do_something_risky }.not_to throw_symbol(:that_was_risky)
# expect { do_something_risky }.not_to throw_symbol(:that_was_risky, 'culprit')
#
# source://rspec-expectations//lib/rspec/matchers.rb#850
def throw_symbol(expected_symbol = T.unsafe(nil), expected_arg = T.unsafe(nil)); end
# Given no argument, matches if a proc throws any Symbol.
#
# Given a Symbol, matches if the given proc throws the specified Symbol.
#
# Given a Symbol and an arg, matches if the given proc throws the
# specified Symbol with the specified arg.
#
# @example
# expect { do_something_risky }.to throw_symbol
# expect { do_something_risky }.to throw_symbol(:that_was_risky)
# expect { do_something_risky }.to throw_symbol(:that_was_risky, 'culprit')
#
# expect { do_something_risky }.not_to throw_symbol
# expect { do_something_risky }.not_to throw_symbol(:that_was_risky)
# expect { do_something_risky }.not_to throw_symbol(:that_was_risky, 'culprit')
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
def throwing(*args, **_arg1, &block); end
# Passes if actual == expected +/- delta
#
# @example
# expect(result).to be_within(0.5).of(3.0)
# expect(result).not_to be_within(0.5).of(3.0)
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
def within(*args, **_arg1, &block); end
# Passes if the method called in the expect block yields, regardless
# of whether or not arguments are yielded.
#
# @example
# expect { |b| 5.tap(&b) }.to yield_control
# expect { |b| "a".to_sym(&b) }.not_to yield_control
# @note Your expect block must accept a parameter and pass it on to
# the method-under-test as a block.
#
# source://rspec-expectations//lib/rspec/matchers.rb#871
def yield_control; end
# Designed for use with methods that repeatedly yield (such as
# iterators). Passes if the method called in the expect block yields
# multiple times with arguments matching those given.
#
# Argument matching is done using `===` (the case match operator)
# and `==`. If the expected and actual arguments match with either
# operator, the matcher will pass.
#
# @example
# expect { |b| [1, 2, 3].each(&b) }.to yield_successive_args(1, 2, 3)
# expect { |b| { :a => 1, :b => 2 }.each(&b) }.to yield_successive_args([:a, 1], [:b, 2])
# expect { |b| [1, 2, 3].each(&b) }.not_to yield_successive_args(1, 2)
# @note Your expect block must accept a parameter and pass it on to
# the method-under-test as a block.
#
# source://rspec-expectations//lib/rspec/matchers.rb#940
def yield_successive_args(*args); end
# Given no arguments, matches if the method called in the expect
# block yields with arguments (regardless of what they are or how
# many there are).
#
# Given arguments, matches if the method called in the expect block
# yields with arguments that match the given arguments.
#
# Argument matching is done using `===` (the case match operator)
# and `==`. If the expected and actual arguments match with either
# operator, the matcher will pass.
#
# @example
# expect { |b| 5.tap(&b) }.to yield_with_args # because #tap yields an arg
# expect { |b| 5.tap(&b) }.to yield_with_args(5) # because 5 == 5
# expect { |b| 5.tap(&b) }.to yield_with_args(Integer) # because Integer === 5
# expect { |b| File.open("f.txt", &b) }.to yield_with_args(/txt/) # because /txt/ === "f.txt"
#
# expect { |b| User.transaction(&b) }.not_to yield_with_args # because it yields no args
# expect { |b| 5.tap(&b) }.not_to yield_with_args(1, 2, 3)
# @note Your expect block must accept a parameter and pass it on to
# the method-under-test as a block.
# @note This matcher is not designed for use with methods that yield
# multiple times.
#
# source://rspec-expectations//lib/rspec/matchers.rb#919
def yield_with_args(*args); end
# Passes if the method called in the expect block yields with
# no arguments. Fails if it does not yield, or yields with arguments.
#
# @example
# expect { |b| User.transaction(&b) }.to yield_with_no_args
# expect { |b| 5.tap(&b) }.not_to yield_with_no_args # because it yields with `5`
# expect { |b| "a".to_sym(&b) }.not_to yield_with_no_args # because it does not yield
# @note Your expect block must accept a parameter and pass it on to
# the method-under-test as a block.
# @note This matcher is not designed for use with methods that yield
# multiple times.
#
# source://rspec-expectations//lib/rspec/matchers.rb#889
def yield_with_no_args; end
# Passes if the method called in the expect block yields, regardless
# of whether or not arguments are yielded.
#
# @example
# expect { |b| 5.tap(&b) }.to yield_control
# expect { |b| "a".to_sym(&b) }.not_to yield_control
# @note Your expect block must accept a parameter and pass it on to
# the method-under-test as a block.
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
def yielding_control(*args, **_arg1, &block); end
# Designed for use with methods that repeatedly yield (such as
# iterators). Passes if the method called in the expect block yields
# multiple times with arguments matching those given.
#
# Argument matching is done using `===` (the case match operator)
# and `==`. If the expected and actual arguments match with either
# operator, the matcher will pass.
#
# @example
# expect { |b| [1, 2, 3].each(&b) }.to yield_successive_args(1, 2, 3)
# expect { |b| { :a => 1, :b => 2 }.each(&b) }.to yield_successive_args([:a, 1], [:b, 2])
# expect { |b| [1, 2, 3].each(&b) }.not_to yield_successive_args(1, 2)
# @note Your expect block must accept a parameter and pass it on to
# the method-under-test as a block.
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
def yielding_successive_args(*args, **_arg1, &block); end
# Given no arguments, matches if the method called in the expect
# block yields with arguments (regardless of what they are or how
# many there are).
#
# Given arguments, matches if the method called in the expect block
# yields with arguments that match the given arguments.
#
# Argument matching is done using `===` (the case match operator)
# and `==`. If the expected and actual arguments match with either
# operator, the matcher will pass.
#
# @example
# expect { |b| 5.tap(&b) }.to yield_with_args # because #tap yields an arg
# expect { |b| 5.tap(&b) }.to yield_with_args(5) # because 5 == 5
# expect { |b| 5.tap(&b) }.to yield_with_args(Integer) # because Integer === 5
# expect { |b| File.open("f.txt", &b) }.to yield_with_args(/txt/) # because /txt/ === "f.txt"
#
# expect { |b| User.transaction(&b) }.not_to yield_with_args # because it yields no args
# expect { |b| 5.tap(&b) }.not_to yield_with_args(1, 2, 3)
# @note Your expect block must accept a parameter and pass it on to
# the method-under-test as a block.
# @note This matcher is not designed for use with methods that yield
# multiple times.
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
def yielding_with_args(*args, **_arg1, &block); end
# Passes if the method called in the expect block yields with
# no arguments. Fails if it does not yield, or yields with arguments.
#
# @example
# expect { |b| User.transaction(&b) }.to yield_with_no_args
# expect { |b| 5.tap(&b) }.not_to yield_with_no_args # because it yields with `5`
# expect { |b| "a".to_sym(&b) }.not_to yield_with_no_args # because it does not yield
# @note Your expect block must accept a parameter and pass it on to
# the method-under-test as a block.
# @note This matcher is not designed for use with methods that yield
# multiple times.
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
def yielding_with_no_args(*args, **_arg1, &block); end
private
# source://rspec-expectations//lib/rspec/matchers.rb#961
def method_missing(method, *args, **_arg2, &block); end
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers.rb#974
def respond_to_missing?(method, *_arg1); end
class << self
# Extended from {RSpec::Matchers::DSL#alias_matcher}.
#
# source://rspec-expectations//lib/rspec/matchers.rb#250
def alias_matcher(*args, &block); end
# Used by rspec-core to clear the state used to generate
# descriptions after an example.
#
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/generated_descriptions.rb#11
def clear_generated_description; end
# Delegates to {RSpec::Expectations.configuration}.
# This is here because rspec-core's `expect_with` option
# looks for a `configuration` method on the mixin
# (`RSpec::Matchers`) to yield to a block.
#
# @return [RSpec::Expectations::Configuration] the configuration object
#
# source://rspec-expectations//lib/rspec/matchers.rb#951
def configuration; end
# Generates an an example description based on the last expectation.
# Used by rspec-core's one-liner syntax.
#
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/generated_descriptions.rb#19
def generated_description; end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers.rb#1008
def is_a_describable_matcher?(obj); end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers.rb#988
def is_a_matcher?(obj); end
# @private
#
# source://rspec-expectations//lib/rspec/matchers/generated_descriptions.rb#25
def last_description; end
# @private
#
# source://rspec-expectations//lib/rspec/matchers/generated_descriptions.rb#5
def last_expectation_handler; end
# @private
#
# source://rspec-expectations//lib/rspec/matchers/generated_descriptions.rb#5
def last_expectation_handler=(_arg0); end
# @private
#
# source://rspec-expectations//lib/rspec/matchers/generated_descriptions.rb#5
def last_matcher; end
# @private
#
# source://rspec-expectations//lib/rspec/matchers/generated_descriptions.rb#5
def last_matcher=(_arg0); end
end
end
# Decorator that wraps a matcher and overrides `description`
# using the provided block in order to support an alias
# of a matcher. This is intended for use when composing
# matchers, so that you can use an expression like
# `include( a_value_within(0.1).of(3) )` rather than
# `include( be_within(0.1).of(3) )`, and have the corresponding
# description read naturally.
#
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/aliased_matcher.rb#12
class RSpec::Matchers::AliasedMatcher < ::RSpec::Matchers::MatcherDelegator
# @api private
# @return [AliasedMatcher] a new instance of AliasedMatcher
#
# source://rspec-expectations//lib/rspec/matchers/aliased_matcher.rb#13
def initialize(base_matcher, description_block); end
# Provides the description of the aliased matcher. Aliased matchers
# are designed to behave identically to the original matcher except
# for the description and failure messages. The description is different
# to reflect the aliased name.
#
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/aliased_matcher.rb#36
def description; end
# Provides the failure_message of the aliased matcher. Aliased matchers
# are designed to behave identically to the original matcher except
# for the description and failure messages. The failure_message is different
# to reflect the aliased name.
#
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/aliased_matcher.rb#46
def failure_message; end
# Provides the failure_message_when_negated of the aliased matcher. Aliased matchers
# are designed to behave identically to the original matcher except
# for the description and failure messages. The failure_message_when_negated is different
# to reflect the aliased name.
#
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/aliased_matcher.rb#56
def failure_message_when_negated; end
# Forward messages on to the wrapped matcher.
# Since many matchers provide a fluent interface
# (e.g. `a_value_within(0.1).of(3)`), we need to wrap
# the returned value if it responds to `description`,
# so that our override can be applied when it is eventually
# used.
#
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/aliased_matcher.rb#24
def method_missing(*_arg0); end
end
# Decorator used for matchers that have special implementations of
# operators like `==` and `===`.
#
# @private
#
# source://rspec-expectations//lib/rspec/matchers/aliased_matcher.rb#64
class RSpec::Matchers::AliasedMatcherWithOperatorSupport < ::RSpec::Matchers::AliasedMatcher; end
# @private
#
# source://rspec-expectations//lib/rspec/matchers/aliased_matcher.rb#71
class RSpec::Matchers::AliasedNegatedMatcher < ::RSpec::Matchers::AliasedMatcher
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/aliased_matcher.rb#80
def does_not_match?(*args, &block); end
# source://rspec-expectations//lib/rspec/matchers/aliased_matcher.rb#84
def failure_message; end
# source://rspec-expectations//lib/rspec/matchers/aliased_matcher.rb#88
def failure_message_when_negated; end
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/aliased_matcher.rb#72
def matches?(*args, &block); end
private
# For a matcher that uses the default failure messages, we prefer to
# use the override provided by the `description_block`, because it
# includes the phrasing that the user has expressed a preference for
# by going through the effort of defining a negated matcher.
#
# However, if the override didn't actually change anything, then we
# should return the opposite failure message instead -- the overridden
# message is going to be confusing if we return it as-is, as it represents
# the non-negated failure message for a negated match (or vice versa).
#
# source://rspec-expectations//lib/rspec/matchers/aliased_matcher.rb#105
def optimal_failure_message(same, inverted); end
end
# source://rspec-expectations//lib/rspec/matchers/aliased_matcher.rb#94
RSpec::Matchers::AliasedNegatedMatcher::DefaultFailureMessages = RSpec::Matchers::BuiltIn::BaseMatcher::DefaultFailureMessages
# source://rspec-expectations//lib/rspec/matchers.rb#957
RSpec::Matchers::BE_PREDICATE_REGEX = T.let(T.unsafe(nil), Regexp)
# Provides a base class with as little methods as possible, so that
# most methods can be delegated via `method_missing`.
#
# On Ruby 2.0+ BasicObject could be used for this purpose, but it
# introduce some extra complexity with constant resolution, so the
# BlankSlate pattern was prefered.
#
# @private
#
# source://rspec-expectations//lib/rspec/matchers/matcher_delegator.rb#10
class RSpec::Matchers::BaseDelegator; end
# Container module for all built-in matchers. The matcher classes are here
# (rather than directly under `RSpec::Matchers`) in order to prevent name
# collisions, since `RSpec::Matchers` gets included into the user's namespace.
#
# Autoloading is used to delay when the matcher classes get loaded, allowing
# rspec-matchers to boot faster, and avoiding loading matchers the user is
# not using.
#
# source://rspec-expectations//lib/rspec/matchers/built_in/base_matcher.rb#3
module RSpec::Matchers::BuiltIn; end
# Provides the implementation for `all`.
# Not intended to be instantiated directly.
#
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/all.rb#7
class RSpec::Matchers::BuiltIn::All < ::RSpec::Matchers::BuiltIn::BaseMatcher
# @api private
# @return [All] a new instance of All
#
# source://rspec-expectations//lib/rspec/matchers/built_in/all.rb#11
def initialize(matcher); end
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/all.rb#37
def description; end
# @api private
# @private
# @raise [NotImplementedError]
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/all.rb#17
def does_not_match?(_actual); end
# @api private
# @private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/all.rb#9
def failed_objects; end
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/all.rb#23
def failure_message; end
# @api private
# @private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/all.rb#9
def matcher; end
private
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/all.rb#63
def add_new_line_if_needed(message); end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/all.rb#58
def failure_message_for_item(index, failure_message); end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/all.rb#67
def indent_multiline_message(message); end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/all.rb#50
def index_failed_objects; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/all.rb#74
def initialize_copy(other); end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/all.rb#80
def iterable?; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/all.rb#43
def match(_expected, _actual); end
end
# Used _internally_ as a base class for matchers that ship with
# rspec-expectations and rspec-rails.
#
# ### Warning:
#
# This class is for internal use, and subject to change without notice.
# We strongly recommend that you do not base your custom matchers on this
# class. If/when this changes, we will announce it and remove this warning.
#
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/base_matcher.rb#14
class RSpec::Matchers::BuiltIn::BaseMatcher
include ::RSpec::Matchers::Composable
include ::RSpec::Matchers::BuiltIn::BaseMatcher::HashFormatting
include ::RSpec::Matchers::BuiltIn::BaseMatcher::StringEncodingFormatting
include ::RSpec::Matchers::BuiltIn::BaseMatcher::DefaultFailureMessages
# @api private
# @return [BaseMatcher] a new instance of BaseMatcher
#
# source://rspec-expectations//lib/rspec/matchers/built_in/base_matcher.rb#28
def initialize(expected = T.unsafe(nil)); end
# @api private
# @private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/base_matcher.rb#23
def actual; end
# @api private
# @private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/base_matcher.rb#97
def actual_formatted; end
# Generates a description using {EnglishPhrasing}.
#
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/base_matcher.rb#60
def description; end
# Matchers are not diffable by default. Override this to make your
# subclass diffable.
#
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/base_matcher.rb#69
def diffable?; end
# @api private
# @private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/base_matcher.rb#23
def expected; end
# @api private
# @private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/base_matcher.rb#92
def expected_formatted; end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/base_matcher.rb#87
def expects_call_stack_jump?; end
# Used to wrap a block of code that will indicate failure by
# raising one of the named exceptions.
#
# This is used by rspec-rails for some of its matchers that
# wrap rails' assertions.
#
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/base_matcher.rb#47
def match_unless_raises(*exceptions); end
# @api private
# @private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/base_matcher.rb#107
def matcher_name; end
# @api private
# @private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/base_matcher.rb#26
def matcher_name=(_arg0); end
# Indicates if the match is successful. Delegates to `match`, which
# should be defined on a subclass. Takes care of consistently
# initializing the `actual` attribute.
#
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/base_matcher.rb#36
def matches?(actual); end
# :nocov:
#
# @api private
def present_ivars; end
# @api private
# @private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/base_matcher.rb#23
def rescued_exception; end
# 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. Block matchers must override this to return true.
#
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/base_matcher.rb#77
def supports_block_expectations?; end
# @api private
# @private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/base_matcher.rb#82
def supports_value_expectations?; end
private
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/base_matcher.rb#129
def assert_ivars(*expected_ivars); end
class << self
# @api private
# @private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/base_matcher.rb#102
def matcher_name; end
private
# Borrowed from ActiveSupport.
#
# @api private
# @private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/base_matcher.rb#117
def underscore(camel_cased_word); end
end
end
# Provides default implementations of failure messages, based on the `description`.
#
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/base_matcher.rb#207
module RSpec::Matchers::BuiltIn::BaseMatcher::DefaultFailureMessages
# Provides a good generic failure message. Based on `description`.
# When subclassing, if you are not satisfied with this failure message
# you often only need to override `description`.
#
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/base_matcher.rb#213
def failure_message; end
# Provides a good generic negative failure message. Based on `description`.
# When subclassing, if you are not satisfied with this failure message
# you often only need to override `description`.
#
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/base_matcher.rb#222
def failure_message_when_negated; end
class << self
# @api private
# @private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/base_matcher.rb#227
def has_default_failure_messages?(matcher); end
end
end
# @api private
# @private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/base_matcher.rb#146
module RSpec::Matchers::BuiltIn::BaseMatcher::HashFormatting
private
# `{ :a => 5, :b => 2 }.inspect` produces:
#
# {:a=>5, :b=>2}
#
# ...but it looks much better as:
#
# {:a => 5, :b => 2}
#
# This is idempotent and safe to run on a string multiple times.
#
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/base_matcher.rb#156
def improve_hash_formatting(inspect_string); end
class << self
# `{ :a => 5, :b => 2 }.inspect` produces:
#
# {:a=>5, :b=>2}
#
# ...but it looks much better as:
#
# {:a => 5, :b => 2}
#
# This is idempotent and safe to run on a string multiple times.
#
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/base_matcher.rb#156
def improve_hash_formatting(inspect_string); end
end
end
# @api private
# @private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/base_matcher.rb#165
module RSpec::Matchers::BuiltIn::BaseMatcher::StringEncodingFormatting
private
# Formats a String's encoding as a human readable string
#
# @api private
# @param _value [String]
# @return [nil] nil as the curent Ruby version does not support String encoding
#
# source://rspec-expectations//lib/rspec/matchers/built_in/base_matcher.rb#188
def format_encoding(value); end
# @api private
# @return [Boolean] False always as the curent Ruby version does not support String encoding
#
# source://rspec-expectations//lib/rspec/matchers/built_in/base_matcher.rb#171
def string_encoding_differs?; end
class << self
# Formats a String's encoding as a human readable string
#
# @api private
# @param _value [String]
# @return [nil] nil as the curent Ruby version does not support String encoding
#
# source://rspec-expectations//lib/rspec/matchers/built_in/base_matcher.rb#188
def format_encoding(value); end
# @api private
# @return [Boolean] False always as the curent Ruby version does not support String encoding
#
# source://rspec-expectations//lib/rspec/matchers/built_in/base_matcher.rb#171
def string_encoding_differs?; end
end
end
# Used to detect when no arg is passed to `initialize`.
# `nil` cannot be used because it's a valid value to pass.
#
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/base_matcher.rb#20
RSpec::Matchers::BuiltIn::BaseMatcher::UNDEFINED = T.let(T.unsafe(nil), Object)
# Provides the implementation for `be`.
# Not intended to be instantiated directly.
#
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/be.rb#101
class RSpec::Matchers::BuiltIn::Be < ::RSpec::Matchers::BuiltIn::BaseMatcher
include ::RSpec::Matchers::BuiltIn::BeHelpers
# @api private
# @return [Be] a new instance of Be
#
# source://rspec-expectations//lib/rspec/matchers/built_in/be.rb#104
def initialize(*args); end
# source://rspec-expectations//lib/rspec/matchers/built_in/be.rb#121
def <(operand); end
# source://rspec-expectations//lib/rspec/matchers/built_in/be.rb#121
def <=(operand); end
# source://rspec-expectations//lib/rspec/matchers/built_in/be.rb#121
def ==(operand); end
# source://rspec-expectations//lib/rspec/matchers/built_in/be.rb#121
def ===(operand); end
# source://rspec-expectations//lib/rspec/matchers/built_in/be.rb#121
def =~(operand); end
# source://rspec-expectations//lib/rspec/matchers/built_in/be.rb#121
def >(operand); end
# source://rspec-expectations//lib/rspec/matchers/built_in/be.rb#121
def >=(operand); end
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/be.rb#110
def failure_message; end
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/be.rb#116
def failure_message_when_negated; end
private
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/be.rb#128
def match(_, actual); end
end
# Provides the implementation for `be_a_kind_of`.
# Not intended to be instantiated directly.
#
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/be_kind_of.rb#7
class RSpec::Matchers::BuiltIn::BeAKindOf < ::RSpec::Matchers::BuiltIn::BaseMatcher
private
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/be_kind_of.rb#10
def match(expected, actual); end
end
# Provides the implementation for `be_an_instance_of`.
# Not intended to be instantiated directly.
#
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/be_instance_of.rb#7
class RSpec::Matchers::BuiltIn::BeAnInstanceOf < ::RSpec::Matchers::BuiltIn::BaseMatcher
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/be_instance_of.rb#10
def description; end
private
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/be_instance_of.rb#16
def match(expected, actual); end
end
# Provides the implementation for `be_between`.
# Not intended to be instantiated directly.
#
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/be_between.rb#7
class RSpec::Matchers::BuiltIn::BeBetween < ::RSpec::Matchers::BuiltIn::BaseMatcher
# @api private
# @return [BeBetween] a new instance of BeBetween
#
# source://rspec-expectations//lib/rspec/matchers/built_in/be_between.rb#8
def initialize(min, max); end
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/be_between.rb#57
def description; end
# Makes the between comparison exclusive.
#
# @api public
# @example
# expect(3).to be_between(2, 4).exclusive
#
# source://rspec-expectations//lib/rspec/matchers/built_in/be_between.rb#33
def exclusive; end
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/be_between.rb#51
def failure_message; end
# Makes the between comparison inclusive.
#
# @api public
# @example
# expect(3).to be_between(2, 3).inclusive
# @note The matcher is inclusive by default; this simply provides
# a way to be more explicit about it.
#
# source://rspec-expectations//lib/rspec/matchers/built_in/be_between.rb#21
def inclusive; end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/be_between.rb#42
def matches?(actual); end
private
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/be_between.rb#63
def comparable?; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/be_between.rb#71
def compare; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/be_between.rb#67
def not_comparable_clause; end
end
# Provides the implementation of `be <operator> value`.
# Not intended to be instantiated directly.
#
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/be.rb#136
class RSpec::Matchers::BuiltIn::BeComparedTo < ::RSpec::Matchers::BuiltIn::BaseMatcher
include ::RSpec::Matchers::BuiltIn::BeHelpers
# @api private
# @return [BeComparedTo] a new instance of BeComparedTo
#
# source://rspec-expectations//lib/rspec/matchers/built_in/be.rb#139
def initialize(operand, operator); end
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/be.rb#178
def description; end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/be.rb#151
def does_not_match?(actual); end
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/be.rb#159
def failure_message; end
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/be.rb#166
def failure_message_when_negated; end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/be.rb#145
def matches?(actual); end
private
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/be.rb#184
def perform_match(actual); end
end
# Provides the implementation for `be_falsey`.
# Not intended to be instantiated directly.
#
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/be.rb#30
class RSpec::Matchers::BuiltIn::BeFalsey < ::RSpec::Matchers::BuiltIn::BaseMatcher
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/be.rb#33
def failure_message; end
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/be.rb#39
def failure_message_when_negated; end
private
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/be.rb#45
def match(_, actual); end
end
# @private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/be.rb#74
module RSpec::Matchers::BuiltIn::BeHelpers
private
# source://rspec-expectations//lib/rspec/matchers/built_in/be.rb#77
def args_to_s; end
# source://rspec-expectations//lib/rspec/matchers/built_in/be.rb#93
def args_to_sentence; end
# source://rspec-expectations//lib/rspec/matchers/built_in/be.rb#89
def expected_to_sentence; end
# source://rspec-expectations//lib/rspec/matchers/built_in/be.rb#85
def inspected_args; end
# source://rspec-expectations//lib/rspec/matchers/built_in/be.rb#81
def parenthesize(string); end
end
# Provides the implementation for `be_nil`.
# Not intended to be instantiated directly.
#
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/be.rb#53
class RSpec::Matchers::BuiltIn::BeNil < ::RSpec::Matchers::BuiltIn::BaseMatcher
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/be.rb#56
def failure_message; end
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/be.rb#62
def failure_message_when_negated; end
private
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/be.rb#68
def match(_, actual); end
end
# Provides the implementation of `be_<predicate>`.
# Not intended to be instantiated directly.
#
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/has.rb#137
class RSpec::Matchers::BuiltIn::BePredicate < ::RSpec::Matchers::BuiltIn::DynamicPredicate
private
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/has.rb#149
def failure_to_respond_explanation; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/has.rb#141
def predicate; end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/has.rb#157
def predicate_accessible?; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/has.rb#145
def predicate_method_name; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/has.rb#161
def present_tense_predicate; end
end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/has.rb#139
RSpec::Matchers::BuiltIn::BePredicate::REGEX = T.let(T.unsafe(nil), Regexp)
# Provides the implementation for `be_truthy`.
# Not intended to be instantiated directly.
#
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/be.rb#7
class RSpec::Matchers::BuiltIn::BeTruthy < ::RSpec::Matchers::BuiltIn::BaseMatcher
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/be.rb#10
def failure_message; end
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/be.rb#16
def failure_message_when_negated; end
private
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/be.rb#22
def match(_, actual); end
end
# Provides the implementation for `be_within`.
# Not intended to be instantiated directly.
#
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/be_within.rb#7
class RSpec::Matchers::BuiltIn::BeWithin < ::RSpec::Matchers::BuiltIn::BaseMatcher
# @api private
# @return [BeWithin] a new instance of BeWithin
#
# source://rspec-expectations//lib/rspec/matchers/built_in/be_within.rb#8
def initialize(delta); end
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/be_within.rb#52
def description; end
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/be_within.rb#40
def failure_message; end
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/be_within.rb#46
def failure_message_when_negated; end
# @api private
# @private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/be_within.rb#32
def matches?(actual); end
# Sets the expected value.
#
# @api public
#
# source://rspec-expectations//lib/rspec/matchers/built_in/be_within.rb#14
def of(expected); end
# Sets the expected value, and makes the matcher do
# a percent comparison.
#
# @api public
#
# source://rspec-expectations//lib/rspec/matchers/built_in/be_within.rb#24
def percent_of(expected); end
private
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/be_within.rb#62
def needs_expected; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/be_within.rb#66
def not_numeric_clause; end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/be_within.rb#58
def numeric?; end
end
# @private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/output.rb#159
module RSpec::Matchers::BuiltIn::CaptureStderr
class << self
# source://rspec-expectations//lib/rspec/matchers/built_in/output.rb#164
def capture(block); end
# source://rspec-expectations//lib/rspec/matchers/built_in/output.rb#160
def name; end
end
end
# @private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/output.rb#139
module RSpec::Matchers::BuiltIn::CaptureStdout
class << self
# source://rspec-expectations//lib/rspec/matchers/built_in/output.rb#144
def capture(block); end
# source://rspec-expectations//lib/rspec/matchers/built_in/output.rb#140
def name; end
end
end
# @private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/output.rb#179
class RSpec::Matchers::BuiltIn::CaptureStreamToTempfile < ::Struct
# source://rspec-expectations//lib/rspec/matchers/built_in/output.rb#180
def capture(block); end
end
# Provides the implementation for `change`.
# Not intended to be instantiated directly.
#
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/change.rb#7
class RSpec::Matchers::BuiltIn::Change < ::RSpec::Matchers::BuiltIn::BaseMatcher
# @api private
# @return [Change] a new instance of Change
#
# source://rspec-expectations//lib/rspec/matchers/built_in/change.rb#87
def initialize(receiver = T.unsafe(nil), message = T.unsafe(nil), &block); end
# Specifies the delta of the expected change.
#
# @api public
#
# source://rspec-expectations//lib/rspec/matchers/built_in/change.rb#10
def by(expected_delta); end
# Specifies a minimum delta of the expected change.
#
# @api public
#
# source://rspec-expectations//lib/rspec/matchers/built_in/change.rb#18
def by_at_least(minimum); end
# Specifies a maximum delta of the expected change.
#
# @api public
#
# source://rspec-expectations//lib/rspec/matchers/built_in/change.rb#26
def by_at_most(maximum); end
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/change.rb#71
def description; end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/change.rb#50
def does_not_match?(event_proc); end
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/change.rb#57
def failure_message; end
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/change.rb#64
def failure_message_when_negated; end
# Specifies the original value.
#
# @api public
#
# source://rspec-expectations//lib/rspec/matchers/built_in/change.rb#40
def from(value); end
# @api private
# @private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/change.rb#45
def matches?(event_proc); end
# @api private
# @private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/change.rb#76
def supports_block_expectations?; end
# @api private
# @private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/change.rb#81
def supports_value_expectations?; end
# Specifies the new value you expect.
#
# @api public
#
# source://rspec-expectations//lib/rspec/matchers/built_in/change.rb#34
def to(value); end
private
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/change.rb#93
def change_details; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/change.rb#119
def negative_failure_reason; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/change.rb#97
def perform_change(event_proc); end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/change.rb#114
def positive_failure_reason; end
# @api private
# @raise [SyntaxError]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/change.rb#109
def raise_block_syntax_error; end
end
# Encapsulates the details of the before/after values.
#
# Note that this class exposes the `actual_after` value, to allow the
# matchers above to derive failure messages, etc from the value on demand
# as needed, but it intentionally does _not_ expose the `actual_before`
# value. Some usages of the `change` matcher mutate a specific object
# returned by the value proc, which means that failure message snippets,
# etc, which are derived from the `before` value may not be accurate if
# they are lazily computed as needed. We must pre-compute them before
# applying the change in the `expect` block. To ensure that all `change`
# matchers do that properly, we do not expose the `actual_before` value.
# Instead, matchers must pass a block to `perform_change`, which yields
# the `actual_before` value before applying the change.
#
# @private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/change.rb#352
class RSpec::Matchers::BuiltIn::ChangeDetails
# @return [ChangeDetails] a new instance of ChangeDetails
#
# source://rspec-expectations//lib/rspec/matchers/built_in/change.rb#357
def initialize(matcher_name, receiver = T.unsafe(nil), message = T.unsafe(nil), &block); end
# Returns the value of attribute actual_after.
#
# source://rspec-expectations//lib/rspec/matchers/built_in/change.rb#353
def actual_after; end
# source://rspec-expectations//lib/rspec/matchers/built_in/change.rb#418
def actual_delta; end
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/change.rb#402
def changed?; end
# @yield [@actual_before]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/change.rb#389
def perform_change(event_proc); end
# source://rspec-expectations//lib/rspec/matchers/built_in/change.rb#378
def value_representation; end
private
# source://rspec-expectations//lib/rspec/matchers/built_in/change.rb#424
def evaluate_value_proc; end
# source://rspec-expectations//lib/rspec/matchers/built_in/change.rb#438
def extract_value_block_snippet; end
# source://rspec-expectations//lib/rspec/matchers/built_in/change.rb#428
def message_notation(receiver, message); end
end
# source://rspec-expectations//lib/rspec/matchers/built_in/change.rb#355
module RSpec::Matchers::BuiltIn::ChangeDetails::UNDEFINED; end
# Used to specify a change from a specific value
# (and, optionally, to a specific value).
#
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/change.rb#270
class RSpec::Matchers::BuiltIn::ChangeFromValue < ::RSpec::Matchers::BuiltIn::SpecificValuesChange
# @api private
# @return [ChangeFromValue] a new instance of ChangeFromValue
#
# source://rspec-expectations//lib/rspec/matchers/built_in/change.rb#271
def initialize(change_details, expected_before); end
# @api private
# @private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/change.rb#285
def does_not_match?(event_proc); end
# @api private
# @private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/change.rb#295
def failure_message_when_negated; end
# Specifies the new value you expect.
#
# @api public
#
# source://rspec-expectations//lib/rspec/matchers/built_in/change.rb#278
def to(value); end
private
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/change.rb#303
def change_description; end
end
# Used to specify a relative change.
#
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/change.rb#128
class RSpec::Matchers::BuiltIn::ChangeRelatively < ::RSpec::Matchers::BuiltIn::BaseMatcher
# @api private
# @return [ChangeRelatively] a new instance of ChangeRelatively
#
# source://rspec-expectations//lib/rspec/matchers/built_in/change.rb#129
def initialize(change_details, expected_delta, relativity, &comparer); end
# @api private
# @private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/change.rb#156
def description; end
# @api private
# @private
# @raise [NotImplementedError]
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/change.rb#150
def does_not_match?(_event_proc); end
# @api private
# @private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/change.rb#137
def failure_message; end
# @api private
# @private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/change.rb#144
def matches?(event_proc); end
# @api private
# @private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/change.rb#162
def supports_block_expectations?; end
# @api private
# @private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/change.rb#167
def supports_value_expectations?; end
private
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/change.rb#173
def failure_reason; end
end
# Used to specify a change to a specific value
# (and, optionally, from a specific value).
#
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/change.rb#311
class RSpec::Matchers::BuiltIn::ChangeToValue < ::RSpec::Matchers::BuiltIn::SpecificValuesChange
# @api private
# @return [ChangeToValue] a new instance of ChangeToValue
#
# source://rspec-expectations//lib/rspec/matchers/built_in/change.rb#312
def initialize(change_details, expected_after); end
# @api private
# @private
# @raise [NotImplementedError]
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/change.rb#326
def does_not_match?(_event_proc); end
# Specifies the original value.
#
# @api public
#
# source://rspec-expectations//lib/rspec/matchers/built_in/change.rb#319
def from(value); end
private
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/change.rb#333
def change_description; end
end
# Base class for `and` and `or` compound matchers.
#
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/compound.rb#6
class RSpec::Matchers::BuiltIn::Compound < ::RSpec::Matchers::BuiltIn::BaseMatcher
# @api private
# @return [Compound] a new instance of Compound
#
# source://rspec-expectations//lib/rspec/matchers/built_in/compound.rb#10
def initialize(matcher_1, matcher_2); end
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/compound.rb#25
def description; end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/compound.rb#49
def diffable?; end
# @api private
# @private
# @raise [NotImplementedError]
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/compound.rb#16
def does_not_match?(_actual); end
# @api private
# @private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/compound.rb#8
def evaluator; end
# @api private
# @return [RSpec::Matchers::MultiMatcherDiff]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/compound.rb#55
def expected; end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/compound.rb#42
def expects_call_stack_jump?; end
# @api private
# @private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/compound.rb#8
def matcher_1; end
# @api private
# @private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/compound.rb#8
def matcher_2; end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/compound.rb#30
def supports_block_expectations?; end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/compound.rb#36
def supports_value_expectations?; end
protected
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/compound.rb#62
def diffable_matcher_list; end
private
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/compound.rb#93
def compound_failure_message; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/compound.rb#125
def diffable_matcher_list_for(matcher); end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/compound.rb#87
def indent_multiline_message(message); end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/compound.rb#71
def initialize_copy(other); end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/compound.rb#77
def match(_expected, actual); end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/compound.rb#99
def matcher_1_matches?; end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/compound.rb#103
def matcher_2_matches?; end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/compound.rb#119
def matcher_is_diffable?(matcher); end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/compound.rb#107
def matcher_supports_block_expectations?(matcher); end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/compound.rb#113
def matcher_supports_value_expectations?(matcher); end
end
# Matcher used to represent a compound `and` expectation.
#
# @api public
#
# source://rspec-expectations//lib/rspec/matchers/built_in/compound.rb#242
class RSpec::Matchers::BuiltIn::Compound::And < ::RSpec::Matchers::BuiltIn::Compound
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/compound.rb#245
def failure_message; end
private
# @api public
#
# source://rspec-expectations//lib/rspec/matchers/built_in/compound.rb#262
def conjunction; end
# @api public
#
# source://rspec-expectations//lib/rspec/matchers/built_in/compound.rb#257
def match(*_arg0); end
end
# Normally, we evaluate the matching sequentially. For an expression like
# `expect(x).to foo.and bar`, this becomes:
#
# expect(x).to foo
# expect(x).to bar
#
# For block expectations, we need to nest them instead, so that
# `expect { x }.to foo.and bar` becomes:
#
# expect {
# expect { x }.to foo
# }.to bar
#
# This is necessary so that the `expect` block is only executed once.
#
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/compound.rb#156
class RSpec::Matchers::BuiltIn::Compound::NestedEvaluator
# @api private
# @return [NestedEvaluator] a new instance of NestedEvaluator
#
# source://rspec-expectations//lib/rspec/matchers/built_in/compound.rb#157
def initialize(actual, matcher_1, matcher_2); end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/compound.rb#170
def matcher_matches?(matcher); end
private
# Some block matchers (such as `yield_xyz`) pass args to the `expect` block.
# When such a matcher is used as the outer matcher, we need to forward the
# the args on to the `expect` block.
#
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/compound.rb#184
def inner_matcher_block(outer_args); end
# For a matcher like `raise_error` or `throw_symbol`, where the block will jump
# up the call stack, we need to order things so that it is the inner matcher.
# For example, we need it to be this:
#
# expect {
# expect {
# x += 1
# raise "boom"
# }.to raise_error("boom")
# }.to change { x }.by(1)
#
# ...rather than:
#
# expect {
# expect {
# x += 1
# raise "boom"
# }.to change { x }.by(1)
# }.to raise_error("boom")
#
# In the latter case, the after-block logic in the `change` matcher would never
# get executed because the `raise "boom"` line would jump to the `rescue` in the
# `raise_error` logic, so only the former case will work properly.
#
# This method figures out which matcher should be the inner matcher and which
# should be the outer matcher.
#
# @api private
# @raise [ArgumentError]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/compound.rb#224
def order_block_matchers; end
class << self
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/compound.rb#233
def matcher_expects_call_stack_jump?(matcher); end
end
end
# Matcher used to represent a compound `or` expectation.
#
# @api public
#
# source://rspec-expectations//lib/rspec/matchers/built_in/compound.rb#269
class RSpec::Matchers::BuiltIn::Compound::Or < ::RSpec::Matchers::BuiltIn::Compound
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/compound.rb#272
def failure_message; end
private
# @api public
#
# source://rspec-expectations//lib/rspec/matchers/built_in/compound.rb#283
def conjunction; end
# @api public
#
# source://rspec-expectations//lib/rspec/matchers/built_in/compound.rb#278
def match(*_arg0); end
end
# For value expectations, we can evaluate the matchers sequentially.
#
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/compound.rb#132
class RSpec::Matchers::BuiltIn::Compound::SequentialEvaluator
# @api private
# @return [SequentialEvaluator] a new instance of SequentialEvaluator
#
# source://rspec-expectations//lib/rspec/matchers/built_in/compound.rb#133
def initialize(actual, *_arg1); end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/compound.rb#137
def matcher_matches?(matcher); end
end
# Provides the implementation for `contain_exactly` and `match_array`.
# Not intended to be instantiated directly.
#
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/contain_exactly.rb#8
class RSpec::Matchers::BuiltIn::ContainExactly < ::RSpec::Matchers::BuiltIn::BaseMatcher
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/contain_exactly.rb#29
def description; end
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/contain_exactly.rb#11
def failure_message; end
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/contain_exactly.rb#22
def failure_message_when_negated; end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/contain_exactly.rb#34
def matches?(actual); end
private
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/contain_exactly.rb#56
def actual_collection_line; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/contain_exactly.rb#135
def best_solution; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/contain_exactly.rb#94
def convert_actual_to_an_array; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/contain_exactly.rb#68
def describe_collection(collection, surface_descriptions = T.unsafe(nil)); end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/contain_exactly.rb#52
def expected_collection_line; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/contain_exactly.rb#64
def extra_elements_line; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/contain_exactly.rb#129
def extra_items; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/contain_exactly.rb#44
def generate_failure_message; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/contain_exactly.rb#81
def match(_expected, _actual); end
# This cannot always work (e.g. when dealing with unsortable items,
# or matchers as expected items), but it's practically free compared to
# the slowness of the full matching algorithm, and in common cases this
# works, so it's worth a try.
#
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/contain_exactly.rb#90
def match_when_sorted?; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/contain_exactly.rb#76
def message_line(prefix, collection, surface_descriptions = T.unsafe(nil)); end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/contain_exactly.rb#60
def missing_elements_line; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/contain_exactly.rb#123
def missing_items; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/contain_exactly.rb#139
def pairings_maximizer; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/contain_exactly.rb#104
def safe_sort(array); end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/contain_exactly.rb#118
def to_a_disallowed?(object); end
end
# Once we started supporting composing matchers, the algorithm for this matcher got
# much more complicated. Consider this expression:
#
# expect(["fool", "food"]).to contain_exactly(/foo/, /fool/)
#
# This should pass (because we can pair /fool/ with "fool" and /foo/ with "food"), but
# the original algorithm used by this matcher would pair the first elements it could
# (/foo/ with "fool"), which would leave /fool/ and "food" unmatched. When we have
# an expected element which is a matcher that matches a superset of actual items
# compared to another expected element matcher, we need to consider every possible pairing.
#
# This class is designed to maximize the number of actual/expected pairings -- or,
# conversely, to minimize the number of unpaired items. It's essentially a brute
# force solution, but with a few heuristics applied to reduce the size of the
# problem space:
#
# * Any items which match none of the items in the other list are immediately
# placed into the `unmatched_expected_indexes` or `unmatched_actual_indexes` array.
# The extra items and missing items in the matcher failure message are derived
# from these arrays.
# * Any items which reciprocally match only each other are paired up and not
# considered further.
#
# What's left is only the items which match multiple items from the other list
# (or vice versa). From here, it performs a brute-force depth-first search,
# looking for a solution which pairs all elements in both lists, or, barring that,
# that produces the fewest unmatched items.
#
# @api private
# @private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/contain_exactly.rb#186
class RSpec::Matchers::BuiltIn::ContainExactly::PairingsMaximizer
# @api private
# @return [PairingsMaximizer] a new instance of PairingsMaximizer
#
# source://rspec-expectations//lib/rspec/matchers/built_in/contain_exactly.rb#223
def initialize(expected_to_actual_matched_indexes, actual_to_expected_matched_indexes); end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/contain_exactly.rb#221
def actual_to_expected_matched_indexes; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/contain_exactly.rb#221
def expected_to_actual_matched_indexes; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/contain_exactly.rb#237
def find_best_solution; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/contain_exactly.rb#221
def solution; end
private
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/contain_exactly.rb#299
def apply_pairing_to(indeterminates, original_matches, other_list_index); end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/contain_exactly.rb#283
def best_solution_for_pairing(expected_index, actual_index); end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/contain_exactly.rb#263
def categorize_indexes(indexes_to_categorize, other_indexes); end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/contain_exactly.rb#278
def reciprocal_single_match?(matches, index, other_list); end
end
# Starting solution that is worse than any other real solution.
#
# @api private
# @private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/contain_exactly.rb#257
class RSpec::Matchers::BuiltIn::ContainExactly::PairingsMaximizer::NullSolution
class << self
# source://rspec-expectations//lib/rspec/matchers/built_in/contain_exactly.rb#258
def worse_than?(_other); end
end
end
# @api private
# @private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/contain_exactly.rb#188
class RSpec::Matchers::BuiltIn::ContainExactly::PairingsMaximizer::Solution < ::Struct
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/contain_exactly.rb#210
def +(derived_candidate_solution); end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/contain_exactly.rb#194
def candidate?; end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/contain_exactly.rb#199
def ideal?; end
# Returns the value of attribute indeterminate_actual_indexes
#
# @return [Object] the current value of indeterminate_actual_indexes
def indeterminate_actual_indexes; end
# Sets the attribute indeterminate_actual_indexes
#
# @param value [Object] the value to set the attribute indeterminate_actual_indexes to.
# @return [Object] the newly set value
def indeterminate_actual_indexes=(_); end
# Returns the value of attribute indeterminate_expected_indexes
#
# @return [Object] the current value of indeterminate_expected_indexes
def indeterminate_expected_indexes; end
# Sets the attribute indeterminate_expected_indexes
#
# @param value [Object] the value to set the attribute indeterminate_expected_indexes to.
# @return [Object] the newly set value
def indeterminate_expected_indexes=(_); end
# Returns the value of attribute unmatched_actual_indexes
#
# @return [Object] the current value of unmatched_actual_indexes
def unmatched_actual_indexes; end
# Sets the attribute unmatched_actual_indexes
#
# @param value [Object] the value to set the attribute unmatched_actual_indexes to.
# @return [Object] the newly set value
def unmatched_actual_indexes=(_); end
# Returns the value of attribute unmatched_expected_indexes
#
# @return [Object] the current value of unmatched_expected_indexes
def unmatched_expected_indexes; end
# Sets the attribute unmatched_expected_indexes
#
# @param value [Object] the value to set the attribute unmatched_expected_indexes to.
# @return [Object] the newly set value
def unmatched_expected_indexes=(_); end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/contain_exactly.rb#206
def unmatched_item_count; end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/contain_exactly.rb#190
def worse_than?(other); end
class << self
def [](*_arg0); end
def inspect; end
def keyword_init?; end
def members; end
def new(*_arg0); end
end
end
# Abstract class to implement `once`, `at_least` and other
# count constraints.
#
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/count_expectation.rb#7
module RSpec::Matchers::BuiltIn::CountExpectation
# Specifies the minimum number of times the method is expected to match
#
# @api public
#
# source://rspec-expectations//lib/rspec/matchers/built_in/count_expectation.rb#42
def at_least(number); end
# Specifies the maximum number of times the method is expected to match
#
# @api public
#
# source://rspec-expectations//lib/rspec/matchers/built_in/count_expectation.rb#35
def at_most(number); end
# Specifies that the method is expected to match the given number of times.
#
# @api public
#
# source://rspec-expectations//lib/rspec/matchers/built_in/count_expectation.rb#28
def exactly(number); end
# Specifies that the method is expected to match once.
#
# @api public
#
# source://rspec-expectations//lib/rspec/matchers/built_in/count_expectation.rb#10
def once; end
# Specifies that the method is expected to match thrice.
#
# @api public
#
# source://rspec-expectations//lib/rspec/matchers/built_in/count_expectation.rb#22
def thrice; end
# No-op. Provides syntactic sugar.
#
# @api public
#
# source://rspec-expectations//lib/rspec/matchers/built_in/count_expectation.rb#49
def times; end
# Specifies that the method is expected to match twice.
#
# @api public
#
# source://rspec-expectations//lib/rspec/matchers/built_in/count_expectation.rb#16
def twice; end
protected
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/count_expectation.rb#55
def count_expectation_type; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/count_expectation.rb#55
def expected_count; end
private
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/count_expectation.rb#120
def count_constraint_to_number(n); end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/count_expectation.rb#139
def count_expectation_description; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/count_expectation.rb#143
def count_failure_reason(action); end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/count_expectation.rb#60
def cover?(count, number); end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/count_expectation.rb#69
def expected_count_matches?(actual_count); end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/count_expectation.rb#77
def has_expected_count?; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/count_expectation.rb#157
def human_readable_count(count); end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/count_expectation.rb#148
def human_readable_expectation_type; end
# @api private
# @raise [ArgumentError]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/count_expectation.rb#100
def raise_impossible_count_expectation(count); end
# @api private
# @raise [ArgumentError]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/count_expectation.rb#109
def raise_unsupported_count_expectation; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/count_expectation.rb#81
def set_expected_count(relativity, n); end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/count_expectation.rb#132
def unsupported_count_expectation?(relativity); end
end
# Provides the implementation for `cover`.
# Not intended to be instantiated directly.
#
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/cover.rb#7
class RSpec::Matchers::BuiltIn::Cover < ::RSpec::Matchers::BuiltIn::BaseMatcher
# @api private
# @return [Cover] a new instance of Cover
#
# source://rspec-expectations//lib/rspec/matchers/built_in/cover.rb#8
def initialize(*expected); end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/cover.rb#17
def does_not_match?(range); end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/cover.rb#12
def matches?(range); end
end
# Provides the implementation for dynamic predicate matchers.
# Not intended to be inherited directly.
#
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/has.rb#7
class RSpec::Matchers::BuiltIn::DynamicPredicate < ::RSpec::Matchers::BuiltIn::BaseMatcher
include ::RSpec::Matchers::BuiltIn::BeHelpers
# @api private
# @return [DynamicPredicate] a new instance of DynamicPredicate
#
# source://rspec-expectations//lib/rspec/matchers/built_in/has.rb#10
def initialize(method_name, *args, **_arg2, &block); end
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/has.rb#43
def description; end
# @api private
# @private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/has.rb#23
def does_not_match?(actual, &block); end
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/has.rb#31
def failure_message; end
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/has.rb#37
def failure_message_when_negated; end
# @api private
# @private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/has.rb#16
def matches?(actual, &block); end
private
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/has.rb#99
def expectation_of(value); end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/has.rb#94
def failure_message_expecting(value); end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/has.rb#115
def failure_to_respond_explanation; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/has.rb#90
def method_description; end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/has.rb#49
def predicate_accessible?; end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/has.rb#74
def predicate_matches?(value = T.unsafe(nil)); end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/has.rb#70
def predicate_method_name; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/has.rb#66
def predicate_result; end
# :nocov:
#
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/has.rb#61
def private_predicate?; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/has.rb#82
def root; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/has.rb#109
def validity_message; end
end
# Provides the implementation for `end_with`.
# Not intended to be instantiated directly.
#
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/start_or_end_with.rb#81
class RSpec::Matchers::BuiltIn::EndWith < ::RSpec::Matchers::BuiltIn::StartOrEndWith
private
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/start_or_end_with.rb#88
def element_matches?; end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/start_or_end_with.rb#84
def subset_matches?; end
end
# Provides the implementation for `eq`.
# Not intended to be instantiated directly.
#
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/eq.rb#7
class RSpec::Matchers::BuiltIn::Eq < ::RSpec::Matchers::BuiltIn::BaseMatcher
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/eq.rb#26
def description; end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/eq.rb#32
def diffable?; end
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/eq.rb#10
def failure_message; end
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/eq.rb#20
def failure_message_when_negated; end
private
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/eq.rb#38
def match(expected, actual); end
end
# Provides the implementation for `eql`.
# Not intended to be instantiated directly.
#
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/eql.rb#7
class RSpec::Matchers::BuiltIn::Eql < ::RSpec::Matchers::BuiltIn::BaseMatcher
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/eql.rb#26
def diffable?; end
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/eql.rb#10
def failure_message; end
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/eql.rb#20
def failure_message_when_negated; end
private
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/eql.rb#32
def match(expected, actual); end
end
# Provides the implementation for `equal`.
# Not intended to be instantiated directly.
#
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/equal.rb#7
class RSpec::Matchers::BuiltIn::Equal < ::RSpec::Matchers::BuiltIn::BaseMatcher
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/equal.rb#33
def diffable?; end
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/equal.rb#10
def failure_message; end
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/equal.rb#20
def failure_message_when_negated; end
private
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/equal.rb#49
def actual_inspected; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/equal.rb#61
def detailed_failure_message; end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/equal.rb#45
def expected_is_a_literal_singleton?; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/equal.rb#75
def inspect_object(o); end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/equal.rb#39
def match(expected, actual); end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/equal.rb#57
def simple_failure_message; end
end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/equal.rb#43
RSpec::Matchers::BuiltIn::Equal::LITERAL_SINGLETONS = T.let(T.unsafe(nil), Array)
# Provides the implementation for `exist`.
# Not intended to be instantiated directly.
#
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/exist.rb#7
class RSpec::Matchers::BuiltIn::Exist < ::RSpec::Matchers::BuiltIn::BaseMatcher
# @api private
# @return [Exist] a new instance of Exist
#
# source://rspec-expectations//lib/rspec/matchers/built_in/exist.rb#8
def initialize(*expected); end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/exist.rb#22
def does_not_match?(actual); end
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/exist.rb#30
def failure_message; end
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/exist.rb#36
def failure_message_when_negated; end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/exist.rb#14
def matches?(actual); end
end
# Simple class for memoizing actual/expected for this matcher
# and examining the match
#
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/exist.rb#43
class RSpec::Matchers::BuiltIn::Exist::ExistenceTest < ::Struct
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/exist.rb#52
def actual_exists?; end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/exist.rb#46
def valid_test?; end
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/exist.rb#58
def validity_message; end
private
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/exist.rb#83
def deprecated(predicate, actual); end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/exist.rb#75
def existence_values; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/exist.rb#79
def predicates; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/exist.rb#71
def uniq_truthy_values; end
end
# Provides the implementation for `has_<predicate>`.
# Not intended to be instantiated directly.
#
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/has.rb#125
class RSpec::Matchers::BuiltIn::Has < ::RSpec::Matchers::BuiltIn::DynamicPredicate
private
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/has.rb#129
def predicate; end
end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/has.rb#127
RSpec::Matchers::BuiltIn::Has::REGEX = T.let(T.unsafe(nil), Regexp)
# Provides the implementation for `have_attributes`.
# Not intended to be instantiated directly.
#
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/have_attributes.rb#7
class RSpec::Matchers::BuiltIn::HaveAttributes < ::RSpec::Matchers::BuiltIn::BaseMatcher
# @api private
# @return [HaveAttributes] a new instance of HaveAttributes
#
# source://rspec-expectations//lib/rspec/matchers/built_in/have_attributes.rb#11
def initialize(expected); end
# @api private
# @private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/have_attributes.rb#19
def actual; end
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/have_attributes.rb#43
def description; end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/have_attributes.rb#50
def diffable?; end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/have_attributes.rb#34
def does_not_match?(actual); end
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/have_attributes.rb#56
def failure_message; end
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/have_attributes.rb#64
def failure_message_when_negated; end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/have_attributes.rb#25
def matches?(actual); end
# @api private
# @private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/have_attributes.rb#9
def respond_to_failed; end
private
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/have_attributes.rb#85
def actual_has_attribute?(attribute_key, attribute_value); end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/have_attributes.rb#70
def cache_all_values; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/have_attributes.rb#107
def formatted_values; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/have_attributes.rb#78
def perform_match(predicate); end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/have_attributes.rb#89
def respond_to_attributes?; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/have_attributes.rb#99
def respond_to_failure_message_or; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/have_attributes.rb#95
def respond_to_matcher; end
end
# Provides the implementation for `include`.
# Not intended to be instantiated directly.
#
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/include.rb#9
class RSpec::Matchers::BuiltIn::Include < ::RSpec::Matchers::BuiltIn::BaseMatcher
include ::RSpec::Matchers::BuiltIn::CountExpectation
# @api private
# @return [Include] a new instance of Include
#
# source://rspec-expectations//lib/rspec/matchers/built_in/include.rb#15
def initialize(*expecteds); end
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/include.rb#43
def description; end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/include.rb#61
def diffable?; end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/include.rb#32
def does_not_match?(actual); end
# @api private
# @return [Array, Hash]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/include.rb#67
def expected; end
# @api private
# @private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/include.rb#12
def expecteds; end
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/include.rb#49
def failure_message; end
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/include.rb#55
def failure_message_when_negated; end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/include.rb#21
def matches?(actual); end
private
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/include.rb#167
def actual_collection_includes?(expected_item); end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/include.rb#153
def actual_hash_has_key?(expected_key); end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/include.rb#141
def actual_hash_includes?(expected_key, expected_value); end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/include.rb#77
def check_actual?(actual); end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/include.rb#83
def check_expected_count?; end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/include.rb#149
def comparing_hash_keys?(expected_item); end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/include.rb#137
def comparing_hash_to_a_subset?(expected_item); end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/include.rb#207
def convert_to_hash?(obj); end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/include.rb#181
def count_enumerable(expected_item); end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/include.rb#186
def count_inclusions; end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/include.rb#198
def diff_would_wrongly_highlight_matched_item?; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/include.rb#120
def excluded_from_actual; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/include.rb#95
def format_failure_message(preposition); end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/include.rb#115
def perform_match(&block); end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/include.rb#106
def readable_list_of(items); end
end
# Provides the implementation for `match`.
# Not intended to be instantiated directly.
#
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/match.rb#7
class RSpec::Matchers::BuiltIn::Match < ::RSpec::Matchers::BuiltIn::BaseMatcher
# @api private
# @return [Match] a new instance of Match
#
# source://rspec-expectations//lib/rspec/matchers/built_in/match.rb#8
def initialize(expected); end
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/match.rb#15
def description; end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/match.rb#25
def diffable?; end
# Used to specify the captures we match against
#
# @api private
# @return [self]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/match.rb#31
def with_captures(*captures); end
private
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/match.rb#45
def can_safely_call_match?(expected, actual); end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/match.rb#38
def match(expected, actual); end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/match.rb#52
def match_captures(expected, actual); end
end
# Handles operator matcher for `should_not`.
#
# @private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/operators.rb#116
class RSpec::Matchers::BuiltIn::NegativeOperatorMatcher < ::RSpec::Matchers::BuiltIn::OperatorMatcher
# source://rspec-expectations//lib/rspec/matchers/built_in/operators.rb#117
def __delegate_operator(actual, operator, expected); end
end
# @private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/output.rb#128
module RSpec::Matchers::BuiltIn::NullCapture
class << self
# source://rspec-expectations//lib/rspec/matchers/built_in/output.rb#133
def capture(_block); end
# source://rspec-expectations//lib/rspec/matchers/built_in/output.rb#129
def name; end
end
end
# Provides the implementation for operator matchers.
# Not intended to be instantiated directly.
# Only available for use with `should`.
#
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/operators.rb#10
class RSpec::Matchers::BuiltIn::OperatorMatcher
# @api private
# @return [OperatorMatcher] a new instance of OperatorMatcher
#
# source://rspec-expectations//lib/rspec/matchers/built_in/operators.rb#41
def initialize(actual); end
# source://rspec-expectations//lib/rspec/matchers/built_in/operators.rb#57
def !=(_expected); end
# source://rspec-expectations//lib/rspec/matchers/built_in/operators.rb#57
def !~(_expected); end
# source://rspec-expectations//lib/rspec/matchers/built_in/operators.rb#47
def <(expected); end
# source://rspec-expectations//lib/rspec/matchers/built_in/operators.rb#47
def <=(expected); end
# source://rspec-expectations//lib/rspec/matchers/built_in/operators.rb#47
def ==(expected); end
# source://rspec-expectations//lib/rspec/matchers/built_in/operators.rb#47
def ===(expected); end
# source://rspec-expectations//lib/rspec/matchers/built_in/operators.rb#47
def =~(expected); end
# source://rspec-expectations//lib/rspec/matchers/built_in/operators.rb#47
def >(expected); end
# source://rspec-expectations//lib/rspec/matchers/built_in/operators.rb#47
def >=(expected); end
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/operators.rb#76
def description; end
# @api private
# @private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/operators.rb#70
def fail_with_message(message); end
private
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/operators.rb#88
def eval_match(actual, operator, expected); end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/operators.rb#82
def has_non_generic_implementation_of?(op); end
class << self
# @api private
# @private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/operators.rb#29
def get(klass, operator); end
# @api private
# @private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/operators.rb#18
def register(klass, operator, matcher); end
# @api private
# @private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/operators.rb#13
def registry; end
# @api private
# @private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/operators.rb#24
def unregister(klass, operator); end
# @api private
# @private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/operators.rb#46
def use_custom_matcher_or_delegate(operator); end
end
end
# Provides the implementation for `output`.
# Not intended to be instantiated directly.
#
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/output.rb#9
class RSpec::Matchers::BuiltIn::Output < ::RSpec::Matchers::BuiltIn::BaseMatcher
# @api private
# @return [Output] a new instance of Output
#
# source://rspec-expectations//lib/rspec/matchers/built_in/output.rb#10
def initialize(expected); end
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/output.rb#76
def description; end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/output.rb#86
def diffable?; end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/output.rb#24
def does_not_match?(block); end
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/output.rb#64
def failure_message; end
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/output.rb#70
def failure_message_when_negated; end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/output.rb#17
def matches?(block); end
# Indicates this matcher matches against a block.
#
# @api private
# @return [True]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/output.rb#93
def supports_block_expectations?; end
# Indicates this matcher matches against a block only.
#
# @api private
# @return [False]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/output.rb#100
def supports_value_expectations?; end
# Tells the matcher to match against stderr.
# Works only when the main Ruby process prints to stderr
#
# @api public
#
# source://rspec-expectations//lib/rspec/matchers/built_in/output.rb#39
def to_stderr; end
# Tells the matcher to match against stderr.
# Works when subprocesses print to stderr as well.
# This is significantly (~30x) slower than `to_stderr`
#
# @api public
#
# source://rspec-expectations//lib/rspec/matchers/built_in/output.rb#57
def to_stderr_from_any_process; end
# Tells the matcher to match against stdout.
# Works only when the main Ruby process prints to stdout
#
# @api public
#
# source://rspec-expectations//lib/rspec/matchers/built_in/output.rb#31
def to_stdout; end
# Tells the matcher to match against stdout.
# Works when subprocesses print to stdout as well.
# This is significantly (~30x) slower than `to_stdout`
#
# @api public
#
# source://rspec-expectations//lib/rspec/matchers/built_in/output.rb#48
def to_stdout_from_any_process; end
private
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/output.rb#121
def actual_output_description; end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/output.rb#106
def captured?; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/output.rb#116
def negative_failure_reason; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/output.rb#110
def positive_failure_reason; end
end
# Handles operator matcher for `should`.
#
# @private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/operators.rb#97
class RSpec::Matchers::BuiltIn::PositiveOperatorMatcher < ::RSpec::Matchers::BuiltIn::OperatorMatcher
# source://rspec-expectations//lib/rspec/matchers/built_in/operators.rb#98
def __delegate_operator(actual, operator, expected); end
end
# Provides the implementation for `raise_error`.
# Not intended to be instantiated directly.
#
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/raise_error.rb#9
class RSpec::Matchers::BuiltIn::RaiseError
include ::RSpec::Matchers::Composable
# @api private
# @return [RaiseError] a new instance of RaiseError
#
# source://rspec-expectations//lib/rspec/matchers/built_in/raise_error.rb#22
def initialize(expected_error_or_message, expected_message, &block); end
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/raise_error.rb#117
def description; end
# @api private
# @private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/raise_error.rb#83
def does_not_match?(given_proc); end
# @api private
# @private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/raise_error.rb#99
def expects_call_stack_jump?; end
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/raise_error.rb#105
def failure_message; end
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/raise_error.rb#111
def failure_message_when_negated; end
# @api private
# @private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/raise_error.rb#52
def matches?(given_proc, negative_expectation = T.unsafe(nil), &block); end
# @api private
# @private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/raise_error.rb#89
def supports_block_expectations?; end
# @api private
# @private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/raise_error.rb#94
def supports_value_expectations?; end
# Specifies the expected error message.
#
# @api public
#
# source://rspec-expectations//lib/rspec/matchers/built_in/raise_error.rb#43
def with_message(expected_message); end
private
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/raise_error.rb#123
def actual_error_message; end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/raise_error.rb#137
def block_matches?; end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/raise_error.rb#133
def error_and_message_match?; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/raise_error.rb#145
def eval_block; end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/raise_error.rb#129
def expectation_matched?; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/raise_error.rb#226
def expected_error; end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/raise_error.rb#257
def expecting_specific_exception?; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/raise_error.rb#241
def format_backtrace(backtrace); end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/raise_error.rb#246
def given_error; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/raise_error.rb#176
def handle_warning(message); end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/raise_error.rb#261
def raise_message_already_set; end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/raise_error.rb#141
def ready_to_eval_block?; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/raise_error.rb#155
def verify_message; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/raise_error.rb#188
def warn_about_bare_error!; end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/raise_error.rb#180
def warn_about_bare_error?; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/raise_error.rb#214
def warn_about_negative_false_positive!(expression); end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/raise_error.rb#201
def warn_about_nil_error!; end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/raise_error.rb#184
def warn_about_nil_error?; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/raise_error.rb#160
def warn_for_negative_false_positives!; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/raise_error.rb#266
def warning; end
end
# Used as a sentinel value to be able to tell when the user did not pass an
# argument. We can't use `nil` for that because we need to warn when `nil` is
# passed in a different way. It's an Object, not a Module, since Module's `===`
# does not evaluate to true when compared to itself.
#
# Note; this _is_ the default value supplied for expected_error_or_message, but
# because there are two method-calls involved, that default is actually supplied
# in the definition of the _matcher_ method, `RSpec::Matchers#raise_error`
#
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/raise_error.rb#20
RSpec::Matchers::BuiltIn::RaiseError::UndefinedValue = T.let(T.unsafe(nil), Object)
# Used to wrap match data and make it reliable for 1.8.7
#
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/match.rb#72
class RSpec::Matchers::BuiltIn::ReliableMatchData
# @api private
# @return [ReliableMatchData] a new instance of ReliableMatchData
#
# source://rspec-expectations//lib/rspec/matchers/built_in/match.rb#73
def initialize(match_data); end
# returns an array of captures from the match data
#
# @api private
# @return Array
#
# source://rspec-expectations//lib/rspec/matchers/built_in/match.rb#96
def captures; end
# Returns match data names for named captures
#
# @api private
# @return Array
#
# source://rspec-expectations//lib/rspec/matchers/built_in/match.rb#88
def names; end
protected
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/match.rb#102
def match_data; end
end
# Provides the implementation for `respond_to`.
# Not intended to be instantiated directly.
#
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/respond_to.rb#9
class RSpec::Matchers::BuiltIn::RespondTo < ::RSpec::Matchers::BuiltIn::BaseMatcher
# @api private
# @return [RespondTo] a new instance of RespondTo
#
# source://rspec-expectations//lib/rspec/matchers/built_in/respond_to.rb#10
def initialize(*names); end
# Specifies that the method accepts any keyword, i.e. the method has
# a splatted keyword parameter of the form **kw_args.
#
# @api public
# @example
# expect(obj).to respond_to(:message).with_any_keywords
#
# source://rspec-expectations//lib/rspec/matchers/built_in/respond_to.rb#48
def and_any_keywords; end
# Specifies keyword arguments, if any.
#
# @api public
# @example
# expect(obj).to respond_to(:message).with_keywords(:color, :shape)
# @example with an expected number of arguments
# expect(obj).to respond_to(:message).with(3).arguments.and_keywords(:color, :shape)
#
# source://rspec-expectations//lib/rspec/matchers/built_in/respond_to.rb#36
def and_keywords(*keywords); end
# Specifies that the number of arguments has no upper limit, i.e. the
# method has a splatted parameter of the form *args.
#
# @api public
# @example
# expect(obj).to respond_to(:message).with_unlimited_arguments
#
# source://rspec-expectations//lib/rspec/matchers/built_in/respond_to.rb#60
def and_unlimited_arguments; end
# No-op. Intended to be used as syntactic sugar when using `with`.
#
# @api public
# @example
# expect(obj).to respond_to(:message).with(3).arguments
#
# source://rspec-expectations//lib/rspec/matchers/built_in/respond_to.rb#71
def argument; end
# No-op. Intended to be used as syntactic sugar when using `with`.
#
# @api public
# @example
# expect(obj).to respond_to(:message).with(3).arguments
#
# source://rspec-expectations//lib/rspec/matchers/built_in/respond_to.rb#71
def arguments; end
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/respond_to.rb#100
def description; end
# @api private
# @private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/respond_to.rb#82
def does_not_match?(actual); end
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/respond_to.rb#88
def failure_message; end
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/respond_to.rb#94
def failure_message_when_negated; end
# Used by other matchers to suppress a check
#
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/respond_to.rb#106
def ignoring_method_signature_failure!; end
# @api private
# @private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/respond_to.rb#77
def matches?(actual); end
# Specifies the number of expected arguments.
#
# @api public
# @example
# expect(obj).to respond_to(:message).with(3).arguments
#
# source://rspec-expectations//lib/rspec/matchers/built_in/respond_to.rb#24
def with(n); end
# Specifies that the method accepts any keyword, i.e. the method has
# a splatted keyword parameter of the form **kw_args.
#
# @api public
# @example
# expect(obj).to respond_to(:message).with_any_keywords
#
# source://rspec-expectations//lib/rspec/matchers/built_in/respond_to.rb#48
def with_any_keywords; end
# Specifies keyword arguments, if any.
#
# @api public
# @example
# expect(obj).to respond_to(:message).with_keywords(:color, :shape)
# @example with an expected number of arguments
# expect(obj).to respond_to(:message).with(3).arguments.and_keywords(:color, :shape)
#
# source://rspec-expectations//lib/rspec/matchers/built_in/respond_to.rb#36
def with_keywords(*keywords); end
# Specifies that the number of arguments has no upper limit, i.e. the
# method has a splatted parameter of the form *args.
#
# @api public
# @example
# expect(obj).to respond_to(:message).with_unlimited_arguments
#
# source://rspec-expectations//lib/rspec/matchers/built_in/respond_to.rb#60
def with_unlimited_arguments; end
private
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/respond_to.rb#112
def find_failing_method_names(actual, filter_method); end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/respond_to.rb#119
def matches_arity?(actual, name); end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/respond_to.rb#156
def pp_names; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/respond_to.rb#130
def with_arity; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/respond_to.rb#139
def with_arity_string; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/respond_to.rb#143
def with_keywords_string; end
end
# @api private
# @private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/respond_to.rb#161
class RSpec::Matchers::BuiltIn::RespondTo::ArityCheck
# @api private
# @return [ArityCheck] a new instance of ArityCheck
#
# source://rspec-expectations//lib/rspec/matchers/built_in/respond_to.rb#162
def initialize(expected_arity, expected_keywords, arbitrary_keywords, unlimited_arguments); end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/respond_to.rb#178
def matches?(actual, name); end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/respond_to.rb#187
def method_signature_for(actual, name); end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/respond_to.rb#183
def verifier_for(actual, name); end
end
# Provides the implementation for `satisfy`.
# Not intended to be instantiated directly.
#
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/satisfy.rb#7
class RSpec::Matchers::BuiltIn::Satisfy < ::RSpec::Matchers::BuiltIn::BaseMatcher
# @api private
# @return [Satisfy] a new instance of Satisfy
#
# source://rspec-expectations//lib/rspec/matchers/built_in/satisfy.rb#8
def initialize(description = T.unsafe(nil), &block); end
# @api private
# @private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/satisfy.rb#21
def description; end
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/satisfy.rb#27
def failure_message; end
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/satisfy.rb#33
def failure_message_when_negated; end
# @api private
# @private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/satisfy.rb#14
def matches?(actual, &block); end
private
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/satisfy.rb#40
def block_representation; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/satisfy.rb#48
def extract_block_snippet; end
end
# Base class for specifying a change from and/or to specific values.
#
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/change.rb#181
class RSpec::Matchers::BuiltIn::SpecificValuesChange < ::RSpec::Matchers::BuiltIn::BaseMatcher
# @api private
# @return [SpecificValuesChange] a new instance of SpecificValuesChange
#
# source://rspec-expectations//lib/rspec/matchers/built_in/change.rb#185
def initialize(change_details, from, to); end
# @api private
# @private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/change.rb#197
def description; end
# @api private
# @private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/change.rb#202
def failure_message; end
# @api private
# @private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/change.rb#192
def matches?(event_proc); end
# @api private
# @private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/change.rb#210
def supports_block_expectations?; end
# @api private
# @private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/change.rb#215
def supports_value_expectations?; end
private
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/change.rb#244
def after_value_failure; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/change.rb#238
def before_value_failure; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/change.rb#255
def did_change_failure; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/change.rb#250
def did_not_change_failure; end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/change.rb#234
def matches_after?; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/change.rb#261
def not_given_a_block_failure; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/change.rb#221
def perform_change(event_proc); end
end
# @api private
# @private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/change.rb#183
RSpec::Matchers::BuiltIn::SpecificValuesChange::MATCH_ANYTHING = BasicObject
# For RSpec 3.1, the base class was named `StartAndEndWith`. For SemVer reasons,
# we still provide this constant until 4.0.
#
# @deprecated Use StartOrEndWith instead.
# @private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/start_or_end_with.rb#61
RSpec::Matchers::BuiltIn::StartAndEndWith = RSpec::Matchers::BuiltIn::StartOrEndWith
# Base class for the `end_with` and `start_with` matchers.
# Not intended to be instantiated directly.
#
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/start_or_end_with.rb#7
class RSpec::Matchers::BuiltIn::StartOrEndWith < ::RSpec::Matchers::BuiltIn::BaseMatcher
# @api private
# @return [StartOrEndWith] a new instance of StartOrEndWith
#
# source://rspec-expectations//lib/rspec/matchers/built_in/start_or_end_with.rb#8
def initialize(*expected); end
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/start_or_end_with.rb#27
def description; end
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/start_or_end_with.rb#15
def failure_message; end
private
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/start_or_end_with.rb#36
def match(_expected, actual); end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/start_or_end_with.rb#48
def subsets_comparable?; end
end
# Provides the implementation for `start_with`.
# Not intended to be instantiated directly.
#
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/start_or_end_with.rb#66
class RSpec::Matchers::BuiltIn::StartWith < ::RSpec::Matchers::BuiltIn::StartOrEndWith
private
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/start_or_end_with.rb#73
def element_matches?; end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/start_or_end_with.rb#69
def subset_matches?; end
end
# Provides the implementation for `throw_symbol`.
# Not intended to be instantiated directly.
#
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/throw_symbol.rb#7
class RSpec::Matchers::BuiltIn::ThrowSymbol
include ::RSpec::Matchers::Composable
# @api private
# @return [ThrowSymbol] a new instance of ThrowSymbol
#
# source://rspec-expectations//lib/rspec/matchers/built_in/throw_symbol.rb#10
def initialize(expected_symbol = T.unsafe(nil), expected_arg = T.unsafe(nil)); end
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/throw_symbol.rb#86
def description; end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/throw_symbol.rb#68
def does_not_match?(given_proc); end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/throw_symbol.rb#103
def expects_call_stack_jump?; end
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/throw_symbol.rb#74
def failure_message; end
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/throw_symbol.rb#80
def failure_message_when_negated; end
# @api private
# @private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/throw_symbol.rb#18
def matches?(given_proc); end
# Indicates this matcher matches against a block.
#
# @api private
# @return [True]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/throw_symbol.rb#93
def supports_block_expectations?; end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/throw_symbol.rb#98
def supports_value_expectations?; end
private
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/throw_symbol.rb#109
def actual_result; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/throw_symbol.rb#118
def caught; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/throw_symbol.rb#114
def expected(symbol_desc = T.unsafe(nil)); end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/throw_symbol.rb#122
def throw_description(symbol, arg); end
end
# Provides the implementation for `yield_control`.
# Not intended to be instantiated directly.
#
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/yield.rb#101
class RSpec::Matchers::BuiltIn::YieldControl < ::RSpec::Matchers::BuiltIn::BaseMatcher
include ::RSpec::Matchers::BuiltIn::CountExpectation
# @api private
# @private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/yield.rb#111
def does_not_match?(block); end
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/yield.rb#117
def failure_message; end
# @api private
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/yield.rb#123
def failure_message_when_negated; end
# @api private
# @private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/yield.rb#104
def matches?(block); end
# @api private
# @private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/yield.rb#128
def supports_block_expectations?; end
# @api private
# @private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/yield.rb#133
def supports_value_expectations?; end
private
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/yield.rb#139
def failure_reason; end
end
# Object that is yielded to `expect` when one of the
# yield matchers is used. Provides information about
# the yield behavior of the object-under-test.
#
# @private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/yield.rb#12
class RSpec::Matchers::BuiltIn::YieldProbe
# @return [YieldProbe] a new instance of YieldProbe
#
# source://rspec-expectations//lib/rspec/matchers/built_in/yield.rb#21
def initialize(block, &callback); end
# source://rspec-expectations//lib/rspec/matchers/built_in/yield.rb#68
def assert_used!; end
# :nocov:
# On 1.8.7, `lambda { }.arity` and `lambda { |*a| }.arity` both return -1,
# so we can't distinguish between accepting no args and an arg splat.
# It's OK to skip, this, though; it just provides a nice error message
# when the user forgets to accept an arg in their block. They'll still get
# the `assert_used!` error message from above, which is sufficient.
#
# source://rspec-expectations//lib/rspec/matchers/built_in/yield.rb#78
def assert_valid_expect_block!; end
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/yield.rb#29
def has_block?; end
# Returns the value of attribute num_yields.
#
# source://rspec-expectations//lib/rspec/matchers/built_in/yield.rb#19
def num_yields; end
# Sets the attribute num_yields
#
# @param value the value to set the attribute num_yields to.
#
# source://rspec-expectations//lib/rspec/matchers/built_in/yield.rb#19
def num_yields=(_arg0); end
# source://rspec-expectations//lib/rspec/matchers/built_in/yield.rb#33
def probe; end
# source://rspec-expectations//lib/rspec/matchers/built_in/yield.rb#53
def single_yield_args; end
# source://rspec-expectations//lib/rspec/matchers/built_in/yield.rb#40
def to_proc; end
# Returns the value of attribute yielded_args.
#
# source://rspec-expectations//lib/rspec/matchers/built_in/yield.rb#19
def yielded_args; end
# Sets the attribute yielded_args
#
# @param value the value to set the attribute yielded_args to.
#
# source://rspec-expectations//lib/rspec/matchers/built_in/yield.rb#19
def yielded_args=(_arg0); end
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/yield.rb#57
def yielded_once?(matcher_name); end
class << self
# source://rspec-expectations//lib/rspec/matchers/built_in/yield.rb#13
def probe(block, &callback); end
end
end
# Provides the implementation for `yield_successive_args`.
# Not intended to be instantiated directly.
#
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/yield.rb#296
class RSpec::Matchers::BuiltIn::YieldSuccessiveArgs < ::RSpec::Matchers::BuiltIn::BaseMatcher
# @api private
# @return [YieldSuccessiveArgs] a new instance of YieldSuccessiveArgs
#
# source://rspec-expectations//lib/rspec/matchers/built_in/yield.rb#297
def initialize(*args); end
# @api private
# @private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/yield.rb#337
def description; end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/yield.rb#320
def does_not_match?(block); end
# @api private
# @private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/yield.rb#325
def failure_message; end
# @api private
# @private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/yield.rb#331
def failure_message_when_negated; end
# @api private
# @private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/yield.rb#302
def matches?(block); end
# @api private
# @private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/yield.rb#342
def supports_block_expectations?; end
# @api private
# @private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/yield.rb#347
def supports_value_expectations?; end
private
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/yield.rb#353
def expected_arg_description; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/yield.rb#365
def negative_failure_reason; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/yield.rb#357
def positive_failure_reason; end
end
# Provides the implementation for `yield_with_args`.
# Not intended to be instantiated directly.
#
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/yield.rb#199
class RSpec::Matchers::BuiltIn::YieldWithArgs < ::RSpec::Matchers::BuiltIn::BaseMatcher
# @api private
# @return [YieldWithArgs] a new instance of YieldWithArgs
#
# source://rspec-expectations//lib/rspec/matchers/built_in/yield.rb#200
def initialize(*args); end
# @api private
# @private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/yield.rb#233
def description; end
# @api private
# @private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/yield.rb#218
def does_not_match?(block); end
# @api private
# @private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/yield.rb#223
def failure_message; end
# @api private
# @private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/yield.rb#228
def failure_message_when_negated; end
# @api private
# @private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/yield.rb#205
def matches?(block); end
# @api private
# @private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/yield.rb#240
def supports_block_expectations?; end
# @api private
# @private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/yield.rb#245
def supports_value_expectations?; end
private
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/yield.rb#288
def all_args_match?; end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/yield.rb#273
def args_currently_match?; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/yield.rb#257
def expected_arg_description; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/yield.rb#261
def negative_failure_reason; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/yield.rb#251
def positive_failure_reason; end
end
# Provides the implementation for `yield_with_no_args`.
# Not intended to be instantiated directly.
#
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/yield.rb#149
class RSpec::Matchers::BuiltIn::YieldWithNoArgs < ::RSpec::Matchers::BuiltIn::BaseMatcher
# @api private
# @private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/yield.rb#158
def does_not_match?(block); end
# @api private
# @private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/yield.rb#163
def failure_message; end
# @api private
# @private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/yield.rb#168
def failure_message_when_negated; end
# @api private
# @private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/yield.rb#151
def matches?(block); end
# @api private
# @private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/yield.rb#173
def supports_block_expectations?; end
# @api private
# @private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/built_in/yield.rb#178
def supports_value_expectations?; end
private
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/yield.rb#190
def negative_failure_reason; end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/built_in/yield.rb#184
def positive_failure_reason; end
end
# Mixin designed to support the composable matcher features
# of RSpec 3+. Mix it into your custom matcher classes to
# allow them to be used in a composable fashion.
#
# @api public
#
# source://rspec-expectations//lib/rspec/matchers/composable.rb#10
module RSpec::Matchers::Composable
# Creates a compound `and` expectation. The matcher will
# only pass if both sub-matchers pass.
# This can be chained together to form an arbitrarily long
# chain of matchers.
#
# @api public
# @example
# expect(alphabet).to start_with("a").and end_with("z")
# expect(alphabet).to start_with("a") & end_with("z")
# @note The negative form (`expect(...).not_to matcher.and other`)
# is not supported at this time.
#
# source://rspec-expectations//lib/rspec/matchers/composable.rb#22
def &(matcher); end
# Delegates to `#matches?`. Allows matchers to be used in composable
# fashion and also supports using matchers in case statements.
#
# @api public
#
# source://rspec-expectations//lib/rspec/matchers/composable.rb#45
def ===(value); end
# Creates a compound `and` expectation. The matcher will
# only pass if both sub-matchers pass.
# This can be chained together to form an arbitrarily long
# chain of matchers.
#
# @api public
# @example
# expect(alphabet).to start_with("a").and end_with("z")
# expect(alphabet).to start_with("a") & end_with("z")
# @note The negative form (`expect(...).not_to matcher.and other`)
# is not supported at this time.
#
# source://rspec-expectations//lib/rspec/matchers/composable.rb#22
def and(matcher); end
# Creates a compound `or` expectation. The matcher will
# pass if either sub-matcher passes.
# This can be chained together to form an arbitrarily long
# chain of matchers.
#
# @api public
# @example
# expect(stoplight.color).to eq("red").or eq("green").or eq("yellow")
# expect(stoplight.color).to eq("red") | eq("green") | eq("yellow")
# @note The negative form (`expect(...).not_to matcher.or other`)
# is not supported at this time.
#
# source://rspec-expectations//lib/rspec/matchers/composable.rb#38
def or(matcher); end
# Creates a compound `or` expectation. The matcher will
# pass if either sub-matcher passes.
# This can be chained together to form an arbitrarily long
# chain of matchers.
#
# @api public
# @example
# expect(stoplight.color).to eq("red").or eq("green").or eq("yellow")
# expect(stoplight.color).to eq("red") | eq("green") | eq("yellow")
# @note The negative form (`expect(...).not_to matcher.or other`)
# is not supported at this time.
#
# source://rspec-expectations//lib/rspec/matchers/composable.rb#38
def |(matcher); end
private
# Returns the description of the given object in a way that is
# aware of composed matchers. If the object is a matcher with
# a `description` method, returns the description; otherwise
# returns `object.inspect`.
#
# You are encouraged to use this in your custom matcher's
# `description`, `failure_message` or
# `failure_message_when_negated` implementation if you are
# supporting matcher arguments.
#
# @api public
#
# source://rspec-expectations//lib/rspec/matchers/composable.rb#82
def description_of(object); end
# We should enumerate arrays as long as they are not recursive.
#
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/composable.rb#142
def should_enumerate?(item); end
# Transforms the given data structure (typically a hash or array)
# into a new data structure that, when `#inspect` is called on it,
# will provide descriptions of any contained matchers rather than
# the normal `#inspect` output.
#
# You are encouraged to use this in your custom matcher's
# `description`, `failure_message` or
# `failure_message_when_negated` implementation if you are
# supporting any arguments which may be a data structure
# containing matchers.
#
# @api public
#
# source://rspec-expectations//lib/rspec/matchers/composable.rb#98
def surface_descriptions_in(item); end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/composable.rb#147
def unreadable_io?(object); end
# This provides a generic way to fuzzy-match an expected value against
# an actual value. It understands nested data structures (e.g. hashes
# and arrays) and is able to match against a matcher being used as
# the expected value or within the expected value at any level of
# nesting.
#
# Within a custom matcher you are encouraged to use this whenever your
# matcher needs to match two values, unless it needs more precise semantics.
# For example, the `eq` matcher _does not_ use this as it is meant to
# use `==` (and only `==`) for matching.
#
# @api public
# @param expected [Object] what is expected
# @param actual [Object] the actual value
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/composable.rb#66
def values_match?(expected, actual); end
# Historically, a single matcher instance was only checked
# against a single value. Given that the matcher was only
# used once, it's been common to memoize some intermediate
# calculation that is derived from the `actual` value in
# order to reuse that intermediate result in the failure
# message.
#
# This can cause a problem when using such a matcher as an
# argument to another matcher in a composed matcher expression,
# since the matcher instance may be checked against multiple
# values and produce invalid results due to the memoization.
#
# To deal with this, we clone any matchers in `expected` via
# this method when using `values_match?`, so that any memoization
# does not "leak" between checks.
#
# @api public
# @private
#
# source://rspec-expectations//lib/rspec/matchers/composable.rb#128
def with_matchers_cloned(object); end
class << self
# We should enumerate arrays as long as they are not recursive.
#
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/composable.rb#142
def should_enumerate?(item); end
# Transforms the given data structure (typically a hash or array)
# into a new data structure that, when `#inspect` is called on it,
# will provide descriptions of any contained matchers rather than
# the normal `#inspect` output.
#
# You are encouraged to use this in your custom matcher's
# `description`, `failure_message` or
# `failure_message_when_negated` implementation if you are
# supporting any arguments which may be a data structure
# containing matchers.
#
# @api public
#
# source://rspec-expectations//lib/rspec/matchers/composable.rb#98
def surface_descriptions_in(item); end
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/composable.rb#147
def unreadable_io?(object); end
end
end
# Wraps an item in order to surface its `description` via `inspect`.
#
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/composable.rb#158
class RSpec::Matchers::Composable::DescribableItem < ::Struct
# Inspectable version of the item description
#
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/composable.rb#160
def inspect; end
# Returns the value of attribute item
#
# @return [Object] the current value of item
def item; end
# Sets the attribute item
#
# @param value [Object] the value to set the attribute item to.
# @return [Object] the newly set value
def item=(_); end
# A pretty printed version of the item description.
#
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/composable.rb#165
def pretty_print(pp); end
class << self
def [](*_arg0); end
def inspect; end
def keyword_init?; end
def members; end
def new(*_arg0); end
end
end
# Defines the custom matcher DSL.
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#6
module RSpec::Matchers::DSL
# Defines a matcher alias. The returned matcher's `description` will be overridden
# to reflect the phrasing of the new name, which will be used in failure messages
# when passed as an argument to another matcher in a composed matcher expression.
#
# @example
# RSpec::Matchers.alias_matcher :a_list_that_sums_to, :sum_to
# sum_to(3).description # => "sum to 3"
# a_list_that_sums_to(3).description # => "a list that sums to 3"
# @example
# RSpec::Matchers.alias_matcher :a_list_sorted_by, :be_sorted_by do |description|
# description.sub("be sorted by", "a list sorted by")
# end
#
# be_sorted_by(:age).description # => "be sorted by age"
# a_list_sorted_by(:age).description # => "a list sorted by age"
# @option options
# @param new_name [Symbol] the new name for the matcher
# @param old_name [Symbol] the original name for the matcher
# @param options [Hash] options for the aliased matcher
# @see RSpec::Matchers
# @yield [String] optional block that, when given, is used to define the overridden
# logic. The yielded arg is the original description or failure message. If no
# block is provided, a default override is used based on the old and new names.
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#32
def alias_matcher(new_name, old_name, options = T.unsafe(nil), &description_override); end
# Defines a custom matcher.
#
# @param name [Symbol] the name for the matcher
# @see RSpec::Matchers
# @yield [Object] block that is used to define the matcher.
# The block is evaluated in the context of your custom matcher class.
# When args are passed to your matcher, they will be yielded here,
# usually representing the expected value(s).
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#73
def define(name, &declarations); end
# Defines a negated matcher. The returned matcher's `description` and `failure_message`
# will be overridden to reflect the phrasing of the new name, and the match logic will
# be based on the original matcher but negated.
#
# @example
# RSpec::Matchers.define_negated_matcher :exclude, :include
# include(1, 2).description # => "include 1 and 2"
# exclude(1, 2).description # => "exclude 1 and 2"
# @param negated_name [Symbol] the name for the negated matcher
# @param base_name [Symbol] the name of the original matcher that will be negated
# @see RSpec::Matchers
# @yield [String] optional block that, when given, is used to define the overridden
# logic. The yielded arg is the original description or failure message. If no
# block is provided, a default override is used based on the old and new names.
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#61
def define_negated_matcher(negated_name, base_name, &description_override); end
# Defines a custom matcher.
#
# @param name [Symbol] the name for the matcher
# @see RSpec::Matchers
# @yield [Object] block that is used to define the matcher.
# The block is evaluated in the context of your custom matcher class.
# When args are passed to your matcher, they will be yielded here,
# usually representing the expected value(s).
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#73
def matcher(name, &declarations); end
private
# :nocov:
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#84
def warn_about_block_args(name, declarations); end
end
# Defines default implementations of the matcher
# protocol methods for custom matchers. You can
# override any of these using the {RSpec::Matchers::DSL::Macros Macros} methods
# from within an `RSpec::Matchers.define` block.
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#385
module RSpec::Matchers::DSL::DefaultImplementations
include ::RSpec::Matchers::BuiltIn::BaseMatcher::DefaultFailureMessages
# The default description.
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#395
def description; end
# Used internally by objects returns by `should` and `should_not`.
#
# @api private
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#390
def diffable?; end
# Most matchers do not expect call stack jumps.
#
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#412
def expects_call_stack_jump?; end
# Matchers do not support block expectations by default. You
# must opt-in.
#
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#403
def supports_block_expectations?; end
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#407
def supports_value_expectations?; end
private
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#418
def chained_method_clause_sentences; end
end
# Contains the methods that are available from within the
# `RSpec::Matchers.define` DSL for creating custom matchers.
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#104
module RSpec::Matchers::DSL::Macros
# Convenience for defining methods on this matcher to create a fluent
# interface. The trick about fluent interfaces is that each method must
# return self in order to chain methods together. `chain` handles that
# for you. If the method is invoked and the
# `include_chain_clauses_in_custom_matcher_descriptions` config option
# hash been enabled, the chained method name and args will be added to the
# default description and failure message.
#
# In the common case where you just want the chained method to store some
# value(s) for later use (e.g. in `match`), you can provide one or more
# attribute names instead of a block; the chained method will store its
# arguments in instance variables with those names, and the values will
# be exposed via getters.
#
# @example
#
# RSpec::Matchers.define :have_errors_on do |key|
# chain :with do |message|
# @message = message
# end
#
# match do |actual|
# actual.errors[key] == @message
# end
# end
#
# expect(minor).to have_errors_on(:age).with("Not old enough to participate")
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#298
def chain(method_name, *attr_names, &definition); end
# Customize the description to use for one-liners. Only use this when
# the description generated by default doesn't suit your needs.
#
# @example
#
# RSpec::Matchers.define :qualify_for do |expected|
# match { your_match_logic }
#
# description do
# "qualify for #{expected}"
# end
# end
# @yield [Object] actual the actual object (i.e. the value wrapped by `expect`)
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#253
def description(&definition); end
# Tells the matcher to diff the actual and expected values in the failure
# message.
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#259
def diffable; end
# Customizes the failure message to use when this matcher is
# asked to positively match. Only use this when the message
# generated by default doesn't suit your needs.
#
# @example
#
# RSpec::Matchers.define :have_strength do |expected|
# match { your_match_logic }
#
# failure_message do |actual|
# "Expected strength of #{expected}, but had #{actual.strength}"
# end
# end
# @yield [Object] actual the actual object (i.e. the value wrapped by `expect`)
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#216
def failure_message(&definition); end
# Customize the failure message to use when this matcher is asked
# to negatively match. Only use this when the message generated by
# default doesn't suit your needs.
#
# @example
#
# RSpec::Matchers.define :have_strength do |expected|
# match { your_match_logic }
#
# failure_message_when_negated do |actual|
# "Expected not to have strength of #{expected}, but did"
# end
# end
# @yield [Object] actual the actual object (i.e. the value wrapped by `expect`)
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#235
def failure_message_when_negated(&definition); end
# Stores the block that is used to determine whether this matcher passes
# or fails. The block should return a boolean value. When the matcher is
# passed to `expect(...).to` and the block returns `true`, then the expectation
# passes. Similarly, when the matcher is passed to `expect(...).not_to` and the
# block returns `false`, then the expectation passes.
#
# By default the match block will swallow expectation errors (e.g.
# caused by using an expectation such as `expect(1).to eq 2`), if you
# wish to allow these to bubble up, pass in the option
# `:notify_expectation_failures => true`.
#
# @example
#
# RSpec::Matchers.define :be_even do
# match do |actual|
# actual.even?
# end
# end
#
# expect(4).to be_even # passes
# expect(3).not_to be_even # passes
# expect(3).to be_even # fails
# expect(4).not_to be_even # fails
# @param options [Hash] for defining the behavior of the match block.
# @yield [Object] actual the actual value (i.e. the value wrapped by `expect`)
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#131
def match(options = T.unsafe(nil), &match_block); end
# Use this instead of `match` when the block will raise an exception
# rather than returning false to indicate a failure.
#
# @example
#
# RSpec::Matchers.define :accept_as_valid do |candidate_address|
# match_unless_raises ValidationException do |validator|
# validator.validate(candidate_address)
# end
# end
#
# expect(email_validator).to accept_as_valid("person@company.com")
# @yield [Object] actual the actual object (i.e. the value wrapped by `expect`)
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#188
def match_unless_raises(expected_exception = T.unsafe(nil), &match_block); end
# Use this to define the block for a negative expectation (`expect(...).not_to`)
# when the positive and negative forms require different handling. This
# is rarely necessary, but can be helpful, for example, when specifying
# asynchronous processes that require different timeouts.
#
# By default the match block will swallow expectation errors (e.g.
# caused by using an expectation such as `expect(1).to eq 2`), if you
# wish to allow these to bubble up, pass in the option
# `:notify_expectation_failures => true`.
#
# @param options [Hash] for defining the behavior of the match block.
# @yield [Object] actual the actual value (i.e. the value wrapped by `expect`)
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#160
def match_when_negated(options = T.unsafe(nil), &match_block); end
# Declares that the matcher can be used in a block expectation.
# Users will not be able to use your matcher in a block
# expectation without declaring this.
# (e.g. `expect { do_something }.to matcher`).
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#267
def supports_block_expectations; end
private
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#312
def assign_attributes(attr_names); end
# Does the following:
#
# - Defines the named method using a user-provided block
# in @user_method_defs, which is included as an ancestor
# in the singleton class in which we eval the `define` block.
# - Defines an overridden definition for the same method
# usign the provided `our_def` block.
# - Provides a default `our_def` block for the common case
# of needing to call the user's definition with `@actual`
# as an arg, but only if their block's arity can handle it.
#
# This compiles the user block into an actual method, allowing
# them to use normal method constructs like `return`
# (e.g. for an early guard statement), while allowing us to define
# an override that can provide the wrapped handling
# (e.g. assigning `@actual`, rescueing errors, etc) and
# can `super` to the user's definition.
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#346
def define_user_override(method_name, user_def, &our_def); end
end
# Defines deprecated macro methods from RSpec 2 for backwards compatibility.
#
# @deprecated Use the methods from {Macros} instead.
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#354
module RSpec::Matchers::DSL::Macros::Deprecated
# @deprecated Use {Macros#failure_message} instead.
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#368
def failure_message_for_should(&definition); end
# @deprecated Use {Macros#failure_message_when_negated} instead.
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#374
def failure_message_for_should_not(&definition); end
# @deprecated Use {Macros#match} instead.
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#356
def match_for_should(&definition); end
# @deprecated Use {Macros#match_when_negated} instead.
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#362
def match_for_should_not(&definition); end
end
# @private
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#146
RSpec::Matchers::DSL::Macros::RAISE_NOTIFIER = T.let(T.unsafe(nil), Proc)
# The class used for custom matchers. The block passed to
# `RSpec::Matchers.define` will be evaluated in the context
# of the singleton class of an instance, and will have the
# {RSpec::Matchers::DSL::Macros Macros} methods available.
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#433
class RSpec::Matchers::DSL::Matcher
include ::RSpec::Matchers::BuiltIn::BaseMatcher::DefaultFailureMessages
include ::RSpec::Matchers::DSL::DefaultImplementations
include ::RSpec::Matchers
include ::RSpec::Matchers::Composable
extend ::RSpec::Matchers::DSL::Macros
extend ::RSpec::Matchers::DSL::Macros::Deprecated
# @api private
# @return [Matcher] a new instance of Matcher
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#462
def initialize(name, declarations, matcher_execution_context, *expected, &block_arg); end
# Exposes the value being matched against -- generally the object
# object wrapped by `expect`.
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#449
def actual; end
# The block parameter used in the expectation
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#456
def block_arg; end
# Provides the expected value. This will return an array if
# multiple arguments were passed to the matcher; otherwise it
# will return a single value.
#
# @see #expected_as_array
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#482
def expected; end
# Returns the expected value as an an array. This exists primarily
# to aid in upgrading from RSpec 2.x, since in RSpec 2, `expected`
# always returned an array.
#
# @see #expected
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#494
def expected_as_array; end
# Adds the name (rather than a cryptic hex number)
# so we can identify an instance of
# the matcher in error messages (e.g. for `NoMethodError`)
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#499
def inspect; end
# The name of the matcher.
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#459
def name; end
# Exposes the exception raised during the matching by `match_unless_raises`.
# Could be useful to extract details for a failure message.
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#453
def rescued_exception; end
private
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#522
def actual_arg_for(block); end
# Takes care of forwarding unhandled messages to the
# `@matcher_execution_context` (typically the current
# running `RSpec::Core::Example`). This is needed by
# rspec-rails so that it can define matchers that wrap
# Rails' test helper methods, but it's also a useful
# feature in its own right.
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#532
def method_missing(method, *args, **_arg2, &block); end
# Indicates that this matcher responds to messages
# from the `@matcher_execution_context` as well.
# Also, supports getting a method object for such methods.
#
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#507
def respond_to_missing?(method, include_private = T.unsafe(nil)); end
end
# source://rspec-expectations//lib/rspec/matchers.rb#959
RSpec::Matchers::DYNAMIC_MATCHER_REGEX = T.let(T.unsafe(nil), Regexp)
# Facilitates converting ruby objects to English phrases.
#
# source://rspec-expectations//lib/rspec/matchers/english_phrasing.rb#4
module RSpec::Matchers::EnglishPhrasing
class << self
# when given an empty list.
#
# Converts an object (often a collection of objects)
# into an English list.
#
# list(['banana', 'kiwi', 'mango'])
# #=> " \"banana\", \"kiwi\", and \"mango\""
#
# Given an empty collection, returns the empty string.
#
# list([]) #=> ""
#
# @note The returned string has a leading space except
#
# source://rspec-expectations//lib/rspec/matchers/english_phrasing.rb#26
def list(obj); end
# Converts a symbol into an English expression.
#
# split_words(:banana_creme_pie) #=> "banana creme pie"
#
# source://rspec-expectations//lib/rspec/matchers/english_phrasing.rb#9
def split_words(sym); end
end
end
# source://rspec-expectations//lib/rspec/matchers.rb#958
RSpec::Matchers::HAS_REGEX = T.let(T.unsafe(nil), Regexp)
# Provides the necessary plumbing to wrap a matcher with a decorator.
#
# @private
#
# source://rspec-expectations//lib/rspec/matchers/matcher_delegator.rb#31
class RSpec::Matchers::MatcherDelegator < ::RSpec::Matchers::BaseDelegator
include ::RSpec::Matchers::Composable
# @return [MatcherDelegator] a new instance of MatcherDelegator
#
# source://rspec-expectations//lib/rspec/matchers/matcher_delegator.rb#35
def initialize(base_matcher); end
# Returns the value of attribute base_matcher.
#
# source://rspec-expectations//lib/rspec/matchers/matcher_delegator.rb#33
def base_matcher; end
# source://rspec-expectations//lib/rspec/matchers/matcher_delegator.rb#39
def method_missing(*args, &block); end
private
# source://rspec-expectations//lib/rspec/matchers/matcher_delegator.rb#55
def initialize_copy(other); end
# @return [Boolean]
#
# source://rspec-expectations//lib/rspec/matchers/matcher_delegator.rb#44
def respond_to_missing?(name, include_all = T.unsafe(nil)); end
end
# Handles list of expected and actual value pairs when there is a need
# to render multiple diffs. Also can handle one pair.
#
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/multi_matcher_diff.rb#6
class RSpec::Matchers::MultiMatcherDiff
# @api private
# @return [MultiMatcherDiff] a new instance of MultiMatcherDiff
#
# source://rspec-expectations//lib/rspec/matchers/multi_matcher_diff.rb#16
def initialize(expected_list); end
# Returns message with diff(s) appended for provided differ
# factory and actual value if there are any
#
# @api private
# @param message [String] original failure message
# @param differ [Proc]
# @return [String]
#
# source://rspec-expectations//lib/rspec/matchers/multi_matcher_diff.rb#47
def message_with_diff(message, differ); end
private
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/multi_matcher_diff.rb#68
def diffs(differ); end
class << self
# Wraps provided matcher list in instance of
# MultiMatcherDiff.
#
# @api private
# @param matchers [Array<Any>] list of matchers to wrap
# @return [RSpec::Matchers::MultiMatcherDiff]
#
# source://rspec-expectations//lib/rspec/matchers/multi_matcher_diff.rb#37
def for_many_matchers(matchers); end
# Wraps provided expected value in instance of
# MultiMatcherDiff. If provided value is already an
# MultiMatcherDiff then it just returns it.
#
# @api private
# @param expected [Any] value to be wrapped
# @param actual [Any] value
# @return [RSpec::Matchers::MultiMatcherDiff]
#
# source://rspec-expectations//lib/rspec/matchers/multi_matcher_diff.rb#27
def from(expected, actual); end
private
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/multi_matcher_diff.rb#58
def diff_label_for(matcher); end
# @api private
#
# source://rspec-expectations//lib/rspec/matchers/multi_matcher_diff.rb#62
def truncated(description); end
end
end
# Default diff label when there is only one matcher in diff
# output
#
# @api private
# @private
#
# source://rspec-expectations//lib/rspec/matchers/multi_matcher_diff.rb#10
RSpec::Matchers::MultiMatcherDiff::DEFAULT_DIFF_LABEL = T.let(T.unsafe(nil), String)
# Maximum readable matcher description length
#
# @api private
# @private
#
# source://rspec-expectations//lib/rspec/matchers/multi_matcher_diff.rb#14
RSpec::Matchers::MultiMatcherDiff::DESCRIPTION_MAX_LENGTH = T.let(T.unsafe(nil), Integer)