From 657b6ef7fb67231540bac9bcf4126ec27e8e1841 Mon Sep 17 00:00:00 2001 From: mansimarkaur Date: Fri, 28 Jul 2017 02:02:40 +0530 Subject: Added tests for git_available? --- Library/Homebrew/test/utils/git_spec.rb | 19 +++++++++++++++++++ Library/Homebrew/utils/git.rb | 3 ++- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/Library/Homebrew/test/utils/git_spec.rb b/Library/Homebrew/test/utils/git_spec.rb index d4eb97820..39b28794a 100644 --- a/Library/Homebrew/test/utils/git_spec.rb +++ b/Library/Homebrew/test/utils/git_spec.rb @@ -45,3 +45,22 @@ describe Git do end end end + +describe Utils do + describe "::git_available?" do + it "returns true if git --version command succeeds" do + allow_any_instance_of(Process::Status).to receive(:success?).and_return(true) + expect(described_class.git_available?).to be_truthy + end + + it "returns false if git --version command does not succeed" do + allow_any_instance_of(Process::Status).to receive(:success?).and_return(false) + expect(described_class.git_available?).to be_falsey + end + + it "returns git version if already set" do + described_class.instance_variable_set(:@git, true) + expect(described_class.git_available?).to be_truthy + end + end +end diff --git a/Library/Homebrew/utils/git.rb b/Library/Homebrew/utils/git.rb index 3668b9d11..1e2e360e6 100644 --- a/Library/Homebrew/utils/git.rb +++ b/Library/Homebrew/utils/git.rb @@ -27,7 +27,8 @@ end module Utils def self.git_available? - @git ||= quiet_system HOMEBREW_SHIMS_PATH/"scm/git", "--version" + return @git if instance_variable_defined?(:@git) + @git = quiet_system HOMEBREW_SHIMS_PATH/"scm/git", "--version" end def self.git_path -- cgit v1.2.3