Skip to content

Commit 8d52d9b

Browse files
committed
livecheck: add tests for delegates
This adds tests for the livecheck DSL's `version` and `arch` delegates. This doesn't affect test coverage but it ensures that the methods work as expected in `livecheck` blocks.
1 parent ed48426 commit 8d52d9b

File tree

1 file changed

+72
-0
lines changed

1 file changed

+72
-0
lines changed

Library/Homebrew/test/livecheck_spec.rb

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,32 @@
182182
end
183183
end
184184

185+
describe "#arch" do
186+
let(:c_arch) do
187+
Cask::Cask.new("c-arch") do
188+
arch arm: "arm", intel: "intel"
189+
190+
version "0.0.1"
191+
192+
url "https://brew.sh/test-0.0.1.dmg"
193+
name "Test"
194+
desc "Test cask"
195+
homepage "https://brew.sh"
196+
197+
livecheck do
198+
url "https://brew.sh/#{arch}"
199+
end
200+
end
201+
end
202+
203+
[:needs_arm, :needs_intel].each do |needs_arch|
204+
arch_value = needs_arch.to_s.delete_prefix("needs_")
205+
it "delegates `arch` in `livecheck` block to `package_or_resource`", needs_arch do
206+
expect(c_arch.livecheck.url).to eq("https://brew.sh/#{arch_value}")
207+
end
208+
end
209+
end
210+
185211
describe "#os" do
186212
let(:c_os) do
187213
Cask::Cask.new("c-os") do
@@ -208,6 +234,52 @@
208234
end
209235
end
210236

237+
describe "#version" do
238+
let(:url_with_version) { "https://brew.sh/0.0.1" }
239+
240+
let(:f_version) do
241+
formula do
242+
homepage "https://brew.sh"
243+
url "https://brew.sh/test-0.0.1.tgz"
244+
245+
livecheck do
246+
url "https://brew.sh/#{version}"
247+
end
248+
end
249+
end
250+
251+
let(:c_version) do
252+
Cask::Cask.new("c-version") do
253+
version "0.0.1"
254+
255+
url "https://brew.sh/test-0.0.1.dmg"
256+
name "Test"
257+
desc "Test cask"
258+
homepage "https://brew.sh"
259+
260+
livecheck do
261+
url "https://brew.sh/#{version}"
262+
end
263+
end
264+
end
265+
266+
let(:r_version) do
267+
Resource.new do
268+
url "https://brew.sh/test-0.0.1.tgz"
269+
270+
livecheck do
271+
url "https://brew.sh/#{version}"
272+
end
273+
end
274+
end
275+
276+
it "delegates `version` in `livecheck` block to `package_or_resource`" do
277+
expect(f_version.livecheck.url).to eq(url_with_version)
278+
expect(c_version.livecheck.url).to eq(url_with_version)
279+
expect(r_version.livecheck.url).to eq(url_with_version)
280+
end
281+
end
282+
211283
describe "#to_hash" do
212284
it "returns a Hash of all instance variables" do
213285
expect(livecheck_f.to_hash).to eq(

0 commit comments

Comments
 (0)