Skip to content

Commit

Permalink
Merge pull request #16778 from reitermarkus/tap-sig-4
Browse files Browse the repository at this point in the history
Simplify `Tap#custom_remote?`.
  • Loading branch information
MikeMcQuaid committed Mar 4, 2024
2 parents c3d1811 + e369689 commit 8d4e841
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 2 deletions.
5 changes: 3 additions & 2 deletions Library/Homebrew/tap.rb
Expand Up @@ -524,10 +524,11 @@ def uninstall(manual: false)
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}.
Expand Down
31 changes: 31 additions & 0 deletions Library/Homebrew/test/tap_spec.rb
Expand Up @@ -258,6 +258,37 @@ def setup_completion(link:)
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) { "[email protected]:Homebrew/homebrew-services" }

its(:custom_remote?) { is_expected.to be true }
end
end

specify "Git variant" do
touch path/"README"
setup_git_repo
Expand Down

0 comments on commit 8d4e841

Please sign in to comment.