Sha256: 4f776b860557d4c01ada7c259b41aca1395bd14903f34aff826c9033041eed8d

Contents?: true

Size: 1.24 KB

Versions: 16

Compression:

Stored size: 1.24 KB

Contents

require 'yard'

require 'rubocop/rspec/description_extractor'

RSpec.describe RuboCop::RSpec::DescriptionExtractor do
  let(:yardocs) do
    YARD.parse_string(<<-RUBY)
      # This is not a cop
      class RuboCop::Cop::Mixin::Sneaky
      end

      # This is not a concrete cop
      #
      # @abstract
      class RuboCop::Cop::RSpec::Cop
      end

      # Checks foo
      #
      # Some description
      #
      # @note only works with foo
      class RuboCop::Cop::RSpec::Foo < RuboCop::Cop::RSpec::Cop
        # Hello
        def bar
        end

        # :nodoc:
        class HelperClassForFoo
        end
      end

      class RuboCop::Cop::RSpec::Undocumented < RuboCop::Cop::RSpec::Cop
        # Hello
        def bar
        end
      end
    RUBY

    YARD::Registry.all
  end

  def stub_cop_const(name)
    stub_const(
      "RuboCop::Cop::RSpec::#{name}",
      Class.new(RuboCop::Cop.const_get(:WorkaroundCop))
    )
  end

  before do
    stub_cop_const('Foo')
    stub_cop_const('Undocumented')
  end

  it 'builds a hash of descriptions' do
    expect(described_class.new(yardocs).to_h).to eql(
      'RSpec/Foo'          => { 'Description' => 'Checks foo' },
      'RSpec/Undocumented' => { 'Description' => ''           }
    )
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
rubocop-rspec-1.32.0 spec/rubocop/rspec/description_extractor_spec.rb
rubocop-rspec-1.31.0 spec/rubocop/rspec/description_extractor_spec.rb
rubocop-rspec-1.30.1 spec/rubocop/rspec/description_extractor_spec.rb
rubocop-rspec-1.30.0 spec/rubocop/rspec/description_extractor_spec.rb
rubocop-rspec-1.29.1 spec/rubocop/rspec/description_extractor_spec.rb
rubocop-rspec-1.29.0 spec/rubocop/rspec/description_extractor_spec.rb
rubocop-rspec-1.28.0 spec/rubocop/rspec/description_extractor_spec.rb
rubocop-rspec-1.27.0 spec/rubocop/rspec/description_extractor_spec.rb
rubocop-rspec-1.26.0 spec/rubocop/rspec/description_extractor_spec.rb
rubocop-rspec-1.25.1 spec/rubocop/rspec/description_extractor_spec.rb
rubocop-rspec-1.25.0 spec/rubocop/rspec/description_extractor_spec.rb
rubocop-rspec-1.24.0 spec/rubocop/rspec/description_extractor_spec.rb
rubocop-rspec-1.23.0 spec/rubocop/rspec/description_extractor_spec.rb
rubocop-rspec-1.22.2 spec/rubocop/rspec/description_extractor_spec.rb
rubocop-rspec-1.22.1 spec/rubocop/rspec/description_extractor_spec.rb
rubocop-rspec-1.22.0 spec/rubocop/rspec/description_extractor_spec.rb