66 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
		
		
			
		
	
	
			66 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
|   | # frozen_string_literal: true | ||
|  | 
 | ||
|  | require "rubocops/rubocop-cask" | ||
|  | 
 | ||
|  | describe RuboCop::Cop::Cask::Discontinued, :config do | ||
|  |   it "reports no offenses when there is no `caveats` stanza" do | ||
|  |     expect_no_offenses <<~CASK | ||
|  |       cask "foo" do | ||
|  |         url "https://example.com/download/foo-v1.2.0.dmg", | ||
|  |             verified: "example.com/download/" | ||
|  |       end | ||
|  |     CASK | ||
|  |   end | ||
|  | 
 | ||
|  |   it "reports no offenses when there is a `caveats` stanza without `discontinued`" do | ||
|  |     expect_no_offenses <<~CASK | ||
|  |       cask "foo" do | ||
|  |         url "https://example.com/download/foo-v1.2.0.dmg", | ||
|  |             verified: "example.com/download/" | ||
|  | 
 | ||
|  |         caveats do | ||
|  |           files_in_usr_local | ||
|  |         end | ||
|  |       end | ||
|  |     CASK | ||
|  |   end | ||
|  | 
 | ||
|  |   it "reports an offense when there is a `caveats` stanza with `discontinued` and other caveats" do | ||
|  |     expect_offense <<~CASK | ||
|  |       cask "foo" do | ||
|  |         url "https://example.com/download/foo-v1.2.0.dmg", | ||
|  |             verified: "example.com/download/" | ||
|  | 
 | ||
|  |         caveats do | ||
|  |           discontinued | ||
|  |           ^^^^^^^^^^^^ Use `deprecate!` instead of `caveats { discontinued }`. | ||
|  |           files_in_usr_local | ||
|  |         end | ||
|  |       end | ||
|  |     CASK | ||
|  |   end | ||
|  | 
 | ||
|  |   it "corrects `caveats { discontinued }` to `deprecate!`" do | ||
|  |     expect_offense <<~CASK | ||
|  |       cask "foo" do | ||
|  |         url "https://example.com/download/foo-v1.2.0.dmg", | ||
|  |             verified: "example.com/download/" | ||
|  | 
 | ||
|  |         caveats do | ||
|  |         ^^^^^^^^^^ Use `deprecate!` instead of `caveats { discontinued }`. | ||
|  |           discontinued | ||
|  |         end | ||
|  |       end | ||
|  |     CASK | ||
|  | 
 | ||
|  |     expect_correction <<~CASK | ||
|  |       cask "foo" do | ||
|  |         url "https://example.com/download/foo-v1.2.0.dmg", | ||
|  |             verified: "example.com/download/" | ||
|  | 
 | ||
|  |         deprecate! date: "#{Date.today}", because: :discontinued | ||
|  |       end | ||
|  |     CASK | ||
|  |   end | ||
|  | end |