| 
									
										
										
										
											2019-04-19 15:38:03 +09:00
										 |  |  | # frozen_string_literal: true | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-02-21 21:45:34 +01:00
										 |  |  | require "utils/bottles" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-02-18 15:11:11 -08:00
										 |  |  | RSpec.describe Utils::Bottles do | 
					
						
							| 
									
										
										
										
											2017-02-21 21:45:34 +01:00
										 |  |  |   describe "#tag", :needs_macos do | 
					
						
							| 
									
										
										
										
											2020-11-06 14:50:43 +01:00
										 |  |  |     it "returns :big_sur or :arm64_big_sur on Big Sur" do | 
					
						
							| 
									
										
										
										
											2023-05-09 02:15:28 +02:00
										 |  |  |       allow(MacOS).to receive(:version).and_return(MacOSVersion.new("11.0")) | 
					
						
							| 
									
										
										
										
											2020-11-06 14:50:43 +01:00
										 |  |  |       if Hardware::CPU.intel? | 
					
						
							|  |  |  |         expect(described_class.tag).to eq(:big_sur) | 
					
						
							|  |  |  |       else | 
					
						
							|  |  |  |         expect(described_class.tag).to eq(:arm64_big_sur) | 
					
						
							|  |  |  |       end | 
					
						
							| 
									
										
										
										
											2017-02-21 21:45:34 +01:00
										 |  |  |     end | 
					
						
							|  |  |  |   end | 
					
						
							| 
									
										
										
										
											2024-01-29 15:57:55 -08:00
										 |  |  | 
 | 
					
						
							|  |  |  |   describe ".load_tab" do | 
					
						
							|  |  |  |     context "when tab_attributes and tabfile are missing" do | 
					
						
							|  |  |  |       before do | 
					
						
							|  |  |  |         # setup a testball1 | 
					
						
							|  |  |  |         dep_name = "testball1" | 
					
						
							| 
									
										
										
										
											2024-03-06 15:10:14 +01:00
										 |  |  |         dep_path = CoreTap.instance.new_formula_path(dep_name) | 
					
						
							| 
									
										
										
										
											2024-01-29 15:57:55 -08:00
										 |  |  |         dep_path.write <<~RUBY | 
					
						
							|  |  |  |           class #{Formulary.class_s(dep_name)} < Formula | 
					
						
							|  |  |  |             url "testball1" | 
					
						
							|  |  |  |             version "0.1" | 
					
						
							|  |  |  |           end | 
					
						
							|  |  |  |         RUBY | 
					
						
							|  |  |  |         Formulary.cache.delete(dep_path) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         # setup a testball2, that depends on testball1 | 
					
						
							|  |  |  |         formula_name = "testball2" | 
					
						
							| 
									
										
										
										
											2024-03-06 15:10:14 +01:00
										 |  |  |         formula_path = CoreTap.instance.new_formula_path(formula_name) | 
					
						
							| 
									
										
										
										
											2024-01-29 15:57:55 -08:00
										 |  |  |         formula_path.write <<~RUBY | 
					
						
							|  |  |  |           class #{Formulary.class_s(formula_name)} < Formula | 
					
						
							|  |  |  |             url "testball2" | 
					
						
							|  |  |  |             version "0.1" | 
					
						
							|  |  |  |             depends_on "testball1" | 
					
						
							|  |  |  |           end | 
					
						
							|  |  |  |         RUBY | 
					
						
							|  |  |  |         Formulary.cache.delete(formula_path) | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       it "includes runtime_dependencies" do | 
					
						
							|  |  |  |         formula = Formula["testball2"] | 
					
						
							|  |  |  |         formula.prefix.mkpath | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         runtime_dependencies = described_class.load_tab(formula).runtime_dependencies | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         expect(runtime_dependencies).not_to be_nil | 
					
						
							|  |  |  |         expect(runtime_dependencies.size).to eq(1) | 
					
						
							|  |  |  |         expect(runtime_dependencies.first).to include("full_name" => "testball1") | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  |   end | 
					
						
							| 
									
										
										
										
											2017-02-21 21:45:34 +01:00
										 |  |  | end |