cask: audit locales
This commit is contained in:
parent
d64afece81
commit
523c24684d
@ -41,6 +41,7 @@ module Cask
|
|||||||
check_token_valid
|
check_token_valid
|
||||||
check_token_bad_words
|
check_token_bad_words
|
||||||
check_token_conflicts
|
check_token_conflicts
|
||||||
|
check_languages
|
||||||
check_download
|
check_download
|
||||||
check_https_availability
|
check_https_availability
|
||||||
check_single_pre_postflight
|
check_single_pre_postflight
|
||||||
@ -277,6 +278,17 @@ module Cask
|
|||||||
end
|
end
|
||||||
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
|
def check_token_conflicts
|
||||||
return unless @token_conflicts
|
return unless @token_conflicts
|
||||||
return unless core_formula_names.include?(cask.token)
|
return unless core_formula_names.include?(cask.token)
|
||||||
|
@ -275,6 +275,52 @@ describe Cask::Audit, :cask do
|
|||||||
end
|
end
|
||||||
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
|
describe "pkg allow_untrusted checks" do
|
||||||
let(:warning_msg) { "allow_untrusted is not permitted in official Homebrew Cask taps" }
|
let(:warning_msg) { "allow_untrusted is not permitted in official Homebrew Cask taps" }
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user