| 
									
										
										
										
											2020-07-29 12:20:23 -04:00
										 |  |  | # frozen_string_literal: true | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | require "cask/cask_loader" | 
					
						
							|  |  |  | require "cask_dependent" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-02-18 15:11:11 -08:00
										 |  |  | RSpec.describe CaskDependent, :needs_macos do | 
					
						
							| 
									
										
										
										
											2020-07-29 12:20:23 -04:00
										 |  |  |   subject(:dependent) { described_class.new test_cask } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   let :test_cask do | 
					
						
							|  |  |  |     Cask::CaskLoader.load(+<<-RUBY)
 | 
					
						
							|  |  |  |       cask "testing" do | 
					
						
							|  |  |  |         depends_on formula: "baz" | 
					
						
							|  |  |  |         depends_on cask: "foo-cask" | 
					
						
							|  |  |  |         depends_on macos: ">= :mojave" | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |     RUBY | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   describe "#deps" do | 
					
						
							|  |  |  |     it "is the formula dependencies of the cask" do | 
					
						
							|  |  |  |       expect(dependent.deps.map(&:name)) | 
					
						
							|  |  |  |         .to eq %w[baz] | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   describe "#requirements" do | 
					
						
							|  |  |  |     it "is the requirements of the cask" do | 
					
						
							|  |  |  |       expect(dependent.requirements.map(&:name)) | 
					
						
							| 
									
										
										
										
											2020-12-15 14:19:45 +00:00
										 |  |  |         .to eq %w[foo-cask macos] | 
					
						
							| 
									
										
										
										
											2020-07-29 12:20:23 -04:00
										 |  |  |     end | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   describe "#recursive_dependencies", :integration_test do | 
					
						
							|  |  |  |     it "is all the dependencies of the cask" do | 
					
						
							|  |  |  |       setup_test_formula "foo" | 
					
						
							|  |  |  |       setup_test_formula "bar" | 
					
						
							|  |  |  |       setup_test_formula "baz", <<-RUBY
 | 
					
						
							|  |  |  |         url "https://brew.sh/baz-1.0" | 
					
						
							|  |  |  |         depends_on "bar" | 
					
						
							|  |  |  |       RUBY | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       expect(dependent.recursive_dependencies.map(&:name)) | 
					
						
							|  |  |  |         .to eq(%w[foo bar baz]) | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   describe "#recursive_requirements", :integration_test do | 
					
						
							|  |  |  |     it "is all the dependencies of the cask" do | 
					
						
							|  |  |  |       setup_test_formula "foo" | 
					
						
							|  |  |  |       setup_test_formula "bar" | 
					
						
							|  |  |  |       setup_test_formula "baz", <<-RUBY
 | 
					
						
							|  |  |  |         url "https://brew.sh/baz-1.0" | 
					
						
							|  |  |  |         depends_on "bar" | 
					
						
							|  |  |  |       RUBY | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       expect(dependent.recursive_requirements.map(&:name)) | 
					
						
							| 
									
										
										
										
											2020-12-15 14:19:45 +00:00
										 |  |  |         .to eq(%w[foo-cask macos]) | 
					
						
							| 
									
										
										
										
											2020-07-29 12:20:23 -04:00
										 |  |  |     end | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | end |