| 
									
										
										
										
											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 |