cask: audit locales
This commit is contained in:
parent
d64afece81
commit
523c24684d
@ -41,6 +41,7 @@ module Cask
|
||||
check_token_valid
|
||||
check_token_bad_words
|
||||
check_token_conflicts
|
||||
check_languages
|
||||
check_download
|
||||
check_https_availability
|
||||
check_single_pre_postflight
|
||||
@ -277,6 +278,17 @@ module Cask
|
||||
end
|
||||
end
|
||||
|
||||
def check_languages
|
||||
invalid = []
|
||||
@cask.languages.each do |language|
|
||||
invalid << language.to_s unless language.match?(/^[a-z]{2}$/) || language.match?(/^[a-z]{2}-[A-Z]{2}$/)
|
||||
end
|
||||
|
||||
return if invalid.empty?
|
||||
|
||||
add_error "locale #{invalid.join(", ")} are invalid"
|
||||
end
|
||||
|
||||
def check_token_conflicts
|
||||
return unless @token_conflicts
|
||||
return unless core_formula_names.include?(cask.token)
|
||||
|
@ -275,6 +275,52 @@ describe Cask::Audit, :cask do
|
||||
end
|
||||
end
|
||||
|
||||
describe "locale validation" do
|
||||
let(:strict) { true }
|
||||
let(:cask) do
|
||||
tmp_cask "locale-cask-test", <<~RUBY
|
||||
cask 'locale-cask-test' do
|
||||
version '1.0'
|
||||
url "https://brew.sh/"
|
||||
name 'Audit'
|
||||
homepage 'https://brew.sh/'
|
||||
app 'Audit.app'
|
||||
|
||||
language 'en', default: true do
|
||||
sha256 '96574251b885c12b48a3495e843e434f9174e02bb83121b578e17d9dbebf1ffb'
|
||||
'zh-CN'
|
||||
end
|
||||
|
||||
language 'zh-CN' do
|
||||
sha256 '96574251b885c12b48a3495e843e434f9174e02bb83121b578e17d9dbebf1ffb'
|
||||
'zh-CN'
|
||||
end
|
||||
|
||||
language 'ZH-CN' do
|
||||
sha256 '96574251b885c12b48a3495e843e434f9174e02bb83121b578e17d9dbebf1ffb'
|
||||
'zh-CN'
|
||||
end
|
||||
|
||||
language 'zh-' do
|
||||
sha256 '96574251b885c12b48a3495e843e434f9174e02bb83121b578e17d9dbebf1ffb'
|
||||
'zh-CN'
|
||||
end
|
||||
|
||||
language 'zh-cn' do
|
||||
sha256 '96574251b885c12b48a3495e843e434f9174e02bb83121b578e17d9dbebf1ffb'
|
||||
'zh-CN'
|
||||
end
|
||||
end
|
||||
RUBY
|
||||
end
|
||||
|
||||
context "when cask locale is invalid" do
|
||||
it "error with invalid locale" do
|
||||
expect(subject).to fail_with(/locale ZH-CN, zh-, zh-cn are invalid/)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe "pkg allow_untrusted checks" do
|
||||
let(:warning_msg) { "allow_untrusted is not permitted in official Homebrew Cask taps" }
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user