Add tests for macOS check

This commit is contained in:
Gautham Goli 2017-08-13 14:50:29 +05:30
parent 686fc514cf
commit 77105b809a
2 changed files with 28 additions and 7 deletions

View File

@ -248,13 +248,13 @@ module RuboCop
next unless method_called?(m, :new)
problem "`depends_on` can take requirement classes instead of instances"
end
#
# os = [:leopard?, :snow_leopard?, :lion?, :mountain_lion?]
# os.each do |version|
# find_instance_method_call(body_node, :MacOS, version) do |m|
# problem "\"#{m.source}\" is deprecated, use a comparison to MacOS.version instead"
# end
# end
os = [:leopard?, :snow_leopard?, :lion?, :mountain_lion?]
os.each do |version|
find_instance_method_call(body_node, "MacOS", version) do |m|
problem "\"#{m.source}\" is deprecated, use a comparison to MacOS.version instead"
end
end
#
# dirPattern(body_node) do |m|
# next unless m =~ /\[("[^\*{},]+")\]/

View File

@ -527,6 +527,27 @@ describe RuboCop::Cop::FormulaAudit::Miscellaneous do
inspect_source(cop, source)
expected_offenses.zip(cop.offenses).each do |expected, actual|
expect_offense(expected, actual)
end
end
it "with old style OS check" do
source = <<-EOS.undent
class Foo < Formula
desc "foo"
url 'http://example.com/foo-1.0.tgz'
depends_on :foo if MacOS.snow_leopard?
end
EOS
expected_offenses = [{ message: "\"MacOS.snow_leopard?\" is deprecated, use a comparison to MacOS.version instead",
severity: :convention,
line: 4,
column: 21,
source: source }]
inspect_source(cop, source)
expected_offenses.zip(cop.offenses).each do |expected, actual|
expect_offense(expected, actual)
end