Merge pull request #4224 from vitorgalvao/fix-language-bug
HBC: Make language stanza order not matter
This commit is contained in:
commit
b088302e11
@ -134,9 +134,7 @@ module Hbc
|
||||
end
|
||||
|
||||
MacOS.languages.map(&Locale.method(:parse)).each do |locale|
|
||||
key = @language_blocks.keys.detect do |strings|
|
||||
strings.any? { |string| locale.include?(string) }
|
||||
end
|
||||
key = locale.detect(@language_blocks.keys)
|
||||
|
||||
next if key.nil?
|
||||
|
||||
|
||||
@ -68,6 +68,11 @@ class Locale
|
||||
end
|
||||
alias == eql?
|
||||
|
||||
def detect(locale_groups)
|
||||
locale_groups.detect { |locales| locales.any? { |locale| eql?(locale) } } ||
|
||||
locale_groups.detect { |locales| locales.any? { |locale| include?(locale) } }
|
||||
end
|
||||
|
||||
def to_s
|
||||
[@language, @region, @script].compact.join("-")
|
||||
end
|
||||
|
||||
@ -72,4 +72,14 @@ describe Locale do
|
||||
expect(subject.eql?("zh_CN_Hans")).to be false
|
||||
end
|
||||
end
|
||||
|
||||
describe "#detect" do
|
||||
let(:locale_groups) { [["zh"], ["zh-TW"]] }
|
||||
|
||||
it "finds best matching language code, independent of order" do
|
||||
expect(described_class.new("zh", "TW", nil).detect(locale_groups)).to eql(["zh-TW"])
|
||||
expect(described_class.new("zh", "TW", nil).detect(locale_groups.reverse)).to eql(["zh-TW"])
|
||||
expect(described_class.new("zh", "CN", "Hans").detect(locale_groups)).to eql(["zh"])
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
cask 'with-languages' do
|
||||
version '1.2.3'
|
||||
|
||||
|
||||
language "zh" do
|
||||
sha256 "abc123"
|
||||
"zh-CN"
|
||||
@ -13,6 +13,6 @@ cask 'with-languages' do
|
||||
|
||||
url "file://#{TEST_FIXTURE_DIR}/cask/caffeine.zip"
|
||||
homepage 'http://example.com/local-caffeine'
|
||||
|
||||
|
||||
app 'Caffeine.app'
|
||||
end
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user