| 
									
										
										
										
											2020-08-06 01:17:20 +02:00
										 |  |  | # frozen_string_literal: true | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | require "rubocops/rubocop-cask" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-05-08 11:02:44 +02:00
										 |  |  | describe RuboCop::Cop::Cask::Desc, :config do | 
					
						
							| 
									
										
										
										
											2020-09-17 20:44:09 +02:00
										 |  |  |   it "does not start with an article" do | 
					
						
							| 
									
										
										
										
											2020-08-13 07:39:54 +02:00
										 |  |  |     expect_no_offenses <<~RUBY | 
					
						
							|  |  |  |       cask "foo" do | 
					
						
							|  |  |  |         desc "Bar program" | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |     RUBY | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     expect_offense <<~RUBY, "/homebrew-cask/Casks/foo.rb" | 
					
						
							|  |  |  |       cask 'foo' do | 
					
						
							|  |  |  |         desc 'A bar program' | 
					
						
							| 
									
										
										
										
											2023-05-08 11:02:44 +02:00
										 |  |  |               ^ Description shouldn't start with an article. | 
					
						
							| 
									
										
										
										
											2020-09-17 20:44:09 +02:00
										 |  |  |       end | 
					
						
							|  |  |  |     RUBY | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     expect_offense <<~RUBY, "/homebrew-cask/Casks/foo.rb" | 
					
						
							|  |  |  |       cask 'foo' do | 
					
						
							|  |  |  |         desc 'The bar program' | 
					
						
							| 
									
										
										
										
											2023-05-08 11:02:44 +02:00
										 |  |  |               ^^^ Description shouldn't start with an article. | 
					
						
							| 
									
										
										
										
											2020-08-13 07:39:54 +02:00
										 |  |  |       end | 
					
						
							|  |  |  |     RUBY | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     expect_correction <<~RUBY | 
					
						
							|  |  |  |       cask 'foo' do | 
					
						
							|  |  |  |         desc 'Bar program' | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |     RUBY | 
					
						
							| 
									
										
										
										
											2020-08-06 01:17:20 +02:00
										 |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-08-13 07:39:54 +02:00
										 |  |  |   it "does not start with the cask name" do | 
					
						
							|  |  |  |     expect_offense <<~RUBY, "/homebrew-cask/Casks/foo.rb" | 
					
						
							|  |  |  |       cask 'foobar' do | 
					
						
							|  |  |  |         desc 'Foo bar program' | 
					
						
							| 
									
										
										
										
											2023-05-08 11:02:44 +02:00
										 |  |  |               ^^^^^^^ Description shouldn't start with the cask name. | 
					
						
							| 
									
										
										
										
											2020-08-13 07:39:54 +02:00
										 |  |  |       end | 
					
						
							|  |  |  |     RUBY | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     expect_offense <<~RUBY, "/homebrew-cask/Casks/foo.rb" | 
					
						
							|  |  |  |       cask 'foobar' do | 
					
						
							|  |  |  |         desc 'Foo-Bar program' | 
					
						
							| 
									
										
										
										
											2023-05-08 11:02:44 +02:00
										 |  |  |               ^^^^^^^ Description shouldn't start with the cask name. | 
					
						
							| 
									
										
										
										
											2020-08-13 07:39:54 +02:00
										 |  |  |       end | 
					
						
							|  |  |  |     RUBY | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     expect_offense <<~RUBY, "/homebrew-cask/Casks/foo.rb" | 
					
						
							|  |  |  |       cask 'foo-bar' do | 
					
						
							|  |  |  |         desc 'Foo bar program' | 
					
						
							| 
									
										
										
										
											2023-05-08 11:02:44 +02:00
										 |  |  |               ^^^^^^^ Description shouldn't start with the cask name. | 
					
						
							| 
									
										
										
										
											2020-08-13 07:39:54 +02:00
										 |  |  |       end | 
					
						
							|  |  |  |     RUBY | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     expect_offense <<~RUBY, "/homebrew-cask/Casks/foo.rb" | 
					
						
							|  |  |  |       cask 'foo-bar' do | 
					
						
							|  |  |  |         desc 'Foo-Bar program' | 
					
						
							| 
									
										
										
										
											2023-05-08 11:02:44 +02:00
										 |  |  |               ^^^^^^^ Description shouldn't start with the cask name. | 
					
						
							| 
									
										
										
										
											2020-08-13 07:39:54 +02:00
										 |  |  |       end | 
					
						
							|  |  |  |     RUBY | 
					
						
							| 
									
										
										
										
											2020-08-06 01:17:20 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-08-13 07:39:54 +02:00
										 |  |  |     expect_offense <<~RUBY, "/homebrew-cask/Casks/foo.rb" | 
					
						
							|  |  |  |       cask 'foo-bar' do | 
					
						
							|  |  |  |         desc 'Foo Bar' | 
					
						
							| 
									
										
										
										
											2023-05-08 11:02:44 +02:00
										 |  |  |               ^^^^^^^ Description shouldn't start with the cask name. | 
					
						
							| 
									
										
										
										
											2020-08-13 07:39:54 +02:00
										 |  |  |       end | 
					
						
							|  |  |  |     RUBY | 
					
						
							| 
									
										
										
										
											2020-08-06 01:17:20 +02:00
										 |  |  |   end | 
					
						
							| 
									
										
										
										
											2020-09-01 13:18:59 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |   it "does not contain the platform" do | 
					
						
							|  |  |  |     expect_offense <<~RUBY, "/homebrew-cask/Casks/foo.rb" | 
					
						
							|  |  |  |       cask 'foo-bar' do | 
					
						
							|  |  |  |         desc 'macOS status bar monitor' | 
					
						
							| 
									
										
										
										
											2023-05-08 11:02:44 +02:00
										 |  |  |               ^^^^^ Description shouldn't contain the platform. | 
					
						
							| 
									
										
										
										
											2020-09-01 13:18:59 +02:00
										 |  |  |       end | 
					
						
							|  |  |  |     RUBY | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     expect_offense <<~RUBY, "/homebrew-cask/Casks/foo.rb" | 
					
						
							|  |  |  |       cask 'foo-bar' do | 
					
						
							|  |  |  |         desc 'Toggles dark mode on Mac OS Mojave' | 
					
						
							| 
									
										
										
										
											2023-05-08 11:02:44 +02:00
										 |  |  |                                    ^^^^^^ Description shouldn't contain the platform. | 
					
						
							| 
									
										
										
										
											2020-09-01 13:18:59 +02:00
										 |  |  |       end | 
					
						
							|  |  |  |     RUBY | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     expect_offense <<~RUBY, "/homebrew-cask/Casks/foo.rb" | 
					
						
							|  |  |  |       cask 'foo-bar' do | 
					
						
							|  |  |  |         desc 'Better input source switcher for OS X' | 
					
						
							| 
									
										
										
										
											2023-05-08 11:02:44 +02:00
										 |  |  |                                                ^^^^ Description shouldn't contain the platform. | 
					
						
							| 
									
										
										
										
											2020-09-01 13:18:59 +02:00
										 |  |  |       end | 
					
						
							|  |  |  |     RUBY | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     expect_offense <<~RUBY, "/homebrew-cask/Casks/foo.rb" | 
					
						
							|  |  |  |       cask 'foo-bar' do | 
					
						
							|  |  |  |         desc 'Media Manager for Mac OS X' | 
					
						
							| 
									
										
										
										
											2023-05-08 11:02:44 +02:00
										 |  |  |                                 ^^^^^^^^ Description shouldn't contain the platform. | 
					
						
							| 
									
										
										
										
											2020-09-01 13:18:59 +02:00
										 |  |  |       end | 
					
						
							|  |  |  |     RUBY | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-09-19 04:30:41 +02:00
										 |  |  |     expect_no_offenses <<~RUBY | 
					
						
							|  |  |  |       cask 'foo' do | 
					
						
							|  |  |  |         desc 'Application for managing macOS virtual machines' | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |     RUBY | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     expect_offense <<~RUBY | 
					
						
							|  |  |  |       cask 'foo' do | 
					
						
							|  |  |  |         desc 'Application for managing macOS virtual machines on macOS' | 
					
						
							| 
									
										
										
										
											2023-05-08 11:02:44 +02:00
										 |  |  |                                                                  ^^^^^ Description shouldn't contain the platform. | 
					
						
							| 
									
										
										
										
											2020-09-19 04:30:41 +02:00
										 |  |  |       end | 
					
						
							|  |  |  |     RUBY | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-06-20 08:10:30 -04:00
										 |  |  |     expect_offense <<~RUBY | 
					
						
							|  |  |  |       cask 'foo' do | 
					
						
							|  |  |  |         desc 'Description with a 🍺 symbol' | 
					
						
							| 
									
										
										
										
											2023-06-20 11:33:49 -04:00
										 |  |  |                                  ^ Description shouldn't contain Unicode emojis or symbols. | 
					
						
							| 
									
										
										
										
											2023-06-20 08:10:30 -04:00
										 |  |  |       end | 
					
						
							|  |  |  |     RUBY | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-09-01 13:18:59 +02:00
										 |  |  |     expect_no_offenses <<~RUBY | 
					
						
							|  |  |  |       cask 'foo' do | 
					
						
							|  |  |  |         desc 'MAC address changer' | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |     RUBY | 
					
						
							|  |  |  |   end | 
					
						
							| 
									
										
										
										
											2020-08-06 01:17:20 +02:00
										 |  |  | end |