Merge pull request #19700 from Homebrew/livecheck/make-os-available
Make `os` available in `livecheck` blocks
This commit is contained in:
commit
4c56360267
@ -80,6 +80,7 @@ module Cask
|
|||||||
:homepage,
|
:homepage,
|
||||||
:language,
|
:language,
|
||||||
:name,
|
:name,
|
||||||
|
:os,
|
||||||
:sha256,
|
:sha256,
|
||||||
:staged_path,
|
:staged_path,
|
||||||
:url,
|
:url,
|
||||||
|
|||||||
@ -134,6 +134,10 @@ module Homebrew
|
|||||||
end
|
end
|
||||||
# rubocop:enable Homebrew/MoveToExtendOS
|
# rubocop:enable Homebrew/MoveToExtendOS
|
||||||
|
|
||||||
|
bundle_args << "--tag" << "~needs_arm" unless Hardware::CPU.arm?
|
||||||
|
|
||||||
|
bundle_args << "--tag" << "~needs_intel" unless Hardware::CPU.intel?
|
||||||
|
|
||||||
bundle_args << "--tag" << "~needs_network" unless args.online?
|
bundle_args << "--tag" << "~needs_network" unless args.online?
|
||||||
unless ENV["CI"]
|
unless ENV["CI"]
|
||||||
bundle_args << "--tag" << "~needs_ci" \
|
bundle_args << "--tag" << "~needs_ci" \
|
||||||
|
|||||||
@ -194,9 +194,10 @@ class Livecheck
|
|||||||
end
|
end
|
||||||
|
|
||||||
delegate url_options: :@options
|
delegate url_options: :@options
|
||||||
delegate version: :@package_or_resource
|
|
||||||
delegate arch: :@package_or_resource
|
delegate arch: :@package_or_resource
|
||||||
private :version, :arch
|
delegate os: :@package_or_resource
|
||||||
|
delegate version: :@package_or_resource
|
||||||
|
private :arch, :os, :version
|
||||||
# Returns a `Hash` of all instance variable values.
|
# Returns a `Hash` of all instance variable values.
|
||||||
# @return [Hash]
|
# @return [Hash]
|
||||||
sig { returns(T::Hash[String, T.untyped]) }
|
sig { returns(T::Hash[String, T.untyped]) }
|
||||||
|
|||||||
@ -182,6 +182,104 @@ RSpec.describe Livecheck do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
describe "#arch" do
|
||||||
|
let(:c_arch) do
|
||||||
|
Cask::Cask.new("c-arch") do
|
||||||
|
arch arm: "arm", intel: "intel"
|
||||||
|
|
||||||
|
version "0.0.1"
|
||||||
|
|
||||||
|
url "https://brew.sh/test-0.0.1.dmg"
|
||||||
|
name "Test"
|
||||||
|
desc "Test cask"
|
||||||
|
homepage "https://brew.sh"
|
||||||
|
|
||||||
|
livecheck do
|
||||||
|
url "https://brew.sh/#{arch}"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
[:needs_arm, :needs_intel].each do |needs_arch|
|
||||||
|
arch_value = needs_arch.to_s.delete_prefix("needs_")
|
||||||
|
it "delegates `arch` in `livecheck` block to `package_or_resource`", needs_arch do
|
||||||
|
expect(c_arch.livecheck.url).to eq("https://brew.sh/#{arch_value}")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
describe "#os" do
|
||||||
|
let(:c_os) do
|
||||||
|
Cask::Cask.new("c-os") do
|
||||||
|
os macos: "macos", linux: "linux"
|
||||||
|
|
||||||
|
version "0.0.1"
|
||||||
|
|
||||||
|
url "https://brew.sh/test-0.0.1.dmg"
|
||||||
|
name "Test"
|
||||||
|
desc "Test cask"
|
||||||
|
homepage "https://brew.sh"
|
||||||
|
|
||||||
|
livecheck do
|
||||||
|
url "https://brew.sh/#{os}"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
[:needs_macos, :needs_linux].each do |needs_os|
|
||||||
|
os_value = needs_os.to_s.delete_prefix("needs_")
|
||||||
|
it "delegates `os` in `livecheck` block to `package_or_resource`", needs_os do
|
||||||
|
expect(c_os.livecheck.url).to eq("https://brew.sh/#{os_value}")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
describe "#version" do
|
||||||
|
let(:url_with_version) { "https://brew.sh/0.0.1" }
|
||||||
|
|
||||||
|
let(:f_version) do
|
||||||
|
formula do
|
||||||
|
homepage "https://brew.sh"
|
||||||
|
url "https://brew.sh/test-0.0.1.tgz"
|
||||||
|
|
||||||
|
livecheck do
|
||||||
|
url "https://brew.sh/#{version}"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
let(:c_version) do
|
||||||
|
Cask::Cask.new("c-version") do
|
||||||
|
version "0.0.1"
|
||||||
|
|
||||||
|
url "https://brew.sh/test-0.0.1.dmg"
|
||||||
|
name "Test"
|
||||||
|
desc "Test cask"
|
||||||
|
homepage "https://brew.sh"
|
||||||
|
|
||||||
|
livecheck do
|
||||||
|
url "https://brew.sh/#{version}"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
let(:r_version) do
|
||||||
|
Resource.new do
|
||||||
|
url "https://brew.sh/test-0.0.1.tgz"
|
||||||
|
|
||||||
|
livecheck do
|
||||||
|
url "https://brew.sh/#{version}"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
it "delegates `version` in `livecheck` block to `package_or_resource`" do
|
||||||
|
expect(f_version.livecheck.url).to eq(url_with_version)
|
||||||
|
expect(c_version.livecheck.url).to eq(url_with_version)
|
||||||
|
expect(r_version.livecheck.url).to eq(url_with_version)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
describe "#to_hash" do
|
describe "#to_hash" do
|
||||||
it "returns a Hash of all instance variables" do
|
it "returns a Hash of all instance variables" do
|
||||||
expect(livecheck_f.to_hash).to eq(
|
expect(livecheck_f.to_hash).to eq(
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user