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:
parent
2d60187e1a
commit
4c80bf4324
@ -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
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user