Sha256: 60eac6ef35e0859e6021f9e5d537fe4e233abd47bba3c9ba32d9873c8772e7cd

Contents?: true

Size: 747 Bytes

Versions: 15

Compression:

Stored size: 747 Bytes

Contents

# frozen_string_literal: true

module Chutney
  # service class to lint for missing example names
  class MissingExampleName < Linter
    def lint
      scenarios do |_feature, scenario|
        next unless scenario.is_a? CukeModeler::Outline

        scenario.examples.each do |example|
          example_count = scenario.examples&.length || 0
          next unless example_count > 1

          check_example(scenario, example)
        end
      end
    end

    def check_example(scenario, example)
      name = example.name.strip
      duplicate_name_count = scenario.examples.filter { |e| e.name == name }.count
      add_issue(I18n.t('linters.missing_example_name'), feature, scenario, example) if duplicate_name_count >= 2
    end
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
chutney-3.10.0 lib/chutney/linter/missing_example_name.rb
chutney-3.9.0 lib/chutney/linter/missing_example_name.rb
chutney-3.8.2 lib/chutney/linter/missing_example_name.rb
chutney-3.8.1 lib/chutney/linter/missing_example_name.rb
chutney-3.8.0 lib/chutney/linter/missing_example_name.rb
chutney-3.7.0 lib/chutney/linter/missing_example_name.rb
chutney-3.6.0 lib/chutney/linter/missing_example_name.rb
chutney-3.5.0 lib/chutney/linter/missing_example_name.rb
chutney-3.3.0 lib/chutney/linter/missing_example_name.rb
chutney-3.2.1 lib/chutney/linter/missing_example_name.rb
chutney-3.2.0 lib/chutney/linter/missing_example_name.rb
chutney-3.1.1 lib/chutney/linter/missing_example_name.rb
chutney-3.1.0 lib/chutney/linter/missing_example_name.rb
chutney-3.0.1 lib/chutney/linter/missing_example_name.rb
chutney-3.0.0 lib/chutney/linter/missing_example_name.rb