File tree Expand file tree Collapse file tree 2 files changed +37
-2
lines changed Expand file tree Collapse file tree 2 files changed +37
-2
lines changed Original file line number Diff line number Diff line change @@ -43,6 +43,16 @@ def selections
43
43
end
44
44
memoize :selections
45
45
46
+ # Emit warning
47
+ #
48
+ # @param [String] warning
49
+ #
50
+ # @return [self]
51
+ def warn ( message )
52
+ config . reporter . warn ( message )
53
+ self
54
+ end
55
+
46
56
private
47
57
48
58
# Kill mutation under isolation with integration
Original file line number Diff line number Diff line change 19
19
let ( :isolation ) { Mutant ::Isolation ::None . new }
20
20
let ( :kernel ) { instance_double ( Object , 'kernel' ) }
21
21
let ( :mutation_subject ) { instance_double ( Mutant ::Subject ) }
22
+ let ( :reporter ) { instance_double ( Mutant ::Reporter ) }
22
23
let ( :selector ) { instance_double ( Mutant ::Selector ) }
23
24
let ( :test_a ) { instance_double ( Mutant ::Test ) }
24
25
let ( :test_b ) { instance_double ( Mutant ::Test ) }
32
33
end
33
34
34
35
let ( :config ) do
35
- Mutant ::Config ::DEFAULT . with (
36
+ instance_double (
37
+ Mutant ::Config ,
38
+ integration : integration_class ,
36
39
isolation : isolation ,
37
- integration : integration_class
40
+ reporter : reporter
38
41
)
39
42
end
40
43
@@ -128,4 +131,26 @@ def apply
128
131
expect ( apply ) . to eql ( mutation_subject => tests )
129
132
end
130
133
end
134
+
135
+ describe '#warn' do
136
+ def apply
137
+ subject . warn ( message )
138
+ end
139
+
140
+ before do
141
+ allow ( reporter ) . to receive_messages ( warn : reporter )
142
+ end
143
+
144
+ let ( :message ) { 'test-warning' }
145
+
146
+ it 'warns via the reporter' do
147
+ apply
148
+
149
+ expect ( reporter ) . to have_received ( :warn ) . with ( message )
150
+ end
151
+
152
+ it 'returns self' do
153
+ expect ( apply ) . to be ( subject )
154
+ end
155
+ end
131
156
end
You can’t perform that action at this time.
0 commit comments