2017-07-27 01:52:21 +05:30
|
|
|
require "utils/svn"
|
|
|
|
|
|
|
|
describe Utils do
|
|
|
|
describe "#self.svn_available?" do
|
2017-07-27 04:40:27 +05:30
|
|
|
before(:each) do
|
2017-08-24 01:31:12 +05:30
|
|
|
described_class.clear_svn_version_cache
|
2017-07-27 04:18:43 +05:30
|
|
|
end
|
|
|
|
|
2017-07-27 04:40:27 +05:30
|
|
|
it "returns svn version if svn available" do
|
2017-09-25 17:21:11 -07:00
|
|
|
if File.executable? "/usr/bin/svn"
|
|
|
|
expect(described_class.svn_available?).to be_truthy
|
|
|
|
else
|
|
|
|
expect(described_class.svn_available?).to be_falsey
|
|
|
|
end
|
2017-07-27 01:52:21 +05:30
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
describe "#self.svn_remote_exists" do
|
2017-07-27 04:18:43 +05:30
|
|
|
it "returns true when svn is not available" do
|
2017-07-27 04:40:27 +05:30
|
|
|
allow(Utils).to receive(:svn_available?).and_return(false)
|
|
|
|
expect(described_class.svn_remote_exists("blah")).to be_truthy
|
2017-07-27 01:52:21 +05:30
|
|
|
end
|
|
|
|
|
2017-07-27 04:40:27 +05:30
|
|
|
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 }
|
2017-07-27 01:52:21 +05:30
|
|
|
|
2017-07-27 04:40:27 +05:30
|
|
|
expect(described_class.svn_remote_exists(HOMEBREW_CACHE/"install")).to be_truthy
|
|
|
|
end
|
2017-07-27 01:52:21 +05:30
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|