| 
									
										
										
										
											2019-04-19 15:38:03 +09:00
										 |  |  | # frozen_string_literal: true | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-11-06 07:09:44 +01:00
										 |  |  | require "test/cask/dsl/shared_examples/base" | 
					
						
							| 
									
										
										
										
											2016-08-18 22:11:42 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-09-06 08:29:14 +02:00
										 |  |  | describe Cask::DSL::Caveats, :cask do | 
					
						
							| 
									
										
										
										
											2023-04-11 21:02:10 +02:00
										 |  |  |   subject(:caveats) { described_class.new(cask) } | 
					
						
							| 
									
										
										
										
											2016-08-18 22:11:42 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-04-11 21:02:10 +02:00
										 |  |  |   let(:cask) { Cask::CaskLoader.load(cask_path("basic-cask")) } | 
					
						
							|  |  |  |   let(:dsl) { caveats } | 
					
						
							| 
									
										
										
										
											2023-04-12 00:05:47 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-09-06 08:29:14 +02:00
										 |  |  |   it_behaves_like Cask::DSL::Base | 
					
						
							| 
									
										
										
										
											2016-08-18 22:11:42 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  |   # TODO: add tests for Caveats DSL methods | 
					
						
							| 
									
										
										
										
											2023-04-11 21:02:10 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |   describe "#kext" do | 
					
						
							|  |  |  |     let(:cask) { instance_double(Cask::Cask) } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     it "points to System Preferences on macOS Monterey and earlier" do | 
					
						
							| 
									
										
										
										
											2023-05-09 02:15:28 +02:00
										 |  |  |       allow(MacOS).to receive(:version).and_return(MacOSVersion.new("12")) | 
					
						
							| 
									
										
										
										
											2023-04-11 21:02:10 +02:00
										 |  |  |       caveats.eval_caveats do | 
					
						
							|  |  |  |         kext | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |       expect(caveats.to_s).to include("System Preferences → Security & Privacy → General") | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     it "points to System Settings on macOS Ventura and later" do | 
					
						
							| 
									
										
										
										
											2023-05-09 02:15:28 +02:00
										 |  |  |       allow(MacOS).to receive(:version).and_return(MacOSVersion.new("13")) | 
					
						
							| 
									
										
										
										
											2023-04-11 21:02:10 +02:00
										 |  |  |       caveats.eval_caveats do | 
					
						
							|  |  |  |         kext | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |       expect(caveats.to_s).to include("System Settings → Privacy & Security") | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  |   end | 
					
						
							| 
									
										
										
										
											2016-08-18 22:11:42 +03:00
										 |  |  | end |