From 40fd8f7d787fd99f4329d9cbe6236c49d49d230b Mon Sep 17 00:00:00 2001 From: Bevan Kay Date: Mon, 5 Dec 2022 14:26:38 +1100 Subject: [PATCH] unversioned_cask_checker: check installer artifacts --- .../livecheck/strategy/extract_plist_spec.rb | 8 ++++++++ .../livecheck/installer-manual-livecheck.rb | 16 ++++++++++++++++ .../test/support/fixtures/cask/caffeine.zip | Bin 1328 -> 2296 bytes Library/Homebrew/unversioned_cask_checker.rb | 10 ++++++++-- 4 files changed, 32 insertions(+), 2 deletions(-) create mode 100644 Library/Homebrew/test/support/fixtures/cask/Casks/livecheck/installer-manual-livecheck.rb diff --git a/Library/Homebrew/test/livecheck/strategy/extract_plist_spec.rb b/Library/Homebrew/test/livecheck/strategy/extract_plist_spec.rb index 5e7e03f669..fef1695751 100644 --- a/Library/Homebrew/test/livecheck/strategy/extract_plist_spec.rb +++ b/Library/Homebrew/test/livecheck/strategy/extract_plist_spec.rb @@ -106,4 +106,12 @@ describe Homebrew::Livecheck::Strategy::ExtractPlist do .to raise_error(TypeError, Homebrew::Livecheck::Strategy::INVALID_BLOCK_RETURN_VALUE_MSG) end end + + describe "::find_versions" do + it "can be used with an installer artifact" do + cask = Cask::CaskLoader.load(cask_path("livecheck/installer-manual-livecheck")) + + expect(extract_plist.find_versions(cask: cask)[:matches].values).to eq(["1.2.3"]) + end + end end diff --git a/Library/Homebrew/test/support/fixtures/cask/Casks/livecheck/installer-manual-livecheck.rb b/Library/Homebrew/test/support/fixtures/cask/Casks/livecheck/installer-manual-livecheck.rb new file mode 100644 index 0000000000..e57431e237 --- /dev/null +++ b/Library/Homebrew/test/support/fixtures/cask/Casks/livecheck/installer-manual-livecheck.rb @@ -0,0 +1,16 @@ +cask "installer-manual-livecheck" do + version "1.2.3" + sha256 "67cdb8a02803ef37fdbf7e0be205863172e41a561ca446cd84f0d7ab35a99d94" + + url "file://#{TEST_FIXTURE_DIR}/cask/caffeine.zip" + name "With Installer Manual" + desc "Cask with a manual installer" + homepage "https://brew.sh/" + + livecheck do + url :url + strategy :extract_plist + end + + installer manual: "Caffeine.app" +end diff --git a/Library/Homebrew/test/support/fixtures/cask/caffeine.zip b/Library/Homebrew/test/support/fixtures/cask/caffeine.zip index 99d61bbfb7b30994ef3c7de1bf3a4a34b40c95ce..646884181a72c87a77df1e73dbe6dd7be9937f18 100644 GIT binary patch literal 2296 zcmWIWW@Zs#00EC|5l=7!O7Jo$FgPcsrKM)(rRpUX6zGSB@G`L9Ji9%d_1yMwwWQwU z(h6<{MwYLP3=Ci+0&p57hHjK|eqKpxUP&>+Og2)@l)-7HZ(_24Fa;(n;50cXwK%`D zC^?l_cXKdsFuW~l4TS~ke_&AIHr+EXEnlx7C$qQ&9MbwJy~!|)7Sc;6IC>v35NLh> zSJd!(TA8Se%I%}MWeWqYHN_rG&J5yR=IOC$>;HRKsshTcHg8XSw)Z`6|GN8Ct#PfN zFTD_ro5bqow7t#y?~X(5Rny}hmQK51TsHeU|5dR_)mn$EiNRu)hcplLZuMf=Fl*r| zop)Ixk_@+P-F|4YRP!3}FlVZXX8PK5+J>Bqcz7tnEkcU7g}pENjL-jXe$y0OcIF&5 zIr1^GCvxBIJsIm*Cf{3?cE^100t4B!PJX?8^Pl=&=Un;tWpN>oMoD@^%JD77dcPOH z`eUwxTPkMUsI0D=f81QHTo}3_>oSu-B@WIz7 z>;r#TM?eG91PNw!0cpmMUJ7g<^Nj^qWt^Rw7Who)V|LK#UDm>>rFYRG<8FYNu99QzZb_zGpo9rAgOVbuTt literal 1328 zcmWIWW@h1H00B>J5l=7!O7JoWFgPcsrKM)(rRpUX6zGRW@G!8R+a7-N?Dp`lj0_9` zIJJtQYjw`gD@n~ODF&OthSiKq8mQJQ;55TCFD+lMASbi91mq%+X*MSbxkv`5X}*cc z{=sDA(c?x2#ieI)nhZ;j*xien z9Fg5C4$PJ)!3g(1#8jAEXavM`P~t>(GiK66Ha!!k>F|UKF&30ik&Q(U3I&v)*n-no yL^6Xp7(MzhlPt1>nV4_|2f}1nkU$eK!~>uN9N^8$28<*I4j|kMG$