| 
									
										
										
										
											2019-04-19 15:38:03 +09:00
										 |  |  | # frozen_string_literal: true | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-02-25 10:32:58 +01:00
										 |  |  | require "dependency_collector" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | describe DependencyCollector do | 
					
						
							| 
									
										
										
										
											2017-05-09 23:00:51 +02:00
										 |  |  |   alias_matcher :need_tar_xz_dependency, :be_tar_needs_xz_dependency | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-01-31 13:14:23 -05:00
										 |  |  |   subject(:collector) { described_class.new } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-01-26 17:13:14 +00:00
										 |  |  |   specify "Resource dependency from a '.xz' URL" do | 
					
						
							| 
									
										
										
										
											2017-02-25 10:32:58 +01:00
										 |  |  |     resource = Resource.new | 
					
						
							| 
									
										
										
										
											2018-11-28 20:51:55 +01:00
										 |  |  |     resource.url("https://brew.sh/foo.tar.xz") | 
					
						
							| 
									
										
										
										
											2022-03-01 00:01:13 +00:00
										 |  |  |     expect(collector.add(resource)).to be_nil | 
					
						
							| 
									
										
										
										
											2017-02-25 10:32:58 +01:00
										 |  |  |   end | 
					
						
							| 
									
										
										
										
											2018-01-10 13:19:45 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-02-20 21:33:38 +00:00
										 |  |  |   specify "Resource dependency from a '.zip' URL" do | 
					
						
							|  |  |  |     resource = Resource.new | 
					
						
							| 
									
										
										
										
											2018-11-28 20:51:55 +01:00
										 |  |  |     resource.url("https://brew.sh/foo.zip") | 
					
						
							| 
									
										
										
										
											2022-03-01 00:01:13 +00:00
										 |  |  |     expect(collector.add(resource)).to be_nil | 
					
						
							| 
									
										
										
										
											2018-02-20 21:33:38 +00:00
										 |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   specify "Resource dependency from a '.bz2' URL" do | 
					
						
							|  |  |  |     resource = Resource.new | 
					
						
							| 
									
										
										
										
											2018-11-28 20:51:55 +01:00
										 |  |  |     resource.url("https://brew.sh/foo.tar.bz2") | 
					
						
							| 
									
										
										
										
											2022-03-01 00:01:13 +00:00
										 |  |  |     expect(collector.add(resource)).to be_nil | 
					
						
							| 
									
										
										
										
											2018-02-20 21:33:38 +00:00
										 |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-01-10 13:19:45 +00:00
										 |  |  |   specify "Resource dependency from a '.git' URL" do | 
					
						
							|  |  |  |     resource = Resource.new | 
					
						
							| 
									
										
										
										
											2018-11-28 20:51:55 +01:00
										 |  |  |     resource.url("git://brew.sh/foo/bar.git") | 
					
						
							| 
									
										
										
										
											2022-03-01 00:01:13 +00:00
										 |  |  |     expect(collector.add(resource)).to be_nil | 
					
						
							| 
									
										
										
										
											2018-01-10 13:19:45 +00:00
										 |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   specify "Resource dependency from a Subversion URL" do | 
					
						
							|  |  |  |     resource = Resource.new | 
					
						
							| 
									
										
										
										
											2018-11-28 20:51:55 +01:00
										 |  |  |     resource.url("svn://brew.sh/foo/bar") | 
					
						
							| 
									
										
										
										
											2023-06-19 06:06:15 +01:00
										 |  |  |     expect(collector.add(resource)).to eq(Dependency.new("subversion", [:build, :test, :implicit])) | 
					
						
							| 
									
										
										
										
											2018-01-10 13:19:45 +00:00
										 |  |  |   end | 
					
						
							| 
									
										
										
										
											2017-02-25 10:32:58 +01:00
										 |  |  | end |