Sha256: 126717230e2bfb33663e8bb6b5f58b53da5813b4ed8adb8a112b070a18f8ff9d

Contents?: true

Size: 653 Bytes

Versions: 8

Compression:

Stored size: 653 Bytes

Contents

# frozen_string_literal: true

module Mutant
  class Mutator
    class Node
      module Regexp
        # Mutator for greedy zero-or-more quantifier, `*`
        class GreedyZeroOrMore < Node
          handle(:regexp_greedy_zero_or_more)

          children :min, :max, :subject

          # Emit mutations
          #
          # Replace `/a*/` with `/a+/`
          #
          # @return [undefined]
          def dispatch
            emit(s(:regexp_greedy_one_or_more, *children))
            emit_subject_mutations
            emit(subject)
          end
        end # GreedyZeroOrMore
      end # Regexp
    end # Node
  end # Mutator
end # Mutant

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
mutant-0.8.24 lib/mutant/mutator/node/regexp/greedy_zero_or_more.rb
mutant-0.8.23 lib/mutant/mutator/node/regexp/greedy_zero_or_more.rb
mutant-0.8.22 lib/mutant/mutator/node/regexp/greedy_zero_or_more.rb
mutant-0.8.21 lib/mutant/mutator/node/regexp/greedy_zero_or_more.rb
mutant-0.8.20 lib/mutant/mutator/node/regexp/greedy_zero_or_more.rb
mutant-0.8.19 lib/mutant/mutator/node/regexp/greedy_zero_or_more.rb
mutant-0.8.18 lib/mutant/mutator/node/regexp/greedy_zero_or_more.rb
mutant-0.8.17 lib/mutant/mutator/node/regexp/greedy_zero_or_more.rb