2020-08-06 01:17:20 +02:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
require "rubocops/rubocop-cask"
|
|
|
|
|
2024-02-18 15:11:11 -08:00
|
|
|
RSpec.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
|