class RSpec::Matchers::BuiltIn::YieldWithNoArgs

@api private Provides the implementation for `yield_with_no_args`. Not intended to be instantiated directly.

Public Instance Methods

does_not_match?(block) click to toggle source

@private

# File lib/rspec/matchers/built_in/yield.rb, line 153
def does_not_match?(block)
  !matches?(block) && @probe.has_block?
end
failure_message() click to toggle source

@private

# File lib/rspec/matchers/built_in/yield.rb, line 158
def failure_message
  "expected given block to yield with no arguments, but #{positive_failure_reason}"
end
failure_message_when_negated() click to toggle source

@private

# File lib/rspec/matchers/built_in/yield.rb, line 163
def failure_message_when_negated
  "expected given block not to yield with no arguments, but #{negative_failure_reason}"
end
matches?(block) click to toggle source

@private

# File lib/rspec/matchers/built_in/yield.rb, line 146
def matches?(block)
  @probe = YieldProbe.probe(block)
  return false unless @probe.has_block?
  @probe.yielded_once?(:yield_with_no_args) && @probe.single_yield_args.empty?
end
supports_block_expectations?() click to toggle source

@private

# File lib/rspec/matchers/built_in/yield.rb, line 168
def supports_block_expectations?
  true
end

Private Instance Methods

negative_failure_reason() click to toggle source
# File lib/rspec/matchers/built_in/yield.rb, line 180
def negative_failure_reason
  return 'was not a block' unless @probe.has_block?
  'did'
end
positive_failure_reason() click to toggle source
# File lib/rspec/matchers/built_in/yield.rb, line 174
def positive_failure_reason
  return 'was not a block' unless @probe.has_block?
  return 'did not yield' if @probe.num_yields.zero?
  "yielded with arguments: #{description_of @probe.single_yield_args}"
end