diff options
| author | mansimarkaur | 2017-07-27 04:18:43 +0530 |
|---|---|---|
| committer | mansimarkaur | 2017-08-29 16:16:17 +0530 |
| commit | cf96d8d9700d0869d52add879f25179509b3773c (patch) | |
| tree | 49bb374eec81f3aa7bade690c7032e373585f976 | |
| parent | 13fb14a95f6d0c909451e94e96b14447ccabdfcb (diff) | |
| download | brew-cf96d8d9700d0869d52add879f25179509b3773c.tar.bz2 | |
Improved tests for svn_available?
| -rw-r--r-- | Library/Homebrew/test/utils/svn_spec.rb | 19 | ||||
| -rw-r--r-- | Library/Homebrew/utils/svn.rb | 3 |
2 files changed, 13 insertions, 9 deletions
diff --git a/Library/Homebrew/test/utils/svn_spec.rb b/Library/Homebrew/test/utils/svn_spec.rb index 35f8917aa..3ff9ac655 100644 --- a/Library/Homebrew/test/utils/svn_spec.rb +++ b/Library/Homebrew/test/utils/svn_spec.rb @@ -2,11 +2,17 @@ require "utils/svn" describe Utils do describe "#self.svn_available?" do - it "processes value when @svn is not defined" do + it "returns true if svn --version command succeeds" do + allow_any_instance_of(Process::Status).to receive(:success?).and_return(true) expect(described_class.svn_available?).to be_truthy end - it "returns value of @svn when @svn is defined" do + it "returns false if svn --version command does not succeed" do + allow_any_instance_of(Process::Status).to receive(:success?).and_return(false) + expect(described_class.svn_available?).to be_falsey + end + + it "returns svn version if already set" do described_class.instance_variable_set(:@svn, true) expect(described_class.svn_available?).to be_truthy end @@ -15,17 +21,16 @@ describe Utils do describe "#self.svn_remote_exists" do let(:url) { "https://dl.bintray.com/homebrew/mirror/" } - it "gives true when @svn is false" do - allow_any_instance_of(Process::Status).to receive(:success?).and_return(false) + it "returns true when svn is not available" do described_class.instance_variable_set(:@svn, false) expect(described_class.svn_remote_exists(url)).to be_truthy end - it "gives false when url is obscure" do - expect(described_class.svn_remote_exists(url)).to be_falsy + it "returns false when remote does not exist" do + expect(described_class.svn_remote_exists(url)).to be_falsey end - it "gives true when quiet_system succeeds with given url" do + it "returns true when remote exists" do allow_any_instance_of(Process::Status).to receive(:success?).and_return(true) expect(described_class.svn_remote_exists(url)).to be_truthy end diff --git a/Library/Homebrew/utils/svn.rb b/Library/Homebrew/utils/svn.rb index fb49ac2e9..7a99551b3 100644 --- a/Library/Homebrew/utils/svn.rb +++ b/Library/Homebrew/utils/svn.rb @@ -1,7 +1,6 @@ module Utils def self.svn_available? - return @svn if instance_variable_defined?(:@svn) - @svn = quiet_system HOMEBREW_SHIMS_PATH/"scm/svn", "--version" + @svn ||= quiet_system HOMEBREW_SHIMS_PATH/"scm/svn", "--version" end def self.svn_remote_exists(url) |
