Sha256: 4aa8a251368ec9ff89ca83eed0e9662793a17ff69570ac3a2de5da63f5be23a9

Contents?: true

Size: 1.05 KB

Versions: 65

Compression:

Stored size: 1.05 KB

Contents

require 'json'

describe 'Coding guidelines' do

  it 'makes sure code style follow Rubocop guides' do
    rubocop_report = JSON.parse(`bundle exec rubocop --format json`)
    expect(rubocop_report['summary']['offense_count']).to(
      eq(0),
      proc do
        # Format a great error message to help
        wrong_files = rubocop_report['files'].reject { |file_info| file_info['offenses'].empty? }
        <<~EO_ERROR
          #{wrong_files.size} files have Rubocop issues:
          #{
            wrong_files.map do |file_info|
              offenses = file_info['offenses'].map { |offense_info| "L#{offense_info['location']['start_line']}: #{offense_info['cop_name']} - #{offense_info['message']}" }
              "* #{file_info['path']}:#{
                if offenses.size == 1
                  " #{offenses.first}"
                else
                  " #{offenses.size} offenses:\n#{offenses.map { |offense| "  - #{offense}" }.join("\n")}"
                end
              }"
            end.join("\n")
          }
        EO_ERROR
      end
    )
  end

end

Version data entries

65 entries across 65 versions & 6 rubygems

Version Path
nexus_mods-2.5.0 spec/nexus_mods_test/scenarios/rubocop_spec.rb
nexus_mods-2.4.0 spec/nexus_mods_test/scenarios/rubocop_spec.rb
nexus_mods-2.3.0 spec/nexus_mods_test/scenarios/rubocop_spec.rb
nexus_mods-2.2.0 spec/nexus_mods_test/scenarios/rubocop_spec.rb
nexus_mods-2.1.0 spec/nexus_mods_test/scenarios/rubocop_spec.rb
nexus_mods-2.0.1 spec/nexus_mods_test/scenarios/rubocop_spec.rb
nexus_mods-2.0.0 spec/nexus_mods_test/scenarios/rubocop_spec.rb
nexus_mods-1.1.1 spec/nexus_mods_test/scenarios/rubocop_spec.rb
nexus_mods-1.1.0 spec/nexus_mods_test/scenarios/rubocop_spec.rb
nexus_mods-1.0.0 spec/nexus_mods_test/scenarios/rubocop_spec.rb
nexus_mods-0.6.0 spec/nexus_mods_test/scenarios/rubocop_spec.rb
nexus_mods-0.5.1 spec/nexus_mods_test/scenarios/rubocop_spec.rb
nexus_mods-0.5.0 spec/nexus_mods_test/scenarios/rubocop_spec.rb
nexus_mods-0.4.0 spec/nexus_mods_test/scenarios/rubocop_spec.rb
nexus_mods-0.3.0 spec/nexus_mods_test/scenarios/rubocop_spec.rb
nexus_mods-0.2.0 spec/nexus_mods_test/scenarios/rubocop_spec.rb
nexus_mods-0.1.1 spec/nexus_mods_test/scenarios/rubocop_spec.rb
nexus_mods-0.1.0 spec/nexus_mods_test/scenarios/rubocop_spec.rb
mod_organizer-1.0.0 spec/mod_organizer_test/scenarios/rubocop_spec.rb
keepass_kpscript-1.1.1 spec/keepass_kpscript_test/tests/rubocop_spec.rb