Sha256: 1cf1d18d99b55324edea1870cfa1b98ddd7f89bf4dda82985f73b9cdd246d101

Contents?: true

Size: 1.65 KB

Versions: 119

Compression:

Stored size: 1.65 KB

Contents

require 'rspec/expectations'

Minitest::Test.class_eval do
  include ::RSpec::Matchers

  # This `expect` will only be called if the user is using Minitest < 5.6
  # or if they are _not_ using Minitest::Spec on 5.6+. Minitest::Spec on 5.6+
  # defines its own `expect` and will have the assertions incremented via our
  # definitions of `to`/`not_to`/`to_not` below.
  def expect(*a, &b)
    self.assertions += 1
    super
  end

  # Convert a `MultipleExpectationsNotMetError` to a `Minitest::Assertion` error so
  # it gets counted in minitest's summary stats as a failure rather than an error.
  # It would be nice to make `MultipleExpectationsNotMetError` subclass
  # `Minitest::Assertion`, but Minitest's implementation does not treat subclasses
  # the same, so this is the best we can do.
  def aggregate_failures(*args, &block)
    super
  rescue RSpec::Expectations::MultipleExpectationsNotMetError => e
    assertion_failed = Minitest::Assertion.new(e.message)
    assertion_failed.set_backtrace e.backtrace
    raise assertion_failed
  end
end

# Older versions of Minitest (e.g. before 5.6) do not define
# `Minitest::Expectation`.
if defined?(::Minitest::Expectation)
  Minitest::Expectation.class_eval do
    include RSpec::Expectations::ExpectationTarget::InstanceMethods

    def to(*args)
      ctx.assertions += 1
      super
    end

    def not_to(*args)
      ctx.assertions += 1
      super
    end

    def to_not(*args)
      ctx.assertions += 1
      super
    end
  end
end

module RSpec
  module Expectations
    remove_const :ExpectationNotMetError
    # Exception raised when an expectation fails.
    ExpectationNotMetError = ::Minitest::Assertion
  end
end

Version data entries

119 entries across 106 versions & 33 rubygems

Version Path
vagrant-unbundled-2.2.16.0 vendor/bundle/ruby/2.7.0/gems/rspec-expectations-3.5.0/lib/rspec/expectations/minitest_integration.rb
vagrant-unbundled-2.2.16.0 vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.5.0/lib/rspec/expectations/minitest_integration.rb
vagrant-unbundled-2.2.14.0 vendor/bundle/ruby/2.7.0/gems/rspec-expectations-3.5.0/lib/rspec/expectations/minitest_integration.rb
vagrant-unbundled-2.2.10.0 vendor/bundle/ruby/2.7.0/gems/rspec-expectations-3.5.0/lib/rspec/expectations/minitest_integration.rb
logstash-filter-csharp-0.2.1 vendor/bundle/jruby/2.3.0/gems/rspec-expectations-3.5.0/lib/rspec/expectations/minitest_integration.rb
logstash-filter-csharp-0.2.0 vendor/bundle/jruby/2.3.0/gems/rspec-expectations-3.5.0/lib/rspec/expectations/minitest_integration.rb
vagrant-unbundled-2.2.9.0 vendor/bundle/ruby/2.7.0/gems/rspec-expectations-3.5.0/lib/rspec/expectations/minitest_integration.rb
vagrant-unbundled-2.2.8.0 vendor/bundle/ruby/2.7.0/gems/rspec-expectations-3.5.0/lib/rspec/expectations/minitest_integration.rb
vagrant-unbundled-2.2.7.0 vendor/bundle/ruby/2.7.0/gems/rspec-expectations-3.5.0/lib/rspec/expectations/minitest_integration.rb
vagrant-unbundled-2.2.7.0 vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.5.0/lib/rspec/expectations/minitest_integration.rb
vagrant-unbundled-2.2.6.2 vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.5.0/lib/rspec/expectations/minitest_integration.rb
vagrant-unbundled-2.2.6.1 vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.5.0/lib/rspec/expectations/minitest_integration.rb
vagrant-unbundled-2.2.6.0 vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.5.0/lib/rspec/expectations/minitest_integration.rb
vagrant-unbundled-2.2.5.0 vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.5.0/lib/rspec/expectations/minitest_integration.rb
vagrant-unbundled-2.2.5.0 vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.5.0/lib/rspec/expectations/minitest_integration.rb
vagrant-unbundled-2.2.4.0 vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.5.0/lib/rspec/expectations/minitest_integration.rb
vagrant-unbundled-2.2.4.0 vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.5.0/lib/rspec/expectations/minitest_integration.rb
vagrant-unbundled-2.2.3.0 vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.5.0/lib/rspec/expectations/minitest_integration.rb
vagrant-unbundled-2.2.2.0 vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.5.0/lib/rspec/expectations/minitest_integration.rb
vagrant-unbundled-2.2.0.0 vendor/bundle/ruby/2.5.0/gems/rspec-expectations-3.5.0/lib/rspec/expectations/minitest_integration.rb