f0391c2517
Using the sed script from https://gitlab.com/gitlab-org/gitlab-ce/issues/59758
21 lines
804 B
Ruby
21 lines
804 B
Ruby
# frozen_string_literal: true
|
|
|
|
# These matchers are a syntactic hack to provide more readable expectations for
|
|
# an Enumerable object.
|
|
#
|
|
# They take advantage of the `all?`, `none?`, and `one?` methods, and the fact
|
|
# that RSpec provides a `be_something` matcher for all predicates.
|
|
#
|
|
# Example:
|
|
#
|
|
# # Ensure exactly one object in an Array satisfies a condition
|
|
# expect(users.one? { |u| u.admin? }).to eq true
|
|
#
|
|
# # The same thing, but using the `be_one` matcher
|
|
# expect(users).to be_one { |u| u.admin? }
|
|
#
|
|
# # The same thing again, but using `satisfy_one` for improved readability
|
|
# expect(users).to satisfy_one { |u| u.admin? }
|
|
RSpec::Matchers.alias_matcher :satisfy_all, :be_all
|
|
RSpec::Matchers.alias_matcher :satisfy_none, :be_none
|
|
RSpec::Matchers.alias_matcher :satisfy_one, :be_one
|