aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/test
diff options
context:
space:
mode:
authorGautham Goli2017-08-12 23:28:08 +0530
committerGautham Goli2017-08-12 23:28:08 +0530
commit686fc514cfd7ddd18484c37b177dc2b8298d129b (patch)
treee8ddd4074c1fd632ac306791772747400262be3f /Library/Homebrew/test
parent087c1ca8d660f5604f9e9f31e3c4c18cb98d91bd (diff)
downloadbrew-686fc514cfd7ddd18484c37b177dc2b8298d129b.tar.bz2
Add tests for assert match and depends_on instance audit rules
Diffstat (limited to 'Library/Homebrew/test')
-rw-r--r--Library/Homebrew/test/rubocops/lines_cop_spec.rb68
1 files changed, 68 insertions, 0 deletions
diff --git a/Library/Homebrew/test/rubocops/lines_cop_spec.rb b/Library/Homebrew/test/rubocops/lines_cop_spec.rb
index 293a415a5..aca9a7209 100644
--- a/Library/Homebrew/test/rubocops/lines_cop_spec.rb
+++ b/Library/Homebrew/test/rubocops/lines_cop_spec.rb
@@ -50,6 +50,12 @@ describe RuboCop::Cop::FormulaAudit::Lines do
end
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
describe RuboCop::Cop::FormulaAudit::ClassInheritance do
@@ -77,6 +83,12 @@ describe RuboCop::Cop::FormulaAudit::ClassInheritance do
end
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
describe RuboCop::Cop::FormulaAudit::Comments do
@@ -149,6 +161,12 @@ describe RuboCop::Cop::FormulaAudit::Comments do
end
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
describe RuboCop::Cop::FormulaAudit::Miscellaneous do
@@ -469,5 +487,55 @@ describe RuboCop::Cop::FormulaAudit::Miscellaneous do
expect_offense(expected, actual)
end
end
+
+ it "with assert include" do
+ source = <<-EOS.undent
+ class Foo < Formula
+ desc "foo"
+ url 'http://example.com/foo-1.0.tgz'
+ assert File.read("inbox").include?("Sample message 1")
+ end
+ EOS
+
+ expected_offenses = [{ message: "Use `assert_match` instead of `assert ...include?`",
+ severity: :convention,
+ line: 4,
+ column: 9,
+ source: source }]
+
+ inspect_source(cop, source)
+
+ expected_offenses.zip(cop.offenses).each do |expected, actual|
+ expect_offense(expected, actual)
+ end
+ end
+
+ it "depends_on with an instance as an argument" do
+ source = <<-EOS.undent
+ class Foo < Formula
+ desc "foo"
+ url 'http://example.com/foo-1.0.tgz'
+ depends_on FOO::BAR.new
+ end
+ EOS
+
+ expected_offenses = [{ message: "`depends_on` can take requirement classes instead of instances",
+ severity: :convention,
+ line: 4,
+ column: 13,
+ source: source }]
+
+ inspect_source(cop, source)
+
+ expected_offenses.zip(cop.offenses).each do |expected, actual|
+ expect_offense(expected, actual)
+ end
+ 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