Sha256: 5774deb546f561a262827e6fea20d54ff104ed2baad524b0a5243fa8b1f9df4f

Contents?: true

Size: 1.07 KB

Versions: 3

Compression:

Stored size: 1.07 KB

Contents

module Riot
  # In the positive case, asserts the result has items using the +any?+ operator.
  #
  #   asserts("an array") { [1] }.any
  #   asserts("a hash") { {:name => 'washington'} }.any
  #
  # In the negative case, asserts the result has no items using the +any?+ operator.
  #
  #   denies("an empty array") { [] }.any
  #   denies("an empty hash") { {} }.any
  #
  # @deprecated Please use +asserts.empty+ or +denies.empty+ instead.
  class AnyMacro < AssertionMacro
    register :any

    # (see Riot::AssertionMacro#evaluate)
    def evaluate(actual)
      warn "any is deprecated; please use asserts.empty or denies.empty instead"
      any?(actual) ? pass("has items") : fail(expected_message(actual).to_have_items)
    end

    # (see Riot::AssertionMacro#devaluate)
    def devaluate(actual)
      warn "any is deprecated; please use asserts.empty or denies.empty instead"
      any?(actual) ? fail(expected_message(actual).not_to_have_items) : pass("has items")
    end
  private
    def any?(object)
      object.kind_of?(String) ? object.length > 0 : object.any?
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
riot-0.12.7 lib/riot/assertion_macros/any.rb
riot-0.12.6 lib/riot/assertion_macros/any.rb
riot-0.12.5 lib/riot/assertion_macros/any.rb