| 
									
										
										
										
											2019-04-19 15:38:03 +09:00
										 |  |  | # frozen_string_literal: true | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-11-05 22:40:07 +01:00
										 |  |  | require_relative "shared_examples/uninstall_zap" | 
					
						
							| 
									
										
										
										
											2016-08-18 22:11:42 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-09-06 08:29:14 +02:00
										 |  |  | describe Cask::Artifact::Zap, :cask do | 
					
						
							| 
									
										
										
										
											2017-02-10 07:49:21 +01:00
										 |  |  |   describe "#zap_phase" do | 
					
						
							| 
									
										
										
										
											2017-03-08 03:03:36 +01:00
										 |  |  |     include_examples "#uninstall_phase or #zap_phase" | 
					
						
							| 
									
										
										
										
											2019-02-06 19:04:29 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     context "using :rmdir" do | 
					
						
							|  |  |  |       subject(:artifact) { cask.artifacts.find { |a| a.is_a?(described_class) } } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       let(:fake_system_command) { NeverSudoSystemCommand } | 
					
						
							|  |  |  |       let(:cask) { Cask::CaskLoader.load(cask_path("with-zap-rmdir")) } | 
					
						
							|  |  |  |       let(:empty_directory) { Pathname.new("#{TEST_TMPDIR}/empty_directory_path") } | 
					
						
							|  |  |  |       let(:ds_store) { empty_directory.join(".DS_Store") } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       before do | 
					
						
							|  |  |  |         empty_directory.mkdir | 
					
						
							|  |  |  |         FileUtils.touch ds_store | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       after do | 
					
						
							|  |  |  |         FileUtils.rm_rf empty_directory | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       it "is supported" do | 
					
						
							|  |  |  |         expect(empty_directory).to exist | 
					
						
							|  |  |  |         expect(ds_store).to exist | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         artifact.zap_phase(command: fake_system_command) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         expect(ds_store).not_to exist | 
					
						
							|  |  |  |         expect(empty_directory).not_to exist | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |     end | 
					
						
							| 
									
										
										
										
											2016-08-18 22:11:42 +03:00
										 |  |  |   end | 
					
						
							|  |  |  | end |