From 5a39e1f238d60a41c14ac0ac5b78e147ccc30618 Mon Sep 17 00:00:00 2001 From: Bevan Kay Date: Mon, 30 Sep 2024 22:22:41 +1000 Subject: [PATCH] test/cask/audit_spec: audit deprecate/disable reasons --- Library/Homebrew/test/cask/audit_spec.rb | 47 ++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/Library/Homebrew/test/cask/audit_spec.rb b/Library/Homebrew/test/cask/audit_spec.rb index b6a96511b6..800d1fa51d 100644 --- a/Library/Homebrew/test/cask/audit_spec.rb +++ b/Library/Homebrew/test/cask/audit_spec.rb @@ -1142,5 +1142,52 @@ RSpec.describe Cask::Audit, :cask do it { is_expected.to error_with(/a homepage stanza is required/) } end end + + describe "checking deprecate/disable" do + let(:only) { ["deprecate_disable"] } + let(:cask_token) { "deprecated-cask" } + + context "when deprecate/disable is used with a valid reason" do + let(:cask) do + tmp_cask cask_token.to_s, <<~RUBY + cask '#{cask_token}' do + version "1.0" + sha256 "8dd95daa037ac02455435446ec7bc737b34567afe9156af7d20b2a83805c1d8a" + url "https://brew.sh/foo.zip" + name "Audit" + desc "Cask Auditor" + homepage "https://brew.sh/" + app "Audit.app" + deprecate! date: "2021-01-01", because: :foobar + end + RUBY + end + + it "fails" do + expect(run).to error_with(/foobar is not a valid deprecate! or disable! reason/) + end + end + + context "when deprecate/disable is used with an invalid reason" do + let(:cask) do + tmp_cask cask_token.to_s, <<~RUBY + cask '#{cask_token}' do + version "1.0" + sha256 "8dd95daa037ac02455435446ec7bc737b34567afe9156af7d20b2a83805c1d8a" + url "https://brew.sh/foo.zip" + name "Audit" + desc "Cask Auditor" + homepage "https://brew.sh/" + app "Audit.app" + disable! date: "2021-01-01", because: :discontinued + end + RUBY + end + + it "passes" do + expect(run).to pass + end + end + end end end