Use FormulaInstaller OS extensions

This commit is contained in:
Douglas Eichelberger 2024-09-06 13:58:32 -07:00
parent 9978c3d11a
commit 5d5daaa09f
4 changed files with 79 additions and 0 deletions

View File

@ -1546,3 +1546,5 @@ on_request: installed_on_request?, options:)
$stderr.puts @requirement_messages
end
end
require "extend/os/formula_installer"

View File

@ -450,6 +450,27 @@ RSpec.describe FormulaInstaller do
end
end
describe "#fresh_install" do
subject(:formula_installer) { described_class.new(Testball.new) }
it "is false by default" do
formula = Testball.new
expect(formula_installer.fresh_install?(formula)).to be false
end
it "is false in developer mode" do
formula = Testball.new
allow(Homebrew::EnvConfig).to receive_messages(developer?: true)
expect(formula_installer.fresh_install?(formula)).to be false
end
it "is false on outdated releases" do
formula = Testball.new
allow(OS::Mac.version).to receive_messages(outdated_release?: true)
expect(formula_installer.fresh_install?(formula)).to be false
end
end
describe "#install_service" do
it "works if service is set" do
formula = Testball.new

View File

@ -0,0 +1,25 @@
# frozen_string_literal: true
require "formula_installer"
require "test/support/fixtures/testball"
RSpec.describe FormulaInstaller do
include FileUtils
subject(:keg) { described_class.new(keg_path) }
describe "#fresh_install" do
subject(:formula_installer) { described_class.new(Testball.new) }
it "is true by default" do
formula = Testball.new
expect(formula_installer.fresh_install?(formula)).to be true
end
it "is false in developer mode" do
formula = Testball.new
allow(Homebrew::EnvConfig).to receive_messages(developer?: true)
expect(formula_installer.fresh_install?(formula)).to be false
end
end
end

View File

@ -0,0 +1,31 @@
# frozen_string_literal: true
require "formula_installer"
require "test/support/fixtures/testball"
RSpec.describe FormulaInstaller do
include FileUtils
subject(:keg) { described_class.new(keg_path) }
describe "#fresh_install" do
subject(:formula_installer) { described_class.new(Testball.new) }
it "is true by default" do
formula = Testball.new
expect(formula_installer.fresh_install?(formula)).to be true
end
it "is false in developer mode" do
formula = Testball.new
allow(Homebrew::EnvConfig).to receive_messages(developer?: true)
expect(formula_installer.fresh_install?(formula)).to be false
end
it "is false on outdated releases" do
formula = Testball.new
allow(OS::Mac.version).to receive_messages(outdated_release?: true)
expect(formula_installer.fresh_install?(formula)).to be false
end
end
end