2019-04-19 15:38:03 +09:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2017-02-21 21:45:34 +01:00
|
|
|
require "utils/bottles"
|
|
|
|
|
2024-02-18 15:11:11 -08:00
|
|
|
RSpec.describe Utils::Bottles do
|
2017-02-21 21:45:34 +01:00
|
|
|
describe "#tag", :needs_macos do
|
2020-11-06 14:50:43 +01:00
|
|
|
it "returns :big_sur or :arm64_big_sur on Big Sur" do
|
2023-05-09 02:15:28 +02:00
|
|
|
allow(MacOS).to receive(:version).and_return(MacOSVersion.new("11.0"))
|
2020-11-06 14:50:43 +01:00
|
|
|
if Hardware::CPU.intel?
|
|
|
|
expect(described_class.tag).to eq(:big_sur)
|
|
|
|
else
|
|
|
|
expect(described_class.tag).to eq(:arm64_big_sur)
|
|
|
|
end
|
2017-02-21 21:45:34 +01:00
|
|
|
end
|
|
|
|
end
|
2024-01-29 15:57:55 -08:00
|
|
|
|
|
|
|
describe ".load_tab" do
|
|
|
|
context "when tab_attributes and tabfile are missing" do
|
|
|
|
before do
|
|
|
|
# setup a testball1
|
|
|
|
dep_name = "testball1"
|
2024-03-06 15:10:14 +01:00
|
|
|
dep_path = CoreTap.instance.new_formula_path(dep_name)
|
2024-01-29 15:57:55 -08:00
|
|
|
dep_path.write <<~RUBY
|
|
|
|
class #{Formulary.class_s(dep_name)} < Formula
|
|
|
|
url "testball1"
|
|
|
|
version "0.1"
|
|
|
|
end
|
|
|
|
RUBY
|
|
|
|
Formulary.cache.delete(dep_path)
|
|
|
|
|
|
|
|
# setup a testball2, that depends on testball1
|
|
|
|
formula_name = "testball2"
|
2024-03-06 15:10:14 +01:00
|
|
|
formula_path = CoreTap.instance.new_formula_path(formula_name)
|
2024-01-29 15:57:55 -08:00
|
|
|
formula_path.write <<~RUBY
|
|
|
|
class #{Formulary.class_s(formula_name)} < Formula
|
|
|
|
url "testball2"
|
|
|
|
version "0.1"
|
|
|
|
depends_on "testball1"
|
|
|
|
end
|
|
|
|
RUBY
|
|
|
|
Formulary.cache.delete(formula_path)
|
|
|
|
end
|
|
|
|
|
|
|
|
it "includes runtime_dependencies" do
|
|
|
|
formula = Formula["testball2"]
|
|
|
|
formula.prefix.mkpath
|
|
|
|
|
|
|
|
runtime_dependencies = described_class.load_tab(formula).runtime_dependencies
|
|
|
|
|
|
|
|
expect(runtime_dependencies).not_to be_nil
|
|
|
|
expect(runtime_dependencies.size).to eq(1)
|
|
|
|
expect(runtime_dependencies.first).to include("full_name" => "testball1")
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
2017-02-21 21:45:34 +01:00
|
|
|
end
|