aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/test
diff options
context:
space:
mode:
authorMike McQuaid2017-07-08 07:44:16 +0100
committerGitHub2017-07-08 07:44:16 +0100
commitf1fa475c4fc6f82312368114bdd604d5752e743b (patch)
treee634c1ba80eb38f8ef7760c82e3a34311066427d /Library/Homebrew/test
parentded1967c6c1a5fb576eadda718864422759bd5e3 (diff)
parent4ed34f91c26b3b3449d676fa2067222d318c4d3a (diff)
downloadbrew-f1fa475c4fc6f82312368114bdd604d5752e743b.tar.bz2
Merge pull request #2843 from GauthamGoli/audit_conflicts_rubocop
audit: Port audit_conflicts method to rubocop and add tests
Diffstat (limited to 'Library/Homebrew/test')
-rw-r--r--Library/Homebrew/test/rubocops/conflicts_cop_spec.rb47
1 files changed, 47 insertions, 0 deletions
diff --git a/Library/Homebrew/test/rubocops/conflicts_cop_spec.rb b/Library/Homebrew/test/rubocops/conflicts_cop_spec.rb
new file mode 100644
index 000000000..c3175509a
--- /dev/null
+++ b/Library/Homebrew/test/rubocops/conflicts_cop_spec.rb
@@ -0,0 +1,47 @@
+require "rubocop"
+require "rubocop/rspec/support"
+require_relative "../../extend/string"
+require_relative "../../rubocops/conflicts_cop"
+
+describe RuboCop::Cop::FormulaAudit::Conflicts do
+ subject(:cop) { described_class.new }
+
+ context "When auditing formula for conflicts with" do
+ it "multiple conflicts_with" do
+ source = <<-EOS.undent
+ class FooAT20 < Formula
+ url 'http://example.com/foo-2.0.tgz'
+ conflicts_with "mysql", "mariadb", "percona-server",
+ :because => "both install plugins"
+ end
+ EOS
+
+ msg = <<-EOS.undent
+ Versioned formulae should not use `conflicts_with`.
+ Use `keg_only :versioned_formula` instead.
+ EOS
+ expected_offenses = [{ message: msg,
+ severity: :convention,
+ line: 3,
+ column: 2,
+ source: source }]
+
+ inspect_source(cop, source)
+
+ expected_offenses.zip(cop.offenses).each do |expected, actual|
+ expect_offense(expected, actual)
+ end
+ end
+
+ it "no conflicts_with" do
+ source = <<-EOS.undent
+ class FooAT20 < Formula
+ url 'http://example.com/foo-2.0.tgz'
+ desc 'Bar'
+ end
+ EOS
+ inspect_source(cop, source)
+ expect(cop.offenses).to eq([])
+ end
+ end
+end