diff options
| author | Gautham Goli | 2017-08-14 01:52:48 +0530 |
|---|---|---|
| committer | Gautham Goli | 2017-08-14 01:52:48 +0530 |
| commit | f968776e8460d7b6a0a3199d9c92c945cda0738d (patch) | |
| tree | 38ca0836fefe2d87f23b4cb379dca1d141d28f97 /Library | |
| parent | 6dad9d8b44e22f2729a2db95a1c2d14b3e84d477 (diff) | |
| download | brew-f968776e8460d7b6a0a3199d9c92c945cda0738d.tar.bz2 | |
Add tests for unless build.without?
Diffstat (limited to 'Library')
| -rw-r--r-- | Library/Homebrew/rubocops/lines_cop.rb | 14 | ||||
| -rw-r--r-- | Library/Homebrew/test/rubocops/lines_cop_spec.rb | 24 |
2 files changed, 31 insertions, 7 deletions
diff --git a/Library/Homebrew/rubocops/lines_cop.rb b/Library/Homebrew/rubocops/lines_cop.rb index 22df46205..6c79e1fca 100644 --- a/Library/Homebrew/rubocops/lines_cop.rb +++ b/Library/Homebrew/rubocops/lines_cop.rb @@ -274,13 +274,13 @@ module RuboCop if find_method_def(@processed_source.ast) problem "Define method #{method_name(@offensive_node)} in the class body, not at the top-level" end - # - # find_instance_method_call(body_node, :build, :without?) do |m| - # next unless unless_modifier?(m.parent) - # correct = m.source.gsub("out?", "?").gsub("unless", "if") - # problem "Use #{correct} instead of unless #{m.source}" - # end - # + + find_instance_method_call(body_node, :build, :without?) do |m| + next unless unless_modifier?(m.parent) + correct = m.source.gsub("out?", "?") + problem "Use if #{correct} instead of unless #{m.source}" + end + # find_instance_method_call(body_node, :build, :with?) do |m| # next unless unless_modifier?(m.parent) # correct = m.source.gsub("?", "out?").gsub("unless", "if") diff --git a/Library/Homebrew/test/rubocops/lines_cop_spec.rb b/Library/Homebrew/test/rubocops/lines_cop_spec.rb index 00543f545..352dc8219 100644 --- a/Library/Homebrew/test/rubocops/lines_cop_spec.rb +++ b/Library/Homebrew/test/rubocops/lines_cop_spec.rb @@ -619,6 +619,30 @@ describe RuboCop::Cop::FormulaAudit::Miscellaneous do expect_offense(expected, actual) end end + + it "with unless build.without?" do + source = <<-EOS.undent + class Foo < Formula + desc "foo" + url 'http://example.com/foo-1.0.tgz' + def post_install + return unless build.without? "bar" + end + end + EOS + + expected_offenses = [{ message: 'Use if build.with? "bar" instead of unless build.without? "bar"', + severity: :convention, + line: 5, + column: 18, + 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]) |
