audit: add check for 'head' and 'head do' both present

Closes Homebrew/homebrew#44626.

Signed-off-by: Baptiste Fontaine <batifon@yahoo.fr>
This commit is contained in:
Andrew Janke 2015-10-05 05:38:50 -04:00 committed by Baptiste Fontaine
parent 2d60187e1a
commit 4c80bf4324

View File

@ -179,15 +179,20 @@ class FormulaAuditor
[/^ test do/, "test block"] [/^ test do/, "test block"]
] ]
component_list.map do |regex, name| present = component_list.map do |regex, name|
lineno = text.line_number regex lineno = text.line_number regex
next unless lineno next unless lineno
[lineno, name] [lineno, name]
end.compact.each_cons(2) do |c1, c2| end.compact
present.each_cons(2) do |c1, c2|
unless c1[0] < c2[0] unless c1[0] < c2[0]
problem "`#{c1[1]}` (line #{c1[0]}) should be put before `#{c2[1]}` (line #{c2[0]})" problem "`#{c1[1]}` (line #{c1[0]}) should be put before `#{c2[1]}` (line #{c2[0]})"
end end
end end
present.map!(&:last)
if present.include?("head") && present.include?("head block")
problem "Should not have both `head` and `head do`"
end
end end
def audit_class def audit_class