aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormansimarkaur2017-07-27 04:18:43 +0530
committermansimarkaur2017-08-29 16:16:17 +0530
commitcf96d8d9700d0869d52add879f25179509b3773c (patch)
tree49bb374eec81f3aa7bade690c7032e373585f976
parent13fb14a95f6d0c909451e94e96b14447ccabdfcb (diff)
downloadbrew-cf96d8d9700d0869d52add879f25179509b3773c.tar.bz2
Improved tests for svn_available?
-rw-r--r--Library/Homebrew/test/utils/svn_spec.rb19
-rw-r--r--Library/Homebrew/utils/svn.rb3
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)