Sha256: 3f7c32f6f420124f9f1a996b0229e5ec7cab44dc672ab656083f557c8de9b392

Contents?: true

Size: 792 Bytes

Versions: 26

Compression:

Stored size: 792 Bytes

Contents

# frozen_string_literal: true

RSpec::Matchers.define :terminate do |_code|
  actual = nil

  def supports_block_expectations?
    true
  end

  match do |block|
    actual = block.call
    # puts "Actual : #{actual.inspect} -- #{@status_code}"
    actual && actual == status_code
  end

  chain :with_code do |status_code|
    # puts "Status Code : #{status_code}"
    @status_code = status_code
  end

  failure_message do |_block|
    "expected block to call exit(#{status_code}) but exit" +
      (actual.nil? ? ' not called' : "(#{actual}) was called")
  end

  failure_message_when_negated do |_block|
    "expected block not to call exit(#{status_code})"
  end

  description do
    "expect block to call exit(#{status_code})"
  end

  def status_code
    @status_code ||= 0
  end
end

Version data entries

26 entries across 26 versions & 1 rubygems

Version Path
evostream-event-2.0.3 spec/matchers/exit_code_matchers.rb
evostream-event-2.0.3.pre.1265906291 spec/matchers/exit_code_matchers.rb
evostream-event-2.0.3.pre.1265756691 spec/matchers/exit_code_matchers.rb
evostream-event-2.0.3.pre.1265752332 spec/matchers/exit_code_matchers.rb
evostream-event-2.0.2 spec/matchers/exit_code_matchers.rb
evostream-event-2.0.2.pre.994185738 spec/matchers/exit_code_matchers.rb
evostream-event-2.0.0.pre.994170151 spec/matchers/exit_code_matchers.rb
evostream-event-2.0.0.pre.994165179 spec/matchers/exit_code_matchers.rb
evostream-event-2.0.0.pre.994159616 spec/matchers/exit_code_matchers.rb
evostream-event-2.0.0.pre.856454391 spec/matchers/exit_code_matchers.rb
evostream-event-2.0.0.pre.856447460 spec/matchers/exit_code_matchers.rb
evostream-event-2.0.0.pre.856441003 spec/matchers/exit_code_matchers.rb
evostream-event-2.0.0.pre.816370746 spec/matchers/exit_code_matchers.rb
evostream-event-2.0.0.pre.809444619 spec/matchers/exit_code_matchers.rb
evostream-event-1.0.3 spec/matchers/exit_code_matchers.rb
evostream-event-1.0.3.pre.95 spec/matchers/exit_code_matchers.rb
evostream-event-1.0.3.pre.93 spec/matchers/exit_code_matchers.rb
evostream-event-1.0.3.pre.91 spec/matchers/exit_code_matchers.rb
evostream-event-1.0.3.pre.83 spec/matchers/exit_code_matchers.rb
evostream-event-1.0.2 spec/matchers/exit_code_matchers.rb