aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/test
diff options
context:
space:
mode:
authorMike McQuaid2017-06-02 15:48:22 +0100
committerGitHub2017-06-02 15:48:22 +0100
commitce80485aa4c1c0e6e2ee99414801937fa6c291d0 (patch)
treeaee7d68ca368ee35f0a965056c72092b3b923c01 /Library/Homebrew/test
parent760f92abbad0159fb522cca6a8555123e736e285 (diff)
parentcf848a14d2de60b425d6e279051a919ff6ad1e43 (diff)
downloadbrew-ce80485aa4c1c0e6e2ee99414801937fa6c291d0.tar.bz2
Merge pull request #2664 from GauthamGoli/audit_caveats_rubocop
audit: Port audit_caveats method to rubocop and add tests
Diffstat (limited to 'Library/Homebrew/test')
-rw-r--r--Library/Homebrew/test/dev-cmd/audit_spec.rb17
-rw-r--r--Library/Homebrew/test/rubocops/caveats_cop_spec.rb42
2 files changed, 42 insertions, 17 deletions
diff --git a/Library/Homebrew/test/dev-cmd/audit_spec.rb b/Library/Homebrew/test/dev-cmd/audit_spec.rb
index b90a21b55..25a179342 100644
--- a/Library/Homebrew/test/dev-cmd/audit_spec.rb
+++ b/Library/Homebrew/test/dev-cmd/audit_spec.rb
@@ -305,23 +305,6 @@ describe FormulaAuditor do
end
end
- specify "#audit_caveats" do
- fa = formula_auditor "foo", <<-EOS.undent
- class Foo < Formula
- homepage "http://example.com/foo"
- url "http://example.com/foo-1.0.tgz"
-
- def caveats
- "setuid"
- end
- end
- EOS
-
- fa.audit_caveats
- expect(fa.problems)
- .to eq(["Don't recommend setuid in the caveats, suggest sudo instead."])
- end
-
describe "#audit_keg_only_style" do
specify "keg_only_needs_downcasing" do
fa = formula_auditor "foo", <<-EOS.undent, strict: true
diff --git a/Library/Homebrew/test/rubocops/caveats_cop_spec.rb b/Library/Homebrew/test/rubocops/caveats_cop_spec.rb
new file mode 100644
index 000000000..d44808a5d
--- /dev/null
+++ b/Library/Homebrew/test/rubocops/caveats_cop_spec.rb
@@ -0,0 +1,42 @@
+require "rubocop"
+require "rubocop/rspec/support"
+require_relative "../../extend/string"
+require_relative "../../rubocops/caveats_cop"
+
+describe RuboCop::Cop::FormulaAudit::Caveats do
+ subject(:cop) { described_class.new }
+
+ context "When auditing caveats" do
+ it "When there is setuid mentioned in caveats" do
+ source = <<-EOS.undent
+ class Foo < Formula
+ homepage "http://example.com/foo"
+ url "http://example.com/foo-1.0.tgz"
+
+ def caveats
+ "setuid"
+ end
+ end
+ EOS
+
+ expected_offenses = [{ message: "Don't recommend setuid in the caveats, suggest sudo instead.",
+ severity: :convention,
+ line: 6,
+ column: 5,
+ source: source }]
+
+ inspect_source(cop, source)
+
+ expected_offenses.zip(cop.offenses).each do |expected, actual|
+ expect_offense(expected, actual)
+ 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])
+ end
+ end
+end