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
|
end
|
||||||
elsif strategy <= SubversionDownloadStrategy
|
elsif strategy <= SubversionDownloadStrategy
|
||||||
next unless DevelopmentTools.subversion_handles_most_https_certificates?
|
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"
|
problem "The URL #{url} is not a valid svn URL"
|
||||||
end
|
end
|
||||||
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
|
module Utils
|
||||||
|
def self.clear_svn_version_cache
|
||||||
|
remove_instance_variable(:@svn) if instance_variable_defined?(:@svn)
|
||||||
|
end
|
||||||
|
|
||||||
def self.svn_available?
|
def self.svn_available?
|
||||||
return @svn if instance_variable_defined?(:@svn)
|
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"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user