ActiveSupport::BacktraceCleaner#remove_filters! allows for completely untouched backtrace [#4079 state:resolved]

Signed-off-by: José Valim <jose.valim@gmail.com>
This commit is contained in:
Doug Alcorn 2010-03-27 12:47:39 -04:00 committed by José Valim
parent f46dc9b6b7
commit dc97430630
2 changed files with 13 additions and 2 deletions

@ -4,7 +4,9 @@ module ActiveSupport
# context, so only the relevant lines are included.
#
# If you need to reconfigure an existing BacktraceCleaner, like the one in Rails, to show as much as possible, you can always
# call BacktraceCleaner#remove_silencers!
# call BacktraceCleaner#remove_silencers! Also, if you need to reconfigure an existing BacktraceCleaner so that it does not
# filter or modify the paths of any lines of the backtrace, you can call BacktraceCleaner#remove_filters! These two methods
# will give you a completely untouched backtrace.
#
# Example:
#
@ -60,6 +62,10 @@ def remove_silencers!
@silencers = []
end
def remove_filters!
@filters = []
end
private
def filter(backtrace)
@filters.each do |f|

@ -9,6 +9,11 @@ def setup
test "backtrace should not contain prefix when it has been filtered out" do
assert_equal "/my/class.rb", @bc.clean([ "/my/prefix/my/class.rb" ]).first
end
test "backtrace cleaner should allow removing filters" do
@bc.remove_filters!
assert_equal "/my/prefix/my/class.rb", @bc.clean(["/my/prefix/my/class.rb"]).first
end
test "backtrace should contain unaltered lines if they dont match a filter" do
assert_equal "/my/other_prefix/my/class.rb", @bc.clean([ "/my/other_prefix/my/class.rb" ]).first
@ -44,4 +49,4 @@ def setup
test "backtrace should not silence lines that has first had their silence hook filtered out" do
assert_equal [ "/class.rb" ], @bc.clean([ "/mongrel/class.rb" ])
end
end
end