Sha256: 380bc77ddfc485b85e21c15ba9cc4297528149b36d3402f3bb8877f94b659014
Contents?: true
Size: 1.32 KB
Versions: 2
Compression:
Stored size: 1.32 KB
Contents
module StructuredWarnings module Test # This warner is used in Assertions#assert_warn and # Assertions#assert_no_warn blocks. It captures all warnings in format and # provides access to them using the warned? method. class Warner < StructuredWarnings::Warner # Overrides the public interface of StructuredWarnings::Warner. This # method always returns nil to avoid warnings on stdout during assert_warn # and assert_no_warn blocks. def format(warning, message, call_stack) given_warnings << warning.new(message) nil end # Returns true if any warning or a subclass of warning was emitted. def warned?(warning, message = nil) case message when Regexp given_warnings.any? {|w| w.is_a?(warning) && w.message =~ message} when String given_warnings.any? {|w| w.is_a?(warning) && w.message == message} when nil given_warnings.any? {|w| w.is_a?(warning)} else raise ArgumentError, "Unkown argument for 'message'" end end # :stopdoc: protected # Returns an array of all warning classes, that were given to this # warner's format method, including duplications. def given_warnings @given_warnings ||= [] end # :startdoc: end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
structured_warnings-0.2.0 | lib/structured_warnings/test/warner.rb |
structured_warnings-0.1.4 | lib/structured_warnings/test/warner.rb |