124 lines
3.3 KiB
Ruby
Raw Normal View History

2020-10-10 14:16:11 +02:00
# typed: false
# frozen_string_literal: true
require "rubocops/rubocop-cask"
require "test/rubocops/cask/shared_examples/cask_cop"
describe RuboCop::Cop::Cask::Desc do
subject(:cop) { described_class.new }
it "does not start with an article" do
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'
2022-12-13 10:54:22 +00:00
^ Description shouldn't start with an article.
end
RUBY
expect_offense <<~RUBY, "/homebrew-cask/Casks/foo.rb"
cask 'foo' do
desc 'The bar program'
2022-12-13 10:54:22 +00:00
^^^ Description shouldn't start with an article.
end
RUBY
expect_correction <<~RUBY
cask 'foo' do
desc 'Bar program'
end
RUBY
end
it "does not start with the cask name" do
expect_offense <<~RUBY, "/homebrew-cask/Casks/foo.rb"
cask 'foobar' do
desc 'Foo bar program'
^^^^^^^ Description shouldn't start with the cask name.
end
RUBY
expect_offense <<~RUBY, "/homebrew-cask/Casks/foo.rb"
cask 'foobar' do
desc 'Foo-Bar program'
2022-12-13 10:54:22 +00:00
^^^^^^^ Description shouldn't start with the cask name.
end
RUBY
expect_offense <<~RUBY, "/homebrew-cask/Casks/foo.rb"
cask 'foo-bar' do
desc 'Foo bar program'
2022-12-13 10:54:22 +00:00
^^^^^^^ Description shouldn't start with the cask name.
end
RUBY
expect_offense <<~RUBY, "/homebrew-cask/Casks/foo.rb"
cask 'foo-bar' do
desc 'Foo-Bar program'
2022-12-13 10:54:22 +00:00
^^^^^^^ Description shouldn't start with the cask name.
end
RUBY
expect_offense <<~RUBY, "/homebrew-cask/Casks/foo.rb"
cask 'foo-bar' do
desc 'Foo Bar'
2022-12-13 10:54:22 +00:00
^^^^^^^ Description shouldn't start with the cask name.
end
RUBY
end
it "does not contain the platform" do
expect_offense <<~RUBY, "/homebrew-cask/Casks/foo.rb"
cask 'foo-bar' do
desc 'macOS status bar monitor'
2022-12-13 10:54:22 +00:00
^^^^^ Description shouldn't contain the platform.
end
RUBY
expect_offense <<~RUBY, "/homebrew-cask/Casks/foo.rb"
cask 'foo-bar' do
desc 'Toggles dark mode on Mac OS Mojave'
2022-12-13 10:54:22 +00:00
^^^^^^ Description shouldn't contain the platform.
end
RUBY
expect_offense <<~RUBY, "/homebrew-cask/Casks/foo.rb"
cask 'foo-bar' do
desc 'Better input source switcher for OS X'
2022-12-13 10:54:22 +00:00
^^^^ Description shouldn't contain the platform.
end
RUBY
expect_offense <<~RUBY, "/homebrew-cask/Casks/foo.rb"
cask 'foo-bar' do
desc 'Media Manager for Mac OS X'
2022-12-13 10:54:22 +00:00
^^^^^^^^ Description shouldn't contain the platform.
end
RUBY
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'
2022-12-13 10:54:22 +00:00
^^^^^ Description shouldn't contain the platform.
end
RUBY
expect_no_offenses <<~RUBY
cask 'foo' do
desc 'MAC address changer'
end
RUBY
end
end