class_cop: tighten test audit

This commit is contained in:
Dominyk Tiller 2018-08-07 03:04:42 +01:00
parent 9f370a3576
commit b8948129b8
No known key found for this signature in database
GPG Key ID: FE19AEFCF658C6F6

View File

@ -25,13 +25,24 @@ module RuboCop
end end
module FormulaAuditStrict module FormulaAuditStrict
# - `test do ..end` should be defined in the formula # - `test do ..end` should be meaningfully defined in the formula
class Test < FormulaCop class Test < FormulaCop
MSG = "A `test do` test block should be added".freeze
def audit_formula(_node, _class_node, _parent_class_node, body_node) def audit_formula(_node, _class_node, _parent_class_node, body_node)
return if find_block(body_node, :test) test = find_block(body_node, :test)
problem MSG
unless test
problem "A `test do` test block should be added"
return
end
if test.body.nil?
problem "`test do` should not be empty"
return
end
return unless test.body.single_line? &&
test.body.source.to_s == "true"
problem "`test do` should contain a real test"
end end
end end
end end