mutant 0.5.26 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (127) hide show
  1. checksums.yaml +4 -4
  2. data/.rspec +1 -0
  3. data/.travis.yml +1 -0
  4. data/Changelog.md +16 -3
  5. data/Gemfile +0 -2
  6. data/Gemfile.devtools +2 -2
  7. data/README.md +9 -15
  8. data/bin/mutant +0 -1
  9. data/config/flay.yml +1 -1
  10. data/config/flog.yml +1 -1
  11. data/config/mutant.yml +1 -1
  12. data/config/reek.yml +14 -11
  13. data/config/rubocop.yml +1 -1
  14. data/lib/mutant.rb +22 -21
  15. data/lib/mutant/ast.rb +47 -0
  16. data/lib/mutant/cli.rb +7 -4
  17. data/lib/mutant/config.rb +1 -0
  18. data/lib/mutant/context.rb +1 -1
  19. data/lib/mutant/diff.rb +38 -7
  20. data/lib/mutant/env.rb +22 -3
  21. data/lib/mutant/expression.rb +15 -4
  22. data/lib/mutant/integration.rb +1 -1
  23. data/lib/mutant/isolation.rb +2 -4
  24. data/lib/mutant/matcher.rb +1 -1
  25. data/lib/mutant/matcher/method.rb +1 -1
  26. data/lib/mutant/matcher/method/singleton.rb +1 -1
  27. data/lib/mutant/matcher/methods.rb +0 -2
  28. data/lib/mutant/meta/example.rb +0 -2
  29. data/lib/mutant/meta/example/dsl.rb +1 -1
  30. data/lib/mutant/mutator.rb +1 -1
  31. data/lib/mutant/mutator/node.rb +3 -3
  32. data/lib/mutant/mutator/node/begin.rb +1 -1
  33. data/lib/mutant/mutator/node/block.rb +16 -3
  34. data/lib/mutant/mutator/node/if.rb +1 -1
  35. data/lib/mutant/mutator/node/literal/fixnum.rb +1 -1
  36. data/lib/mutant/mutator/node/resbody.rb +0 -2
  37. data/lib/mutant/mutator/node/send.rb +17 -7
  38. data/lib/mutant/mutator/node/send/index.rb +0 -2
  39. data/lib/mutant/mutator/registry.rb +1 -1
  40. data/lib/mutant/mutator/util.rb +1 -1
  41. data/lib/mutant/mutator/util/array.rb +1 -1
  42. data/lib/mutant/reporter.rb +13 -3
  43. data/lib/mutant/reporter/cli.rb +54 -8
  44. data/lib/mutant/reporter/cli/format.rb +197 -0
  45. data/lib/mutant/reporter/cli/printer.rb +402 -22
  46. data/lib/mutant/reporter/cli/tput.rb +27 -0
  47. data/lib/mutant/reporter/null.rb +4 -34
  48. data/lib/mutant/reporter/trace.rb +6 -38
  49. data/lib/mutant/result.rb +44 -56
  50. data/lib/mutant/runner.rb +99 -52
  51. data/lib/mutant/runner/collector.rb +134 -0
  52. data/lib/mutant/subject/method/instance.rb +12 -4
  53. data/lib/mutant/version.rb +1 -1
  54. data/lib/mutant/warning_filter.rb +0 -2
  55. data/lib/mutant/zombifier/file.rb +1 -1
  56. data/meta/block.rb +17 -1
  57. data/meta/send.rb +123 -1
  58. data/mutant-rspec.gemspec +3 -3
  59. data/mutant.gemspec +1 -1
  60. data/spec/integration/mutant/corpus_spec.rb +4 -195
  61. data/spec/integration/mutant/null_spec.rb +1 -3
  62. data/spec/integration/mutant/rspec_spec.rb +1 -3
  63. data/spec/integration/mutant/test_mutator_handles_types_spec.rb +1 -3
  64. data/spec/integration/mutant/zombie_spec.rb +1 -3
  65. data/spec/integrations.yml +7 -0
  66. data/spec/shared/method_matcher_behavior.rb +1 -1
  67. data/spec/spec_helper.rb +1 -0
  68. data/spec/support/compress_helper.rb +1 -0
  69. data/spec/support/corpus.rb +239 -0
  70. data/spec/support/mutation_verifier.rb +2 -4
  71. data/spec/unit/mutant/cli_spec.rb +20 -13
  72. data/spec/unit/mutant/context/root_spec.rb +1 -3
  73. data/spec/unit/mutant/context/scope/root_spec.rb +1 -3
  74. data/spec/unit/mutant/context/scope/unqualified_name_spec.rb +1 -3
  75. data/spec/unit/mutant/diff_spec.rb +37 -19
  76. data/spec/unit/mutant/expression/method_spec.rb +5 -7
  77. data/spec/unit/mutant/expression/methods_spec.rb +5 -7
  78. data/spec/unit/mutant/expression/namespace/flat_spec.rb +6 -8
  79. data/spec/unit/mutant/expression/namespace/recursive_spec.rb +6 -7
  80. data/spec/unit/mutant/expression_spec.rb +14 -5
  81. data/spec/unit/mutant/integration_spec.rb +14 -3
  82. data/spec/unit/mutant/isolation_spec.rb +2 -4
  83. data/spec/unit/mutant/loader/eval_spec.rb +1 -3
  84. data/spec/unit/mutant/matcher/chain_spec.rb +1 -3
  85. data/spec/unit/mutant/matcher/compiler/subject_prefix_spec.rb +21 -0
  86. data/spec/unit/mutant/matcher/compiler_spec.rb +28 -3
  87. data/spec/unit/mutant/matcher/filter_spec.rb +1 -3
  88. data/spec/unit/mutant/matcher/method/instance_spec.rb +3 -5
  89. data/spec/unit/mutant/matcher/method/singleton_spec.rb +22 -4
  90. data/spec/unit/mutant/matcher/methods/instance_spec.rb +7 -6
  91. data/spec/unit/mutant/matcher/methods/singleton_spec.rb +4 -6
  92. data/spec/unit/mutant/matcher/namespace_spec.rb +1 -3
  93. data/spec/unit/mutant/matcher/null_spec.rb +1 -3
  94. data/spec/unit/mutant/mutation_spec.rb +1 -3
  95. data/spec/unit/mutant/mutator/node_spec.rb +1 -3
  96. data/spec/unit/mutant/reporter/cli_spec.rb +444 -206
  97. data/spec/unit/mutant/reporter/null_spec.rb +1 -3
  98. data/spec/unit/mutant/require_highjack_spec.rb +1 -3
  99. data/spec/unit/mutant/runner_spec.rb +42 -28
  100. data/spec/unit/mutant/subject/context_spec.rb +1 -3
  101. data/spec/unit/mutant/subject/method/instance_spec.rb +27 -19
  102. data/spec/unit/mutant/subject/method/singleton_spec.rb +49 -17
  103. data/spec/unit/mutant/subject_spec.rb +1 -3
  104. data/spec/unit/mutant/test_spec.rb +1 -3
  105. data/spec/unit/mutant/warning_expectation.rb +1 -3
  106. data/spec/unit/mutant/warning_filter_spec.rb +1 -3
  107. data/spec/unit/mutant_spec.rb +13 -3
  108. data/test_app/Gemfile.devtools +2 -2
  109. data/test_app/spec/unit/test_app/literal/string_spec.rb +1 -1
  110. metadata +10 -21
  111. data/lib/mutant/matcher/method/finder.rb +0 -72
  112. data/lib/mutant/reporter/cli/progress.rb +0 -10
  113. data/lib/mutant/reporter/cli/progress/config.rb +0 -30
  114. data/lib/mutant/reporter/cli/progress/env.rb +0 -30
  115. data/lib/mutant/reporter/cli/progress/noop.rb +0 -27
  116. data/lib/mutant/reporter/cli/progress/result.rb +0 -12
  117. data/lib/mutant/reporter/cli/progress/result/mutation.rb +0 -45
  118. data/lib/mutant/reporter/cli/progress/result/subject.rb +0 -54
  119. data/lib/mutant/reporter/cli/progress/subject.rb +0 -27
  120. data/lib/mutant/reporter/cli/registry.rb +0 -81
  121. data/lib/mutant/reporter/cli/report.rb +0 -10
  122. data/lib/mutant/reporter/cli/report/env.rb +0 -92
  123. data/lib/mutant/reporter/cli/report/mutation.rb +0 -103
  124. data/lib/mutant/reporter/cli/report/subject.rb +0 -32
  125. data/lib/mutant/reporter/cli/report/test.rb +0 -28
  126. data/lib/mutant/walker.rb +0 -53
  127. data/spec/shared/mutator_behavior.rb +0 -55
@@ -1,6 +1,4 @@
1
- require 'spec_helper'
2
-
3
- describe Mutant::Reporter::Null do
1
+ RSpec.describe Mutant::Reporter::Null do
4
2
  let(:object) { described_class.new }
5
3
 
6
4
  describe '#report' do
@@ -1,6 +1,4 @@
1
- require 'spec_helper'
2
-
3
- describe Mutant::RequireHighjack do
1
+ RSpec.describe Mutant::RequireHighjack do
4
2
  let(:object) { described_class.new(target, highjacked_calls.method(:push)) }
5
3
 
6
4
  let(:highjacked_calls) { [] }
@@ -1,31 +1,29 @@
1
- require 'spec_helper'
1
+ class Double
2
+ include Concord.new(:name, :attributes)
3
+
4
+ def self.new(name, attributes = {})
5
+ super
6
+ end
7
+
8
+ def update(_attributes)
9
+ self
10
+ end
11
+
12
+ def method_missing(name, *arguments)
13
+ super unless attributes.key?(name)
14
+ fail "Arguments provided for #{name}" if arguments.any?
15
+ attributes.fetch(name)
16
+ end
17
+ end
2
18
 
3
19
  # FIXME: This is not even close to a mutation covering spec.
4
- describe Mutant::Runner do
20
+ RSpec.describe Mutant::Runner do
5
21
  let(:object) { described_class.new(env) }
6
22
 
7
23
  let(:reporter) { Mutant::Reporter::Trace.new }
8
24
  let(:config) { Mutant::Config::DEFAULT.update(reporter: reporter, isolation: Mutant::Isolation::None) }
9
25
  let(:subjects) { [subject_a, subject_b] }
10
26
 
11
- class Double
12
- include Concord.new(:name, :attributes)
13
-
14
- def self.new(name, attributes = {})
15
- super
16
- end
17
-
18
- def update(_attributes)
19
- self
20
- end
21
-
22
- def method_missing(name, *arguments)
23
- super unless attributes.key?(name)
24
- fail "Arguments provided for #{name}" if arguments.any?
25
- attributes.fetch(name)
26
- end
27
- end
28
-
29
27
  let(:subject_a) { Double.new('Subject A', mutations: mutations_a, tests: subject_a_tests) }
30
28
  let(:subject_b) { Double.new('Subject B', mutations: mutations_b) }
31
29
 
@@ -70,13 +68,15 @@ describe Mutant::Runner do
70
68
  subject: subject_a,
71
69
  mutation_results: [
72
70
  Mutant::Result::Mutation.new(
73
- mutation: mutation_a1,
74
- runtime: 0.0,
71
+ index: 0,
72
+ mutation: mutation_a1,
73
+ runtime: 0.0,
75
74
  test_results: [test_report_a1]
76
75
  ),
77
76
  Mutant::Result::Mutation.new(
78
- mutation: mutation_a2,
79
- runtime: 0.0,
77
+ index: 1,
78
+ mutation: mutation_a2,
79
+ runtime: 0.0,
80
80
  test_results: [test_report_a1]
81
81
  )
82
82
  ],
@@ -91,19 +91,33 @@ describe Mutant::Runner do
91
91
  end
92
92
 
93
93
  describe '#result' do
94
- context 'on normal execution' do
94
+ let(:expected_result) do
95
+ Mutant::Result::Env.new(
96
+ env: env,
97
+ runtime: 0.0,
98
+ done: false,
99
+ subject_results: expected_subject_results
100
+ )
101
+ end
102
+
103
+ pending 'on normal execution' do
95
104
  subject { object.result }
96
105
 
97
- its(:env) { should be(env) }
98
- its(:subject_results) { should eql(expected_subject_results) }
106
+ its(:env) { should be(env) }
107
+
108
+ it 'reports result' do
109
+ expect { subject }.to change { config.reporter.report_calls }.from([]).to([expected_result])
110
+ end
99
111
  end
100
112
 
101
- context 'when isolation raises error' do
113
+ skip 'when isolation raises error' do
102
114
  subject { object.result }
103
115
 
104
116
  its(:env) { should be(env) }
105
117
  its(:subject_results) { should eql(expected_subject_results) }
106
118
 
119
+ it { should eql(expected_result) }
120
+
107
121
  before do
108
122
  expect(Mutant::Isolation::None).to receive(:call)
109
123
  .twice
@@ -1,6 +1,4 @@
1
- require 'spec_helper'
2
-
3
- describe Mutant::Subject, '#context' do
1
+ RSpec.describe Mutant::Subject, '#context' do
4
2
  subject { object.context }
5
3
 
6
4
  let(:class_under_test) do
@@ -1,33 +1,41 @@
1
- # encoding: UTF-8
2
-
3
- require 'spec_helper'
4
-
5
- describe Mutant::Subject::Method::Instance do
1
+ RSpec.describe Mutant::Subject::Method::Instance do
6
2
  let(:object) { described_class.new(config, context, node) }
7
- let(:context) { double }
3
+ let(:context) { Mutant::Context::Scope.new(scope, double('Source Path')) }
8
4
  let(:config) { Mutant::Config::DEFAULT }
9
5
 
10
6
  let(:node) do
11
7
  s(:def, :foo, s(:args))
12
8
  end
13
9
 
14
- describe '#prepare' do
10
+ let(:scope) do
11
+ Class.new do
12
+ attr_reader :bar
15
13
 
16
- let(:context) do
17
- Mutant::Context::Scope.new(scope, double('Source Path'))
14
+ def initialize
15
+ @bar = :boo
16
+ end
17
+
18
+ def foo
19
+ end
20
+
21
+ def self.name
22
+ 'Test'
23
+ end
18
24
  end
25
+ end
19
26
 
20
- let(:scope) do
21
- Class.new do
22
- attr_reader :bar
27
+ describe '#expression' do
28
+ subject { object.expression }
23
29
 
24
- def initialize
25
- @bar = :boo
26
- end
30
+ it { should eql(Mutant::Expression.parse('Test#foo')) }
27
31
 
28
- def foo
29
- end
30
- end
32
+ it_should_behave_like 'an idempotent method'
33
+ end
34
+
35
+ describe '#prepare' do
36
+
37
+ let(:context) do
38
+ Mutant::Context::Scope.new(scope, double('Source Path'))
31
39
  end
32
40
 
33
41
  subject { object.prepare }
@@ -71,7 +79,7 @@ describe Mutant::Subject::Method::Instance do
71
79
  end
72
80
  end
73
81
 
74
- describe Mutant::Subject::Method::Instance::Memoized do
82
+ RSpec.describe Mutant::Subject::Method::Instance::Memoized do
75
83
  let(:object) { described_class.new(config, context, node) }
76
84
  let(:context) { double }
77
85
  let(:config) { Mutant::Config::DEFAULT }
@@ -1,29 +1,33 @@
1
- # encoding: UTF-8
2
-
3
- require 'spec_helper'
4
-
5
- describe Mutant::Subject::Method::Singleton do
1
+ RSpec.describe Mutant::Subject::Method::Singleton do
6
2
 
7
3
  let(:object) { described_class.new(config, context, node) }
8
4
  let(:config) { Mutant::Config::DEFAULT }
9
- let(:context) { double }
5
+ let(:node) { s(:defs, s(:self), :foo, s(:args)) }
10
6
 
11
- let(:node) do
12
- s(:defs, s(:self), :foo, s(:args))
7
+ let(:context) do
8
+ Mutant::Context::Scope.new(scope, double('Source Path'))
13
9
  end
14
10
 
15
- describe '#prepare' do
16
-
17
- let(:context) do
18
- Mutant::Context::Scope.new(scope, double('Source Path'))
19
- end
11
+ let(:scope) do
12
+ Class.new do
13
+ def self.foo
14
+ end
20
15
 
21
- let(:scope) do
22
- Class.new do
23
- def self.foo
24
- end
16
+ def self.name
17
+ 'Test'
25
18
  end
26
19
  end
20
+ end
21
+
22
+ describe '#expression' do
23
+ subject { object.expression }
24
+
25
+ it { should eql(Mutant::Expression.parse('Test.foo')) }
26
+
27
+ it_should_behave_like 'an idempotent method'
28
+ end
29
+
30
+ describe '#prepare' do
27
31
 
28
32
  subject { object.prepare }
29
33
 
@@ -39,4 +43,32 @@ describe Mutant::Subject::Method::Singleton do
39
43
 
40
44
  it { should eql("def self.foo\nend") }
41
45
  end
46
+
47
+ describe '#public?' do
48
+ subject { object.public? }
49
+
50
+ context 'when method is public' do
51
+ it { should be(true) }
52
+ end
53
+
54
+ context 'when method is private' do
55
+ before do
56
+ scope.class_eval do
57
+ private_class_method :foo
58
+ end
59
+ end
60
+
61
+ it { should be(false) }
62
+ end
63
+
64
+ context 'when method is protected' do
65
+ before do
66
+ class << scope
67
+ protected :foo
68
+ end
69
+ end
70
+
71
+ it { should be(false) }
72
+ end
73
+ end
42
74
  end
@@ -1,6 +1,4 @@
1
- require 'spec_helper'
2
-
3
- describe Mutant::Subject do
1
+ RSpec.describe Mutant::Subject do
4
2
  let(:class_under_test) do
5
3
  Class.new(described_class) do
6
4
  def expression
@@ -1,6 +1,4 @@
1
- require 'spec_helper'
2
-
3
- describe Mutant::Test do
1
+ RSpec.describe Mutant::Test do
4
2
  let(:object) { described_class.new(integration, expression) }
5
3
 
6
4
  let(:integration) { double('Integration', name: 'test-integration') }
@@ -1,6 +1,4 @@
1
- require 'spec_helper'
2
-
3
- describe Mutant::WarningExpectation do
1
+ RSpec.describe Mutant::WarningExpectation do
4
2
  let(:object) { described_class.new(expected_warnings) }
5
3
 
6
4
  let(:expected_warnings) { [] }
@@ -1,6 +1,4 @@
1
- require 'spec_helper'
2
-
3
- describe Mutant::WarningFilter do
1
+ RSpec.describe Mutant::WarningFilter do
4
2
  before do
5
3
  if RUBY_ENGINE.eql?('rbx')
6
4
  skip 'Disabled because expected warnings are from MRI'
@@ -1,8 +1,18 @@
1
- require 'spec_helper'
2
-
3
- describe Mutant do
1
+ RSpec.describe Mutant do
4
2
  let(:object) { described_class }
5
3
 
4
+ describe '.ci?' do
5
+ subject { object.ci? }
6
+
7
+ let(:result) { double('Result') }
8
+
9
+ before do
10
+ expect(ENV).to receive(:key?).with('CI').and_return(result)
11
+ end
12
+
13
+ it { should be(result) }
14
+ end
15
+
6
16
  describe '.zombify' do
7
17
  subject { object.zombify }
8
18
 
@@ -2,8 +2,8 @@
2
2
 
3
3
  group :development do
4
4
  gem 'rake', '~> 10.3.2'
5
- gem 'rspec', '~> 2.99.0'
6
- gem 'rspec-core', '~> 2.99.0'
5
+ gem 'rspec', '~> 3.0.0'
6
+ gem 'rspec-its', '~> 1.0.1'
7
7
  gem 'yard', '~> 0.8.7.4'
8
8
 
9
9
  platform :rbx do
@@ -2,7 +2,7 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- describe TestApp::Literal, '#string' do
5
+ RSpec.describe TestApp::Literal, '#string' do
6
6
  subject { object.string }
7
7
 
8
8
  let(:object) { described_class.new }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mutant
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.26
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Markus Schirp
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-07-08 00:00:00.000000000 Z
11
+ date: 2014-08-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: parser
@@ -212,14 +212,14 @@ dependencies:
212
212
  requirements:
213
213
  - - "~>"
214
214
  - !ruby/object:Gem::Version
215
- version: 1.0.0
215
+ version: 1.2.0
216
216
  type: :runtime
217
217
  prerelease: false
218
218
  version_requirements: !ruby/object:Gem::Requirement
219
219
  requirements:
220
220
  - - "~>"
221
221
  - !ruby/object:Gem::Version
222
- version: 1.0.0
222
+ version: 1.2.0
223
223
  - !ruby/object:Gem::Dependency
224
224
  name: bundler
225
225
  requirement: !ruby/object:Gem::Requirement
@@ -303,7 +303,6 @@ files:
303
303
  - lib/mutant/matcher/config.rb
304
304
  - lib/mutant/matcher/filter.rb
305
305
  - lib/mutant/matcher/method.rb
306
- - lib/mutant/matcher/method/finder.rb
307
306
  - lib/mutant/matcher/method/instance.rb
308
307
  - lib/mutant/matcher/method/singleton.rb
309
308
  - lib/mutant/matcher/methods.rb
@@ -375,33 +374,21 @@ files:
375
374
  - lib/mutant/mutator/util/symbol.rb
376
375
  - lib/mutant/reporter.rb
377
376
  - lib/mutant/reporter/cli.rb
377
+ - lib/mutant/reporter/cli/format.rb
378
378
  - lib/mutant/reporter/cli/printer.rb
379
- - lib/mutant/reporter/cli/progress.rb
380
- - lib/mutant/reporter/cli/progress/config.rb
381
- - lib/mutant/reporter/cli/progress/env.rb
382
- - lib/mutant/reporter/cli/progress/noop.rb
383
- - lib/mutant/reporter/cli/progress/result.rb
384
- - lib/mutant/reporter/cli/progress/result/mutation.rb
385
- - lib/mutant/reporter/cli/progress/result/subject.rb
386
- - lib/mutant/reporter/cli/progress/subject.rb
387
- - lib/mutant/reporter/cli/registry.rb
388
- - lib/mutant/reporter/cli/report.rb
389
- - lib/mutant/reporter/cli/report/env.rb
390
- - lib/mutant/reporter/cli/report/mutation.rb
391
- - lib/mutant/reporter/cli/report/subject.rb
392
- - lib/mutant/reporter/cli/report/test.rb
379
+ - lib/mutant/reporter/cli/tput.rb
393
380
  - lib/mutant/reporter/null.rb
394
381
  - lib/mutant/reporter/trace.rb
395
382
  - lib/mutant/require_highjack.rb
396
383
  - lib/mutant/result.rb
397
384
  - lib/mutant/runner.rb
385
+ - lib/mutant/runner/collector.rb
398
386
  - lib/mutant/subject.rb
399
387
  - lib/mutant/subject/method.rb
400
388
  - lib/mutant/subject/method/instance.rb
401
389
  - lib/mutant/subject/method/singleton.rb
402
390
  - lib/mutant/test.rb
403
391
  - lib/mutant/version.rb
404
- - lib/mutant/walker.rb
405
392
  - lib/mutant/warning_expectation.rb
406
393
  - lib/mutant/warning_filter.rb
407
394
  - lib/mutant/zombifier.rb
@@ -471,9 +458,9 @@ files:
471
458
  - spec/integrations.yml
472
459
  - spec/rcov.opts
473
460
  - spec/shared/method_matcher_behavior.rb
474
- - spec/shared/mutator_behavior.rb
475
461
  - spec/spec_helper.rb
476
462
  - spec/support/compress_helper.rb
463
+ - spec/support/corpus.rb
477
464
  - spec/support/ice_nine_config.rb
478
465
  - spec/support/mutation_verifier.rb
479
466
  - spec/support/rspec.rb
@@ -492,6 +479,7 @@ files:
492
479
  - spec/unit/mutant/isolation_spec.rb
493
480
  - spec/unit/mutant/loader/eval_spec.rb
494
481
  - spec/unit/mutant/matcher/chain_spec.rb
482
+ - spec/unit/mutant/matcher/compiler/subject_prefix_spec.rb
495
483
  - spec/unit/mutant/matcher/compiler_spec.rb
496
484
  - spec/unit/mutant/matcher/filter_spec.rb
497
485
  - spec/unit/mutant/matcher/method/instance_spec.rb
@@ -567,6 +555,7 @@ test_files:
567
555
  - spec/unit/mutant/isolation_spec.rb
568
556
  - spec/unit/mutant/loader/eval_spec.rb
569
557
  - spec/unit/mutant/matcher/chain_spec.rb
558
+ - spec/unit/mutant/matcher/compiler/subject_prefix_spec.rb
570
559
  - spec/unit/mutant/matcher/compiler_spec.rb
571
560
  - spec/unit/mutant/matcher/filter_spec.rb
572
561
  - spec/unit/mutant/matcher/method/instance_spec.rb