Sha256: ff17cc51be4424586b92398aad45ebbdd71f8a40aa81d9f0528a6ca69b30d20d
Contents?: true
Size: 1.4 KB
Versions: 3
Compression:
Stored size: 1.4 KB
Contents
RSpec.describe 'config/default.yml' do subject(:default_config) do RuboCop::ConfigLoader.load_file('config/default.yml') end let(:cop_names) do glob = SpecHelper::ROOT.join('lib', 'rubocop', 'cop', 'rspec', '*.rb') cop_names = Pathname.glob(glob).map do |file| file_name = file.basename('.rb').to_s cop_name = file_name.gsub(/(^|_)(.)/) { Regexp.last_match(2).upcase } "RSpec/#{cop_name}" end cop_names - %w(RSpec/Cop) end let(:config_keys) do cop_names + %w(AllCops) end def cop_configuration(config_key) cop_names.map do |cop_name| cop_config = default_config[cop_name] cop_config.fetch(config_key) do raise "Expected #{cop_name} to have #{config_key} configuration key" end end end it 'has configuration for all cops' do expect(default_config.keys.sort).to eq(config_keys.sort) end it 'has descriptions for all cops' do expect(cop_configuration('Description')).to all(be_a(String)) end it 'does not have newlines in cop descriptions' do cop_configuration('Description').each do |value| expect(value).not_to include("\n") end end it 'ends every description with a period' do expect(cop_configuration('Description')).to all(end_with('.')) end it 'includes Enabled: true for every cop' do expect(cop_configuration('Enabled')).to all(be(true).or(be(false))) end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
rubocop-rspec-1.15.0 | spec/project/default_config_spec.rb |
rubocop-rspec-1.14.0 | spec/project/default_config_spec.rb |
rubocop-rspec-1.13.0 | spec/project/default_config_spec.rb |