Merge pull request #2950 from mansimarkaur/svn
Added tests for utils/svn
This commit is contained in:
commit
156bca7dfb
@ -1228,7 +1228,8 @@ class ResourceAuditor
|
||||
end
|
||||
elsif strategy <= SubversionDownloadStrategy
|
||||
next unless DevelopmentTools.subversion_handles_most_https_certificates?
|
||||
unless Utils.svn_remote_exists url
|
||||
next unless Utils.svn_available?
|
||||
if Utils.svn_remote_exists url
|
||||
problem "The URL #{url} is not a valid svn URL"
|
||||
end
|
||||
end
|
||||
|
||||
39
Library/Homebrew/test/utils/svn_spec.rb
Normal file
39
Library/Homebrew/test/utils/svn_spec.rb
Normal file
@ -0,0 +1,39 @@
|
||||
require "utils/svn"
|
||||
|
||||
describe Utils do
|
||||
describe "#self.svn_available?" do
|
||||
before(:each) do
|
||||
described_class.clear_svn_version_cache
|
||||
end
|
||||
|
||||
it "returns svn version if svn available" do
|
||||
expect(described_class.svn_available?).to be_truthy
|
||||
end
|
||||
end
|
||||
|
||||
describe "#self.svn_remote_exists" do
|
||||
it "returns true when svn is not available" do
|
||||
allow(Utils).to receive(:svn_available?).and_return(false)
|
||||
expect(described_class.svn_remote_exists("blah")).to be_truthy
|
||||
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 }
|
||||
|
||||
expect(described_class.svn_remote_exists(HOMEBREW_CACHE/"install")).to be_truthy
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -1,4 +1,8 @@
|
||||
module Utils
|
||||
def self.clear_svn_version_cache
|
||||
remove_instance_variable(:@svn) if instance_variable_defined?(:@svn)
|
||||
end
|
||||
|
||||
def self.svn_available?
|
||||
return @svn if instance_variable_defined?(:@svn)
|
||||
@svn = quiet_system HOMEBREW_SHIMS_PATH/"scm/svn", "--version"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user