diff options
| author | mansimarkaur | 2017-07-27 04:40:27 +0530 |
|---|---|---|
| committer | mansimarkaur | 2017-08-29 16:16:17 +0530 |
| commit | 53be6bb4bd69eaf8cc8e5c3c1ac9ecd1ddb1582c (patch) | |
| tree | 9ba00047b88144b58da4701b29b15f6bd21ef10a /Library/Homebrew/test | |
| parent | cf96d8d9700d0869d52add879f25179509b3773c (diff) | |
| download | brew-53be6bb4bd69eaf8cc8e5c3c1ac9ecd1ddb1582c.tar.bz2 | |
Added check for svn availability
Diffstat (limited to 'Library/Homebrew/test')
| -rw-r--r-- | Library/Homebrew/test/utils/svn_spec.rb | 43 |
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 |
