Merge pull request #16778 from reitermarkus/tap-sig-4

Simplify `Tap#custom_remote?`.
This commit is contained in:
Mike McQuaid 2024-03-04 14:42:52 +00:00 committed by GitHub
commit 8d4e841965
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 34 additions and 2 deletions

View File

@ -524,10 +524,11 @@ class Tap
end
# True if the {#remote} of {Tap} is customized.
sig { returns(T::Boolean) }
def custom_remote?
return true unless remote
return true unless (remote = self.remote)
remote.casecmp(default_remote).nonzero?
!remote.casecmp(default_remote).zero?
end
# Path to the directory of all {Formula} files for this {Tap}.

View File

@ -258,6 +258,37 @@ RSpec.describe Tap do
end
end
describe "#custom_remote?" do
subject(:tap) { described_class.new("Homebrew", "services") }
let(:remote) { nil }
before do
tap.path.mkpath
system "git", "-C", tap.path, "init"
system "git", "-C", tap.path, "remote", "add", "origin", remote if remote
end
context "if no remote is available" do
it "returns true" do
expect(tap.remote).to be_nil
expect(tap.custom_remote?).to be true
end
end
context "when using the default remote" do
let(:remote) { "https://github.com/Homebrew/homebrew-services" }
its(:custom_remote?) { is_expected.to be false }
end
context "when using a non-default remote" do
let(:remote) { "git@github.com:Homebrew/homebrew-services" }
its(:custom_remote?) { is_expected.to be true }
end
end
specify "Git variant" do
touch path/"README"
setup_git_repo