aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGautham Goli2017-08-14 15:22:44 +0530
committerGautham Goli2017-08-14 15:22:44 +0530
commit76f4eccdceb5b3fb4e88b56e077234a6a3e56b08 (patch)
tree0ee69fa055f76003099739d448028d4048deee69
parentdc4d10ff6a59ce0da1bfc7bc06dd819c442813ab (diff)
downloadbrew-76f4eccdceb5b3fb4e88b56e077234a6a3e56b08.tar.bz2
add test for using ARGV to check options
-rw-r--r--Library/Homebrew/rubocops/lines_cop.rb11
-rw-r--r--Library/Homebrew/test/rubocops/lines_cop_spec.rb24
2 files changed, 29 insertions, 6 deletions
diff --git a/Library/Homebrew/rubocops/lines_cop.rb b/Library/Homebrew/rubocops/lines_cop.rb
index dac523424..6a6f34821 100644
--- a/Library/Homebrew/rubocops/lines_cop.rb
+++ b/Library/Homebrew/rubocops/lines_cop.rb
@@ -88,11 +88,11 @@ module RuboCop
end
end
- # [:debug?, :verbose?, :value].each do |m|
- # find_instance_method_call(body_node, :ARGV, m) do
- # problem "Use build instead of ARGV to check options"
- # end
- # end
+ [:debug?, :verbose?, :value].each do |m|
+ find_instance_method_call(body_node, "ARGV", m) do
+ problem "Use build instead of ARGV to check options"
+ end
+ end
#
# find_instance_method_call(body_node, :man, :+) do |m|
# next unless match = regex_match_group(parameters(m).first, %r{man[1-8]})
@@ -320,7 +320,6 @@ module RuboCop
next unless match = regex_match_group(arg, %r{\-\-(.*)})
problem "Reference '#{match[1]}' without dashes"
end
-
end
def unless_modifier?(node)
diff --git a/Library/Homebrew/test/rubocops/lines_cop_spec.rb b/Library/Homebrew/test/rubocops/lines_cop_spec.rb
index 288ca8f8f..b5ff3d1f4 100644
--- a/Library/Homebrew/test/rubocops/lines_cop_spec.rb
+++ b/Library/Homebrew/test/rubocops/lines_cop_spec.rb
@@ -811,6 +811,30 @@ describe RuboCop::Cop::FormulaAudit::Miscellaneous do
expect_offense(expected, actual)
end
end
+
+ it "with using ARGV to check options" do
+ source = <<-EOS.undent
+ class Foo < Formula
+ desc "foo"
+ url 'http://example.com/foo-1.0.tgz'
+ def test
+ verbose = ARGV.verbose?
+ end
+ end
+ EOS
+
+ expected_offenses = [{ message: "Use build instead of ARGV to check options",
+ severity: :convention,
+ line: 5,
+ column: 14,
+ 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])