2018-09-12 10:21:24 -04:00
|
|
|
# frozen_string_literal: true
|
2016-07-24 17:39:59 -04:00
|
|
|
Mutant::Meta::Example.add :regexp do
|
|
|
|
source '/foo/'
|
|
|
|
|
|
|
|
singleton_mutations
|
2016-08-14 17:25:52 -04:00
|
|
|
regexp_mutations
|
2016-07-24 17:39:59 -04:00
|
|
|
end
|
|
|
|
|
|
|
|
Mutant::Meta::Example.add :regexp do
|
|
|
|
source '/#{foo.bar}n/'
|
|
|
|
|
|
|
|
singleton_mutations
|
2016-08-14 17:25:52 -04:00
|
|
|
regexp_mutations
|
|
|
|
|
2016-07-24 17:39:59 -04:00
|
|
|
mutation '/#{foo}n/'
|
|
|
|
mutation '/#{self.bar}n/'
|
|
|
|
mutation '/#{nil}n/'
|
|
|
|
mutation '/#{self}n/'
|
|
|
|
end
|
|
|
|
|
|
|
|
Mutant::Meta::Example.add :regexp do
|
|
|
|
source '/#{foo}/'
|
|
|
|
|
|
|
|
singleton_mutations
|
2016-08-14 17:25:52 -04:00
|
|
|
regexp_mutations
|
|
|
|
|
2016-07-24 17:39:59 -04:00
|
|
|
mutation '/#{self}/'
|
|
|
|
mutation '/#{nil}/'
|
|
|
|
end
|
|
|
|
|
|
|
|
Mutant::Meta::Example.add :regexp do
|
|
|
|
source '/#{foo}#{nil}/'
|
|
|
|
|
|
|
|
singleton_mutations
|
2016-08-14 17:25:52 -04:00
|
|
|
regexp_mutations
|
|
|
|
|
2016-07-24 17:39:59 -04:00
|
|
|
mutation '/#{nil}#{nil}/'
|
|
|
|
mutation '/#{self}#{nil}/'
|
|
|
|
end
|
|
|
|
|
|
|
|
Mutant::Meta::Example.add :regexp do
|
|
|
|
source '//'
|
|
|
|
|
|
|
|
singleton_mutations
|
|
|
|
|
|
|
|
# match no input
|
|
|
|
mutation '/nomatch\A/'
|
|
|
|
end
|
|
|
|
|
|
|
|
Mutant::Meta::Example.add :regexp do
|
|
|
|
source 'true if /foo/'
|
|
|
|
|
|
|
|
singleton_mutations
|
|
|
|
mutation 'false if /foo/'
|
|
|
|
mutation 'nil if /foo/'
|
|
|
|
mutation 'true if true'
|
|
|
|
mutation 'true if false'
|
|
|
|
mutation 'true if nil'
|
|
|
|
mutation 'true'
|
|
|
|
|
|
|
|
# match all inputs
|
|
|
|
mutation 'true if //'
|
|
|
|
|
|
|
|
# match no input
|
|
|
|
mutation 'true if /nomatch\A/'
|
|
|
|
end
|
|
|
|
|
|
|
|
Mutant::Meta::Example.add :regexp do
|
|
|
|
source '/(?(1)(foo)(bar))/'
|
|
|
|
|
|
|
|
singleton_mutations
|
2016-08-14 17:25:52 -04:00
|
|
|
regexp_mutations
|
2016-07-24 17:39:59 -04:00
|
|
|
end
|
|
|
|
|
|
|
|
Pathname
|
|
|
|
.glob(Pathname.new(__dir__).join('regexp', '*.rb'))
|
|
|
|
.sort
|
|
|
|
.each(&Kernel.public_method(:require))
|
|
|
|
|
|
|
|
# Re-register examples for all regular expression nodes for node_type `:regexp`
|
|
|
|
Mutant::Meta::Example::ALL.each do |example|
|
|
|
|
next unless example.node_type.to_s.start_with?('regexp_')
|
|
|
|
|
|
|
|
Mutant::Meta::Example::ALL << example.with(node_type: :regexp)
|
|
|
|
end
|