Skip to content

Commit 8a8c65c

Browse files
committed
fix issue #542 ensure view tracker can ignore for both used and unused reports
1 parent c25cc2c commit 8a8c65c

File tree

2 files changed

+14
-0
lines changed

2 files changed

+14
-0
lines changed

lib/coverband/collectors/view_tracker.rb

+1
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ def unused_keys(used_views = nil)
8585
unused_views = all_keys - recently_used_views
8686
# since layouts don't include format we count them used if they match with ANY formats
8787
unused_views.reject { |view| view.match(/\/layouts\//) && recently_used_views.any? { |used_view| view.include?(used_view) } }
88+
unused_views.reject { |view| @ignore_patterns.any? { |pattern| view.include?(pattern) } }
8889
end
8990

9091
def clear_key!(filename)

test/coverband/collectors/view_tracker_test.rb

+13
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ def tracker_key
99

1010
def setup
1111
super
12+
Coverband.configuration.ignore += ["app/views/anything/ignore_me.html.erb"]
1213
fake_store.raw_store.del(tracker_key)
1314
end
1415

@@ -94,6 +95,18 @@ def setup
9495
assert_equal ["not_used"], tracker.unused_keys
9596
end
9697

98+
test "report hides partials marked in ignore config" do
99+
Coverband::Collectors::ViewTracker.expects(:supported_version?).returns(true)
100+
store = fake_store
101+
file_path = "#{File.expand_path(Coverband.configuration.root)}/app/views/anything/ignore_me.html.erb"
102+
target = [file_path, "not_used"]
103+
tracker = Coverband::Collectors::ViewTracker.new(store: store, roots: "dir", target: target)
104+
tracker.track_key(identifier: file_path)
105+
tracker.save_report
106+
assert_equal ["not_used"], tracker.unused_keys
107+
assert_equal [], tracker.used_keys.keys
108+
end
109+
97110
test "reset store" do
98111
Coverband::Collectors::ViewTracker.expects(:supported_version?).returns(true)
99112
store = fake_store

0 commit comments

Comments
 (0)