test: modify Strainer.add_filter duplicate inclusion test case

This commit is contained in:
chenxianyu
2017-02-22 10:33:22 +08:00
parent aa79c33dda
commit 4318240ae0
+13 -6
View File
@@ -146,12 +146,19 @@ class StrainerUnitTest < Minitest::Test
assert_equal 'filtered', Strainer.create(nil).invoke('late_added_filter', 'input') assert_equal 'filtered', Strainer.create(nil).invoke('late_added_filter', 'input')
end end
def test_add_filter_returns_nil_when_a_filter_module_was_added def test_add_filter_does_not_include_already_included_module
a = Module.new mod = Module.new do
class << self
attr_accessor :include_count
def included(mod)
self.include_count += 1
end
end
self.include_count = 0
end
strainer = Context.new.strainer strainer = Context.new.strainer
result1 = strainer.class.add_filter(a) strainer.class.add_filter(mod)
result2 = strainer.class.add_filter(a) strainer.class.add_filter(mod)
assert_kind_of Set, result1 assert_equal 1, mod.include_count
assert_kind_of NilClass, result2
end end
end # StrainerTest end # StrainerTest