<commit_before>Feature: Usage formatter
  In order to see where step definitions are used
  Developers should be able to see a list of step definitions and their use

  Background:
    Given a file named "features/f.feature" with:
      """
      Feature: F
        Background: A
          Given A
        Scenario: B
          Given B
        Scenario Outline: C
          Given <x>
          Examples:
            |x|
            |C|
        Scenario: AC
          Given A
          Given C
      """
    And a file named "features/step_definitions/steps.rb" with:
      """
      Given /A/ do;end
      Given /B/ do;end
      Given /C/ do;end
      Given /D/ do;end
      """

  Scenario: Run with --format usage
    When I run `cucumber -f usage --dry-run`
    Then it should pass with exactly:
      """
      --------
      
      /A/       # features/step_definitions/steps.rb:1
        Given A # features/f.feature:3
        Given A # features/f.feature:3
        Given A # features/f.feature:3
        Given A # features/f.feature:12
      /B/       # features/step_definitions/steps.rb:2
        Given B # features/f.feature:5
      /C/       # features/step_definitions/steps.rb:3
        Given C # features/f.feature:13
      /D/       # features/step_definitions/steps.rb:4
        NOT MATCHED BY ANY STEPS
      
      3 scenarios (3 skipped)
      7 steps (7 skipped)
      0m0.012s

      """

    Scenario: Run with --format stepdefs
      When I run `cucumber -f stepdefs --dry-run`
      Then it should pass with exactly:
        """
        --------
        
        /A/   # features/step_definitions/steps.rb:1
        /B/   # features/step_definitions/steps.rb:2
        /C/   # features/step_definitions/steps.rb:3
        /D/   # features/step_definitions/steps.rb:4
          NOT MATCHED BY ANY STEPS
        
        3 scenarios (3 skipped)
        7 steps (7 skipped)
        0m0.012s

        """<commit_msg>Usage formatter should report usages we have in outlines<commit_after>Feature: Usage formatter
  In order to see where step definitions are used
  Developers should be able to see a list of step definitions and their use

  Background:
    Given a file named "features/f.feature" with:
      """
      Feature: F
        Background: A
          Given A
        Scenario: B
          Given B
        Scenario Outline: C
          Given <x>
          And B
          Examples:
            |x|
            |C|
        Scenario: AC
          Given A
          Given C
      """
    And a file named "features/step_definitions/steps.rb" with:
      """
      Given /A/ do;end
      Given /B/ do;end
      Given /C/ do;end
      Given /D/ do;end
      """

  Scenario: Run with --format usage
    When I run `cucumber -f usage --dry-run`
    Then it should pass with exactly:
      """
      ---------
      
      /A/       # features/step_definitions/steps.rb:1
        Given A # features/f.feature:3
        Given A # features/f.feature:3
        Given A # features/f.feature:3
        Given A # features/f.feature:13
      /B/       # features/step_definitions/steps.rb:2
        Given B # features/f.feature:5
        Given B # features/f.feature:8
      /C/       # features/step_definitions/steps.rb:3
        Given C # features/f.feature:7
        Given C # features/f.feature:14
      /D/       # features/step_definitions/steps.rb:4
        NOT MATCHED BY ANY STEPS
      
      3 scenarios (3 skipped)
      8 steps (8 skipped)
      0m0.012s

      """

    Scenario: Run with --format stepdefs
      When I run `cucumber -f stepdefs --dry-run`
      Then it should pass with exactly:
        """
        ---------
        
        /A/   # features/step_definitions/steps.rb:1
        /B/   # features/step_definitions/steps.rb:2
        /C/   # features/step_definitions/steps.rb:3
        /D/   # features/step_definitions/steps.rb:4
          NOT MATCHED BY ANY STEPS
        
        3 scenarios (3 skipped)
        8 steps (8 skipped)
        0m0.012s

        """
{'fraction_non_alphanumeric': 0.09723261032161555, 'fraction_numerical': 0.017452006980802792, 'mean_word_length': 1.5028072364316907, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6254141', 'n_tokens_mistral': 1256, 'n_tokens_neox': 1214, 'n_words': 362}