mutant 0.8.11 → 0.8.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitattributes +1 -0
- data/Changelog.md +29 -3
- data/README.md +2 -0
- data/config/flay.yml +1 -1
- data/lib/mutant.rb +6 -0
- data/lib/mutant/ast/meta/send.rb +26 -0
- data/lib/mutant/ast/regexp/transformer/direct.rb +1 -0
- data/lib/mutant/env/bootstrap.rb +7 -2
- data/lib/mutant/meta/example/dsl.rb +8 -0
- data/lib/mutant/mutator/node/generic.rb +52 -8
- data/lib/mutant/mutator/node/regexp.rb +0 -11
- data/lib/mutant/mutator/node/regexp/alternation_meta.rb +21 -0
- data/lib/mutant/mutator/node/regexp/capture_group.rb +26 -0
- data/lib/mutant/mutator/node/regexp/character_type.rb +29 -0
- data/lib/mutant/mutator/node/regexp/end_of_line_anchor.rb +21 -0
- data/lib/mutant/mutator/node/regexp/end_of_string_or_before_end_of_line_anchor.rb +21 -0
- data/lib/mutant/mutator/node/regexp/greedy_zero_or_more.rb +25 -0
- data/lib/mutant/mutator/node/send.rb +20 -1
- data/lib/mutant/reporter/cli.rb +2 -0
- data/lib/mutant/version.rb +1 -1
- data/lib/mutant/zombifier.rb +6 -1
- data/meta/regexp.rb +8 -30
- data/meta/regexp/character_types.rb +20 -0
- data/meta/regexp/regexp_alternation_meta.rb +11 -0
- data/meta/regexp/regexp_bol_anchor.rb +1 -6
- data/meta/regexp/regexp_bos_anchor.rb +2 -12
- data/meta/regexp/regexp_capture_group.rb +17 -0
- data/meta/regexp/regexp_eol_anchor.rb +8 -0
- data/meta/regexp/regexp_eos_anchor.rb +6 -0
- data/meta/regexp/regexp_eos_ob_eol_anchor.rb +8 -0
- data/meta/regexp/regexp_greedy_zero_or_more.rb +10 -0
- data/meta/regexp/regexp_root_expression.rb +1 -6
- data/meta/send.rb +65 -0
- data/mutant.gemspec +2 -2
- data/spec/integrations.yml +0 -21
- data/spec/support/shared_context.rb +0 -13
- data/spec/support/warnings.yml +1 -1
- data/spec/unit/mutant/actor/mailbox_spec.rb +0 -3
- data/spec/unit/mutant/ast/meta/send/proc_predicate_spec.rb +28 -0
- data/spec/unit/mutant/ast/regexp_spec.rb +8 -3
- data/spec/unit/mutant/cli_spec.rb +0 -1
- data/spec/unit/mutant/context_spec.rb +0 -7
- data/spec/unit/mutant/env_spec.rb +2 -17
- data/spec/unit/mutant/expression_spec.rb +0 -2
- data/spec/unit/mutant/matcher/compiler_spec.rb +0 -2
- data/spec/unit/mutant/matcher/method/instance_spec.rb +0 -2
- data/spec/unit/mutant/matcher/method/singleton_spec.rb +1 -2
- data/spec/unit/mutant/meta/example/dsl_spec.rb +16 -0
- data/spec/unit/mutant/mutation_spec.rb +0 -3
- data/spec/unit/mutant/mutator_spec.rb +0 -2
- data/spec/unit/mutant/parallel/master_spec.rb +0 -3
- data/spec/unit/mutant/parallel/worker_spec.rb +0 -1
- data/spec/unit/mutant/registry_spec.rb +3 -5
- data/spec/unit/mutant/reporter/cli/tput_spec.rb +1 -1
- data/spec/unit/mutant/result/env_spec.rb +0 -5
- data/spec/unit/mutant/result/mutation_spec.rb +1 -13
- data/spec/unit/mutant/runner_spec.rb +3 -16
- data/spec/unit/mutant/selector/expression_spec.rb +0 -1
- data/spec/unit/mutant/subject_spec.rb +1 -6
- metadata +24 -9
@@ -0,0 +1,28 @@
|
|
1
|
+
RSpec.describe Mutant::AST::Meta::Send, '#proc?' do
|
2
|
+
subject { described_class.new(node).proc? }
|
3
|
+
|
4
|
+
shared_context 'proc send' do |source|
|
5
|
+
let(:node) { Parser::CurrentRuby.parse(source).children.first }
|
6
|
+
end
|
7
|
+
|
8
|
+
shared_examples 'proc definition' do |*args|
|
9
|
+
include_context 'proc send', *args
|
10
|
+
|
11
|
+
it { should be(true) }
|
12
|
+
end
|
13
|
+
|
14
|
+
shared_examples 'not a proc definition' do |*args|
|
15
|
+
include_context 'proc send', *args
|
16
|
+
|
17
|
+
it { should be_falsey }
|
18
|
+
end
|
19
|
+
|
20
|
+
it_behaves_like 'proc definition', 'proc { }'
|
21
|
+
it_behaves_like 'proc definition', 'Proc.new { }'
|
22
|
+
it_behaves_like 'not a proc definition', 'new { }'
|
23
|
+
it_behaves_like 'not a proc definition', 'foo.proc { }'
|
24
|
+
it_behaves_like 'not a proc definition', 'Proc.blah { }'
|
25
|
+
it_behaves_like 'not a proc definition', 'Proc().new { }'
|
26
|
+
it_behaves_like 'not a proc definition', 'Foo.new { }'
|
27
|
+
it_behaves_like 'not a proc definition', 'blah { }'
|
28
|
+
end
|
@@ -70,9 +70,9 @@ module RegexpSpec
|
|
70
70
|
|
71
71
|
include_context 'regexp transformation'
|
72
72
|
|
73
|
-
|
74
|
-
|
75
|
-
|
73
|
+
unless regexp.encoding.name.eql?('ASCII-8BIT')
|
74
|
+
include_context 'regexp round trip'
|
75
|
+
end
|
76
76
|
end
|
77
77
|
end
|
78
78
|
end
|
@@ -611,6 +611,11 @@ RegexpSpec.expect_mapping(/\w/, :regexp_word_type) do
|
|
611
611
|
s(:regexp_word_type))
|
612
612
|
end
|
613
613
|
|
614
|
+
RegexpSpec.expect_mapping(/\h/, :regexp_hex_type) do
|
615
|
+
s(:regexp_root_expression,
|
616
|
+
s(:regexp_hex_type))
|
617
|
+
end
|
618
|
+
|
614
619
|
RegexpSpec.expect_mapping(/\*/, :regexp_zero_or_more_escape) do
|
615
620
|
s(:regexp_root_expression,
|
616
621
|
s(:regexp_zero_or_more_escape))
|
@@ -66,7 +66,6 @@ RSpec.describe Mutant::CLI do
|
|
66
66
|
subject { object.new(arguments) }
|
67
67
|
|
68
68
|
# Defaults
|
69
|
-
let(:expected_filter) { Morpher.evaluator(s(:true)) }
|
70
69
|
let(:expected_integration) { Mutant::Integration::Null }
|
71
70
|
let(:expected_reporter) { Mutant::Config::DEFAULT.reporter }
|
72
71
|
let(:expected_matcher_config) { default_matcher_config }
|
@@ -31,7 +31,6 @@ RSpec.describe Mutant::Context do
|
|
31
31
|
end
|
32
32
|
|
33
33
|
let(:object) { described_class.new(scope, source_path) }
|
34
|
-
let(:scope_name) { instance_double(String) }
|
35
34
|
let(:source_path) { instance_double(Pathname) }
|
36
35
|
let(:scope) { TestApp::Literal }
|
37
36
|
|
@@ -60,10 +59,6 @@ RSpec.describe Mutant::Context do
|
|
60
59
|
Unparser.unparse(subject)
|
61
60
|
end
|
62
61
|
|
63
|
-
let(:round_tripped_source) do
|
64
|
-
Unparser.unparse(parse(expected_source))
|
65
|
-
end
|
66
|
-
|
67
62
|
it 'should create correct source' do
|
68
63
|
expect(generated_source).to eql(expected_source)
|
69
64
|
end
|
@@ -72,8 +67,6 @@ RSpec.describe Mutant::Context do
|
|
72
67
|
describe '#unqualified_name' do
|
73
68
|
subject { object.unqualified_name }
|
74
69
|
|
75
|
-
let(:path) { instance_double(Pathname) }
|
76
|
-
|
77
70
|
context 'with top level constant name' do
|
78
71
|
let(:scope) { TestApp }
|
79
72
|
|
@@ -14,14 +14,13 @@ RSpec.describe Mutant::Env do
|
|
14
14
|
end
|
15
15
|
|
16
16
|
let(:integration) { instance_double(Mutant::Integration) }
|
17
|
-
let(:wrapped_node) { instance_double(Parser::AST::Node) }
|
18
|
-
let(:context) { instance_double(Mutant::Context) }
|
19
17
|
let(:test_a) { instance_double(Mutant::Test) }
|
20
18
|
let(:test_b) { instance_double(Mutant::Test) }
|
21
19
|
let(:tests) { [test_a, test_b] }
|
22
20
|
let(:selector) { instance_double(Mutant::Selector) }
|
23
21
|
let(:integration_class) { Mutant::Integration::Null }
|
24
22
|
let(:isolation) { instance_double(Mutant::Isolation::Fork) }
|
23
|
+
let(:mutation_subject) { instance_double(Mutant::Subject) }
|
25
24
|
|
26
25
|
let(:mutation) do
|
27
26
|
instance_double(
|
@@ -38,15 +37,6 @@ RSpec.describe Mutant::Env do
|
|
38
37
|
)
|
39
38
|
end
|
40
39
|
|
41
|
-
let(:mutation_subject) do
|
42
|
-
instance_double(
|
43
|
-
Mutant::Subject,
|
44
|
-
context: context,
|
45
|
-
identification: 'subject',
|
46
|
-
source: 'original'
|
47
|
-
)
|
48
|
-
end
|
49
|
-
|
50
40
|
subject { object.kill(mutation) }
|
51
41
|
|
52
42
|
shared_examples_for 'mutation kill' do
|
@@ -69,12 +59,7 @@ RSpec.describe Mutant::Env do
|
|
69
59
|
end
|
70
60
|
|
71
61
|
context 'when isolation does not raise error' do
|
72
|
-
let(:test_result)
|
73
|
-
instance_double(
|
74
|
-
Mutant::Result::Test,
|
75
|
-
passed: false
|
76
|
-
)
|
77
|
-
end
|
62
|
+
let(:test_result) { instance_double(Mutant::Result::Test) }
|
78
63
|
|
79
64
|
before do
|
80
65
|
expect(isolation).to receive(:call)
|
@@ -1,11 +1,9 @@
|
|
1
1
|
RSpec.describe Mutant::Matcher::Compiler, '#call' do
|
2
2
|
let(:object) { described_class }
|
3
|
-
let(:env) { Fixtures::TEST_ENV }
|
4
3
|
let(:matcher_config) { Mutant::Matcher::Config::DEFAULT }
|
5
4
|
let(:expression_a) { parse_expression('Foo*') }
|
6
5
|
let(:expression_b) { parse_expression('Bar*') }
|
7
6
|
let(:matcher_a) { expression_a.matcher }
|
8
|
-
let(:matcher_b) { expression_b.matcher }
|
9
7
|
|
10
8
|
let(:expected_matcher) do
|
11
9
|
Mutant::Matcher::Filter.new(
|
@@ -5,7 +5,6 @@ RSpec.describe Mutant::Matcher::Method::Instance, '#call' do
|
|
5
5
|
let(:method_name) { :foo }
|
6
6
|
let(:source_path) { MutantSpec::ROOT.join('test_app/lib/test_app.rb') }
|
7
7
|
let(:method) { scope.instance_method(method_name) }
|
8
|
-
let(:namespace) { self.class }
|
9
8
|
let(:type) { :def }
|
10
9
|
let(:method_arity) { 0 }
|
11
10
|
let(:base) { TestApp::InstanceMethodTests }
|
@@ -29,7 +28,6 @@ RSpec.describe Mutant::Matcher::Method::Instance, '#call' do
|
|
29
28
|
context 'when method is defined inside eval' do
|
30
29
|
let(:scope) { base::WithMemoizer }
|
31
30
|
let(:method) { scope.instance_method(:boz) }
|
32
|
-
let(:method_name) { :boz }
|
33
31
|
|
34
32
|
let(:expected_warnings) do
|
35
33
|
[
|
@@ -26,8 +26,7 @@ RSpec.describe Mutant::Matcher::Method::Singleton, '#call' do
|
|
26
26
|
end
|
27
27
|
|
28
28
|
context 'when also defined on lvar' do
|
29
|
-
let(:scope)
|
30
|
-
let(:method_line) { 66 }
|
29
|
+
let(:scope) { base::DefinedOnLvar }
|
31
30
|
let(:expected_warnings) do
|
32
31
|
[
|
33
32
|
'Can only match :defs on :self or :const got :lvar unable to match'
|
@@ -76,6 +76,22 @@ RSpec.describe Mutant::Meta::Example::DSL do
|
|
76
76
|
end
|
77
77
|
end
|
78
78
|
|
79
|
+
context 'using #regexp_mutations' do
|
80
|
+
let(:expected) do
|
81
|
+
[s(:regexp, s(:regopt)), s(:regexp, s(:str, 'nomatch\\A'), s(:regopt))]
|
82
|
+
end
|
83
|
+
|
84
|
+
let(:node) do
|
85
|
+
s(:regexp, s(:str, 'foo'), s(:regopt))
|
86
|
+
end
|
87
|
+
|
88
|
+
expect_example do
|
89
|
+
source '/foo/'
|
90
|
+
|
91
|
+
regexp_mutations
|
92
|
+
end
|
93
|
+
end
|
94
|
+
|
79
95
|
context 'no definition of source' do
|
80
96
|
expect_error('source not defined') do
|
81
97
|
end
|
@@ -1,7 +1,6 @@
|
|
1
1
|
RSpec.describe Mutant::Parallel::Master do
|
2
2
|
let(:message_sequence) { FakeActor::MessageSequence.new }
|
3
3
|
let(:actor_names) { %i[master worker_a worker_b] }
|
4
|
-
let(:status) { instance_double(Mutant::Result::Status) }
|
5
4
|
let(:sink) { FakeSink.new }
|
6
5
|
let(:processor) { instance_double(Proc) }
|
7
6
|
let(:worker_a) { actor_env.mailbox(:worker_a).sender }
|
@@ -135,8 +134,6 @@ RSpec.describe Mutant::Parallel::Master do
|
|
135
134
|
end
|
136
135
|
|
137
136
|
context 'while jobs are processed' do
|
138
|
-
let(:expected_results) { [job_result_payload_a] }
|
139
|
-
|
140
137
|
let(:sink) do
|
141
138
|
super().instance_eval do
|
142
139
|
def stop?
|
@@ -39,7 +39,6 @@ RSpec.describe Mutant::Parallel::Worker do
|
|
39
39
|
end
|
40
40
|
|
41
41
|
let(:index) { instance_double(Fixnum) }
|
42
|
-
let(:test_result) { instance_double(Mutant::Result::Test) }
|
43
42
|
let(:job_result) { Mutant::Parallel::JobResult.new(job: job, payload: result_payload) }
|
44
43
|
let(:job) { Mutant::Parallel::Job.new(index: index, payload: payload) }
|
45
44
|
|
@@ -1,9 +1,7 @@
|
|
1
1
|
RSpec.describe Mutant::Registry do
|
2
|
-
let(:lookup)
|
3
|
-
let(:object)
|
4
|
-
let(:mutator)
|
5
|
-
let(:node) { s(:true) }
|
6
|
-
let(:expected_arguments) { [node, nil] }
|
2
|
+
let(:lookup) { object.lookup(type) }
|
3
|
+
let(:object) { described_class.new }
|
4
|
+
let(:mutator) { class_double(Mutant::Mutator) }
|
7
5
|
|
8
6
|
def register_mutator
|
9
7
|
object.register(type, mutator)
|
@@ -3,7 +3,7 @@ RSpec.describe Mutant::Reporter::CLI::Tput do
|
|
3
3
|
subject { described_class.detect }
|
4
4
|
|
5
5
|
def expect_command(command, stdout, success)
|
6
|
-
allow(Open3).to receive(:capture3).with(command).
|
6
|
+
allow(Open3).to receive(:capture3).with(command).and_return(
|
7
7
|
[
|
8
8
|
stdout,
|
9
9
|
instance_double(IO),
|
@@ -10,16 +10,11 @@ RSpec.describe Mutant::Result::Env do
|
|
10
10
|
let(:env) do
|
11
11
|
instance_double(
|
12
12
|
Mutant::Env,
|
13
|
-
config: config,
|
14
13
|
subjects: [instance_double(Mutant::Subject)],
|
15
14
|
mutations: [instance_double(Mutant::Mutation)]
|
16
15
|
)
|
17
16
|
end
|
18
17
|
|
19
|
-
let(:config) do
|
20
|
-
instance_double(Mutant::Config)
|
21
|
-
end
|
22
|
-
|
23
18
|
let(:subject_result) do
|
24
19
|
instance_double(
|
25
20
|
Mutant::Result::Subject,
|
@@ -6,13 +6,7 @@ RSpec.describe Mutant::Result::Mutation do
|
|
6
6
|
)
|
7
7
|
end
|
8
8
|
|
9
|
-
let(:mutation)
|
10
|
-
instance_double(
|
11
|
-
Mutant::Mutation,
|
12
|
-
frozen?: true,
|
13
|
-
class: class_double(Mutant::Mutation)
|
14
|
-
)
|
15
|
-
end
|
9
|
+
let(:mutation) { instance_double(Mutant::Mutation) }
|
16
10
|
|
17
11
|
let(:test_result) do
|
18
12
|
instance_double(
|
@@ -21,12 +15,6 @@ RSpec.describe Mutant::Result::Mutation do
|
|
21
15
|
)
|
22
16
|
end
|
23
17
|
|
24
|
-
let(:mutation_subject) do
|
25
|
-
instance_double(
|
26
|
-
Mutant::Subject
|
27
|
-
)
|
28
|
-
end
|
29
|
-
|
30
18
|
describe '#runtime' do
|
31
19
|
subject { object.runtime }
|
32
20
|
|
@@ -1,6 +1,5 @@
|
|
1
1
|
RSpec.describe Mutant::Runner do
|
2
2
|
describe '.call' do
|
3
|
-
let(:integration) { instance_double(Mutant::Integration) }
|
4
3
|
let(:reporter) { instance_double(Mutant::Reporter, delay: delay) }
|
5
4
|
let(:driver) { instance_double(Mutant::Parallel::Driver) }
|
6
5
|
let(:delay) { instance_double(Float) }
|
@@ -21,10 +20,9 @@ RSpec.describe Mutant::Runner do
|
|
21
20
|
let(:config) do
|
22
21
|
instance_double(
|
23
22
|
Mutant::Config,
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
reporter: reporter
|
23
|
+
jobs: 1,
|
24
|
+
kernel: kernel,
|
25
|
+
reporter: reporter
|
28
26
|
)
|
29
27
|
end
|
30
28
|
|
@@ -50,17 +48,6 @@ RSpec.describe Mutant::Runner do
|
|
50
48
|
|
51
49
|
subject { described_class.call(env) }
|
52
50
|
|
53
|
-
context 'when runner finishes immediately' do
|
54
|
-
let(:status) { instance_double(Mutant::Parallel::Status, done: true, payload: env_result) }
|
55
|
-
|
56
|
-
before do
|
57
|
-
expect(driver).to receive(:status).and_return(status)
|
58
|
-
expect(reporter).to receive(:progress).with(status).ordered
|
59
|
-
expect(driver).to receive(:stop).ordered
|
60
|
-
expect(reporter).to receive(:report).with(env_result).ordered
|
61
|
-
end
|
62
|
-
end
|
63
|
-
|
64
51
|
context 'when report iterations are done' do
|
65
52
|
let(:status_a) { instance_double(Mutant::Parallel::Status, done: false) }
|
66
53
|
let(:status_b) { instance_double(Mutant::Parallel::Status, done: true, payload: env_result) }
|
@@ -19,7 +19,6 @@ RSpec.describe Mutant::Selector::Expression do
|
|
19
19
|
let(:mutation_subject) { subject_class.new(context, node) }
|
20
20
|
let(:context) { instance_double(Mutant::Context) }
|
21
21
|
let(:node) { instance_double(Parser::AST::Node) }
|
22
|
-
let(:config) { Mutant::Config::DEFAULT.with(integration: integration) }
|
23
22
|
let(:integration) { instance_double(Mutant::Integration, all_tests: all_tests) }
|
24
23
|
let(:test_a) { instance_double(Mutant::Test, expression: parse_expression('SubjectA')) }
|
25
24
|
let(:test_b) { instance_double(Mutant::Test, expression: parse_expression('SubjectB')) }
|
@@ -23,15 +23,10 @@ RSpec.describe Mutant::Subject do
|
|
23
23
|
RUBY
|
24
24
|
end
|
25
25
|
|
26
|
-
let(:expression) do
|
27
|
-
instance_double(Mutant::Expression, line: 'source_line')
|
28
|
-
end
|
29
|
-
|
30
26
|
let(:context) do
|
31
27
|
double(
|
32
28
|
'Context',
|
33
|
-
source_path: 'source_path'
|
34
|
-
source_line: 'source_line'
|
29
|
+
source_path: 'source_path'
|
35
30
|
)
|
36
31
|
end
|
37
32
|
|
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.8.
|
4
|
+
version: 0.8.12
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Markus Schirp
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-10-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: parser
|
@@ -16,20 +16,20 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 2.3.
|
19
|
+
version: 2.3.1
|
20
20
|
- - ">="
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: 2.3.
|
22
|
+
version: 2.3.1.4
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
26
|
requirements:
|
27
27
|
- - "~>"
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version: 2.3.
|
29
|
+
version: 2.3.1
|
30
30
|
- - ">="
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version: 2.3.
|
32
|
+
version: 2.3.1.4
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: ast
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -232,14 +232,14 @@ dependencies:
|
|
232
232
|
requirements:
|
233
233
|
- - "~>"
|
234
234
|
- !ruby/object:Gem::Version
|
235
|
-
version: 0.1.
|
235
|
+
version: 0.1.12
|
236
236
|
type: :development
|
237
237
|
prerelease: false
|
238
238
|
version_requirements: !ruby/object:Gem::Requirement
|
239
239
|
requirements:
|
240
240
|
- - "~>"
|
241
241
|
- !ruby/object:Gem::Version
|
242
|
-
version: 0.1.
|
242
|
+
version: 0.1.12
|
243
243
|
- !ruby/object:Gem::Dependency
|
244
244
|
name: bundler
|
245
245
|
requirement: !ruby/object:Gem::Requirement
|
@@ -277,6 +277,7 @@ extensions: []
|
|
277
277
|
extra_rdoc_files:
|
278
278
|
- LICENSE
|
279
279
|
files:
|
280
|
+
- ".gitattributes"
|
280
281
|
- ".gitignore"
|
281
282
|
- ".rspec"
|
282
283
|
- ".rubocop.yml"
|
@@ -403,6 +404,12 @@ files:
|
|
403
404
|
- lib/mutant/mutator/node/op_asgn.rb
|
404
405
|
- lib/mutant/mutator/node/or_asgn.rb
|
405
406
|
- lib/mutant/mutator/node/regexp.rb
|
407
|
+
- lib/mutant/mutator/node/regexp/alternation_meta.rb
|
408
|
+
- lib/mutant/mutator/node/regexp/capture_group.rb
|
409
|
+
- lib/mutant/mutator/node/regexp/character_type.rb
|
410
|
+
- lib/mutant/mutator/node/regexp/end_of_line_anchor.rb
|
411
|
+
- lib/mutant/mutator/node/regexp/end_of_string_or_before_end_of_line_anchor.rb
|
412
|
+
- lib/mutant/mutator/node/regexp/greedy_zero_or_more.rb
|
406
413
|
- lib/mutant/mutator/node/regopt.rb
|
407
414
|
- lib/mutant/mutator/node/resbody.rb
|
408
415
|
- lib/mutant/mutator/node/rescue.rb
|
@@ -507,8 +514,15 @@ files:
|
|
507
514
|
- meta/range.rb
|
508
515
|
- meta/redo.rb
|
509
516
|
- meta/regexp.rb
|
517
|
+
- meta/regexp/character_types.rb
|
518
|
+
- meta/regexp/regexp_alternation_meta.rb
|
510
519
|
- meta/regexp/regexp_bol_anchor.rb
|
511
520
|
- meta/regexp/regexp_bos_anchor.rb
|
521
|
+
- meta/regexp/regexp_capture_group.rb
|
522
|
+
- meta/regexp/regexp_eol_anchor.rb
|
523
|
+
- meta/regexp/regexp_eos_anchor.rb
|
524
|
+
- meta/regexp/regexp_eos_ob_eol_anchor.rb
|
525
|
+
- meta/regexp/regexp_greedy_zero_or_more.rb
|
512
526
|
- meta/regexp/regexp_root_expression.rb
|
513
527
|
- meta/regopt.rb
|
514
528
|
- meta/rescue.rb
|
@@ -554,6 +568,7 @@ files:
|
|
554
568
|
- spec/unit/mutant/actor/receiver_spec.rb
|
555
569
|
- spec/unit/mutant/actor/sender_spec.rb
|
556
570
|
- spec/unit/mutant/ast/meta/optarg_spec.rb
|
571
|
+
- spec/unit/mutant/ast/meta/send/proc_predicate_spec.rb
|
557
572
|
- spec/unit/mutant/ast/meta/send/receiver_possible_top_level_const_predicate_spec.rb
|
558
573
|
- spec/unit/mutant/ast/meta/send_spec.rb
|
559
574
|
- spec/unit/mutant/ast/named_children_spec.rb
|
@@ -684,6 +699,7 @@ test_files:
|
|
684
699
|
- spec/unit/mutant/actor/receiver_spec.rb
|
685
700
|
- spec/unit/mutant/actor/sender_spec.rb
|
686
701
|
- spec/unit/mutant/ast/meta/optarg_spec.rb
|
702
|
+
- spec/unit/mutant/ast/meta/send/proc_predicate_spec.rb
|
687
703
|
- spec/unit/mutant/ast/meta/send/receiver_possible_top_level_const_predicate_spec.rb
|
688
704
|
- spec/unit/mutant/ast/meta/send_spec.rb
|
689
705
|
- spec/unit/mutant/ast/named_children_spec.rb
|
@@ -770,4 +786,3 @@ test_files:
|
|
770
786
|
- spec/unit/mutant/warning_filter_spec.rb
|
771
787
|
- spec/unit/mutant/zombifier_spec.rb
|
772
788
|
- spec/unit/mutant_spec.rb
|
773
|
-
has_rdoc:
|