Sha256: 82074efc33495db21b38baa949acc5d9fcdd464d3533399920c5961af54dddb7
Contents?: true
Size: 1.32 KB
Versions: 93
Compression:
Stored size: 1.32 KB
Contents
# frozen_string_literal: true require "active_support/deprecation" module ActiveSupport module Testing module Deprecation #:nodoc: def assert_deprecated(match = nil, deprecator = nil, &block) result, warnings = collect_deprecations(deprecator, &block) assert !warnings.empty?, "Expected a deprecation warning within the block but received none" if match match = Regexp.new(Regexp.escape(match)) unless match.is_a?(Regexp) assert warnings.any? { |w| match.match?(w) }, "No deprecation warning matched #{match}: #{warnings.join(', ')}" end result end def assert_not_deprecated(deprecator = nil, &block) result, deprecations = collect_deprecations(deprecator, &block) assert deprecations.empty?, "Expected no deprecation warning within the block but received #{deprecations.size}: \n #{deprecations * "\n "}" result end def collect_deprecations(deprecator = nil) deprecator ||= ActiveSupport::Deprecation old_behavior = deprecator.behavior deprecations = [] deprecator.behavior = Proc.new do |message, callstack| deprecations << message end result = yield [result, deprecations] ensure deprecator.behavior = old_behavior end end end end
Version data entries
93 entries across 91 versions & 13 rubygems