Sha256: 0a5040a3a8d96472612bebcada6cf0bf33a9e0c4252f9460469de3b0c231b5ad

Contents?: true

Size: 1.21 KB

Versions: 21

Compression:

Stored size: 1.21 KB

Contents

# frozen_string_literal: true

module RuboCop
  module Cop
    # Source and test generator for new cops
    #
    # This generator will take a cop name and generate a source file
    # and test file when given a valid qualified cop name.
    class Generator
      TEST_TEMPLATE = <<~TEST
        # frozen_string_literal: true

        require_relative '../../../test_helper'

        class %<cop_name>sTest < Minitest::Test
          def test_registers_offense_when_using_bad_method
            assert_offense(<<~RUBY)
              bad_method
              ^^^^^^^^^^ Use `#good_method` instead of `#bad_method`.
            RUBY

            assert_correction(<<~RUBY)
              good_method
            RUBY
          end

          def test_does_not_register_offense_when_using_good_method
            assert_no_offenses(<<~RUBY)
              good_method
            RUBY
          end
        end
      TEST

      def write_test
        write_unless_file_exists(test_path, generated_test)
      end

      private

      def test_path
        File.join('test', 'rubocop', 'cop', 'minitest', "#{snake_case(badge.cop_name.to_s)}_test.rb")
      end

      def generated_test
        generate(TEST_TEMPLATE)
      end
    end
  end
end

Version data entries

21 entries across 21 versions & 2 rubygems

Version Path
rubocop-minitest-0.37.1 lib/rubocop/cop/generator.rb
rubocop-minitest-0.37.0 lib/rubocop/cop/generator.rb
tailscale_middleware-0.0.3 vendor/cache/ruby/3.4.0/gems/rubocop-minitest-0.36.0/lib/rubocop/cop/generator.rb
rubocop-minitest-0.36.0 lib/rubocop/cop/generator.rb
rubocop-minitest-0.35.1 lib/rubocop/cop/generator.rb
rubocop-minitest-0.35.0 lib/rubocop/cop/generator.rb
rubocop-minitest-0.34.5 lib/rubocop/cop/generator.rb
rubocop-minitest-0.34.4 lib/rubocop/cop/generator.rb
rubocop-minitest-0.34.3 lib/rubocop/cop/generator.rb
rubocop-minitest-0.34.2 lib/rubocop/cop/generator.rb
rubocop-minitest-0.34.1 lib/rubocop/cop/generator.rb
rubocop-minitest-0.34.0 lib/rubocop/cop/generator.rb
rubocop-minitest-0.33.0 lib/rubocop/cop/generator.rb
rubocop-minitest-0.32.2 lib/rubocop/cop/generator.rb
rubocop-minitest-0.32.1 lib/rubocop/cop/generator.rb
rubocop-minitest-0.32.0 lib/rubocop/cop/generator.rb
rubocop-minitest-0.31.1 lib/rubocop/cop/generator.rb
rubocop-minitest-0.31.0 lib/rubocop/cop/generator.rb
rubocop-minitest-0.30.0 lib/rubocop/cop/generator.rb
rubocop-minitest-0.29.0 lib/rubocop/cop/generator.rb