From 4318240ae07979cc9d8c3930ff01d13a8cf969e7 Mon Sep 17 00:00:00 2001 From: chenxianyu Date: Wed, 22 Feb 2017 10:33:22 +0800 Subject: [PATCH] test: modify Strainer.add_filter duplicate inclusion test case --- test/unit/strainer_unit_test.rb | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/test/unit/strainer_unit_test.rb b/test/unit/strainer_unit_test.rb index 64ec150..5ce2100 100644 --- a/test/unit/strainer_unit_test.rb +++ b/test/unit/strainer_unit_test.rb @@ -146,12 +146,19 @@ class StrainerUnitTest < Minitest::Test assert_equal 'filtered', Strainer.create(nil).invoke('late_added_filter', 'input') end - def test_add_filter_returns_nil_when_a_filter_module_was_added - a = Module.new + def test_add_filter_does_not_include_already_included_module + 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 - result1 = strainer.class.add_filter(a) - result2 = strainer.class.add_filter(a) - assert_kind_of Set, result1 - assert_kind_of NilClass, result2 + strainer.class.add_filter(mod) + strainer.class.add_filter(mod) + assert_equal 1, mod.include_count end end # StrainerTest