fix: Clear the strainer cache when a global filter is added (#826)

This commit is contained in:
Dylan Thacker-Smith
2016-11-24 10:32:11 -05:00
committed by GitHub
parent 86944fe7b7
commit b146b49f46
2 changed files with 13 additions and 0 deletions

View File

@@ -133,4 +133,16 @@ class StrainerUnitTest < Minitest::Test
strainer.class.add_filter(PublicMethodOverrideFilter)
assert strainer.class.filter_methods.include?('public_filter')
end
module LateAddedFilter
def late_added_filter(input)
"filtered"
end
end
def test_global_filter_clears_cache
assert_equal 'input', Strainer.create(nil).invoke('late_added_filter', 'input')
Strainer.global_filter(LateAddedFilter)
assert_equal 'filtered', Strainer.create(nil).invoke('late_added_filter', 'input')
end
end # StrainerTest