aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/test
diff options
context:
space:
mode:
authormansimarkaur2017-07-27 04:40:27 +0530
committermansimarkaur2017-08-29 16:16:17 +0530
commit53be6bb4bd69eaf8cc8e5c3c1ac9ecd1ddb1582c (patch)
tree9ba00047b88144b58da4701b29b15f6bd21ef10a /Library/Homebrew/test
parentcf96d8d9700d0869d52add879f25179509b3773c (diff)
downloadbrew-53be6bb4bd69eaf8cc8e5c3c1ac9ecd1ddb1582c.tar.bz2
Added check for svn availability
Diffstat (limited to 'Library/Homebrew/test')
-rw-r--r--Library/Homebrew/test/utils/svn_spec.rb43
1 files changed, 23 insertions, 20 deletions
diff --git a/Library/Homebrew/test/utils/svn_spec.rb b/Library/Homebrew/test/utils/svn_spec.rb
index 3ff9ac655..6f841cc92 100644
--- a/Library/Homebrew/test/utils/svn_spec.rb
+++ b/Library/Homebrew/test/utils/svn_spec.rb
@@ -2,37 +2,40 @@ require "utils/svn"
describe Utils do
describe "#self.svn_available?" 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 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
+ before(:each) do
+ if described_class.instance_variable_defined?(:@svn)
+ described_class.send(:remove_instance_variable, :@svn)
+ end
end
- it "returns svn version if already set" do
- described_class.instance_variable_set(:@svn, true)
+ it "returns svn version if svn available" do
expect(described_class.svn_available?).to be_truthy
end
end
describe "#self.svn_remote_exists" do
- let(:url) { "https://dl.bintray.com/homebrew/mirror/" }
-
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
+ allow(Utils).to receive(:svn_available?).and_return(false)
+ expect(described_class.svn_remote_exists("blah")).to be_truthy
end
- it "returns false when remote does not exist" do
- expect(described_class.svn_remote_exists(url)).to be_falsey
- end
+ context "when svn is available" do
+ before do
+ allow(Utils).to receive(:svn_available?).and_return(true)
+ end
+
+ it "returns false when remote does not exist" do
+ expect(described_class.svn_remote_exists(HOMEBREW_CACHE/"install")).to be_falsey
+ end
+
+ it "returns true when remote exists", :needs_network do
+ remote = "http://github.com/Homebrew/install"
+ svn = HOMEBREW_SHIMS_PATH/"scm/svn"
+
+ HOMEBREW_CACHE.cd { system svn, "checkout", remote }
- 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
+ expect(described_class.svn_remote_exists(HOMEBREW_CACHE/"install")).to be_truthy
+ end
end
end
end