Skip to content

Commit 3b564f5

Browse files
committed
Cover reporters snapshot mutation
1 parent 330d068 commit 3b564f5

1 file changed

Lines changed: 24 additions & 0 deletions

File tree

test/unit/reporters_mutex_test.rb

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,5 +45,29 @@ def record(_assertions); end
4545

4646
assert_operator fake_mutex.synchronize_calls, :>=, 1
4747
end
48+
49+
test "reporters notification iterates over snapshot" do
50+
received = []
51+
52+
mutating_reporter = Class.new do
53+
define_method :record do |assertions|
54+
received << [:original, assertions]
55+
CapybaraScreenshotDiff.reporters.clear
56+
CapybaraScreenshotDiff.reporters << Class.new {
57+
define_method(:record) { |a| received << [:added, a] }
58+
}.new
59+
end
60+
end.new
61+
62+
CapybaraScreenshotDiff.reporters << mutating_reporter
63+
64+
assertions = [:some, :assertions]
65+
66+
assert_nothing_raised do
67+
CapybaraScreenshotDiff.send(:notify_reporters, assertions)
68+
end
69+
70+
assert_equal [[:original, assertions]], received
71+
end
4872
end
4973
end

0 commit comments

Comments
 (0)