diff options
| author | Mike McQuaid | 2017-06-08 15:44:30 +0300 |
|---|---|---|
| committer | GitHub | 2017-06-08 15:44:30 +0300 |
| commit | e25b1a3a960bd79f3fec1539a4ef52e86dfabc00 (patch) | |
| tree | ebf89ef458fa395081d6c955b147230b13bc3c0c /Library/Homebrew/test/rubocops | |
| parent | e287c83d8b3b1a632ba76d26d05dbeeafb7e724c (diff) | |
| parent | c572081f8b56f3be24f24e85497ae780a25cbcba (diff) | |
| download | brew-e25b1a3a960bd79f3fec1539a4ef52e86dfabc00.tar.bz2 | |
Merge pull request #2748 from MikeMcQuaid/desc-cop-tweaks
formula_desc_cop: tweak some rules.
Diffstat (limited to 'Library/Homebrew/test/rubocops')
| -rw-r--r-- | Library/Homebrew/test/rubocops/formula_desc_cop_spec.rb | 55 |
1 files changed, 46 insertions, 9 deletions
diff --git a/Library/Homebrew/test/rubocops/formula_desc_cop_spec.rb b/Library/Homebrew/test/rubocops/formula_desc_cop_spec.rb index f6436d6a3..4e684be46 100644 --- a/Library/Homebrew/test/rubocops/formula_desc_cop_spec.rb +++ b/Library/Homebrew/test/rubocops/formula_desc_cop_spec.rb @@ -3,7 +3,7 @@ require "rubocop/rspec/support" require_relative "../../extend/string" require_relative "../../rubocops/formula_desc_cop" -describe RuboCop::Cop::FormulaAuditStrict::Desc do +describe RuboCop::Cop::FormulaAuditStrict::DescLength do subject(:cop) { described_class.new } context "When auditing formula desc" do @@ -31,7 +31,7 @@ describe RuboCop::Cop::FormulaAuditStrict::Desc do source = <<-EOS.undent class Foo < Formula url 'http://example.com/foo-1.0.tgz' - desc '#{"bar" * 30}' + desc 'Bar#{"bar" * 29}' end EOS @@ -55,7 +55,7 @@ describe RuboCop::Cop::FormulaAuditStrict::Desc do source = <<-EOS.undent class Foo < Formula url 'http://example.com/foo-1.0.tgz' - desc '#{"bar" * 10}'\ + desc 'Bar#{"bar" * 9}'\ '#{"foo" * 21}' end EOS @@ -75,7 +75,13 @@ describe RuboCop::Cop::FormulaAuditStrict::Desc do expect_offense(expected, actual) end end + end +end +describe RuboCop::Cop::FormulaAuditStrict::Desc do + subject(:cop) { described_class.new } + + context "When auditing formula desc" do it "When wrong \"command-line\" usage in desc" do source = <<-EOS.undent class Foo < Formula @@ -104,7 +110,27 @@ describe RuboCop::Cop::FormulaAuditStrict::Desc do end EOS - expected_offenses = [{ message: "Description shouldn't start with an indefinite article (An )", + expected_offenses = [{ message: "Description shouldn't start with an indefinite article i.e. \"An\"", + severity: :convention, + line: 3, + column: 8, + source: source }] + + inspect_source(cop, source) + expected_offenses.zip(cop.offenses).each do |expected, actual| + expect_offense(expected, actual) + end + end + + it "When an lowercase letter starts a desc" do + source = <<-EOS.undent + class Foo < Formula + url 'http://example.com/foo-1.0.tgz' + desc 'bar' + end + EOS + + expected_offenses = [{ message: "Description should start with a capital letter", severity: :convention, line: 3, column: 8, @@ -136,11 +162,22 @@ describe RuboCop::Cop::FormulaAuditStrict::Desc do end end - def expect_offense(expected, actual) - expect(actual.message).to eq(expected[:message]) - expect(actual.severity).to eq(expected[:severity]) - expect(actual.line).to eq(expected[:line]) - expect(actual.column).to eq(expected[:column]) + it "autocorrects all rules" do + source = <<-EOS.undent + class Foo < Formula + url 'http://example.com/foo-1.0.tgz' + desc ' an bar: commandline foo ' + end + EOS + correct_source = <<-EOS.undent + class Foo < Formula + url 'http://example.com/foo-1.0.tgz' + desc 'an bar: command-line' + end + EOS + + corrected_source = autocorrect_source(cop, source) + expect(corrected_source).to eq(correct_source) end end end |
