diff --git a/Library/Homebrew/rubocops/cask/array_alphabetization.rb b/Library/Homebrew/rubocops/cask/array_alphabetization.rb index ff268be6ce..335a5e22c2 100644 --- a/Library/Homebrew/rubocops/cask/array_alphabetization.rb +++ b/Library/Homebrew/rubocops/cask/array_alphabetization.rb @@ -14,6 +14,8 @@ module RuboCop return if node.method_name != :zap node.each_descendant(:pair).each do |pair| + next if pair.children.select(&:sym_type?).map(&:value) != [:trash] + pair.each_descendant(:array).each do |array| if array.children.length == 1 add_offense(array, message: SINGLE_MSG) do |corrector| diff --git a/Library/Homebrew/test/rubocops/cask/array_alphabetization_spec.rb b/Library/Homebrew/test/rubocops/cask/array_alphabetization_spec.rb index 2d932750b7..73f79a2e6e 100644 --- a/Library/Homebrew/test/rubocops/cask/array_alphabetization_spec.rb +++ b/Library/Homebrew/test/rubocops/cask/array_alphabetization_spec.rb @@ -77,4 +77,17 @@ describe RuboCop::Cop::Cask::ArrayAlphabetization, :config do end CASK end + + it "ignores `zap` methods other than `trash`" do + expect_no_offenses(<<~CASK) + cask "foo" do + url "https://example.com/foo.zip" + + zap delete: [ + "~/Library/Application Support/Foo", + "~/Library/Application Support/Bar", + ] + end + CASK + end end