Ensure i18n matches options (#2358)
* Add failing spec showing that human_locales does not match what i18n knows about * Add missing `ar` key for arabic to human locales * Remove duplicate `id` key from available locales * Sort keys in human locales list * Add spec for human_locale helpershrike
parent
6e27e08cb4
commit
55e1e12b7d
|
@ -3,29 +3,30 @@
|
|||
module SettingsHelper
|
||||
HUMAN_LOCALES = {
|
||||
en: 'English',
|
||||
ar: 'عربى',
|
||||
bg: 'Български',
|
||||
de: 'Deutsch',
|
||||
es: 'Español',
|
||||
eo: 'Esperanto',
|
||||
es: 'Español',
|
||||
fi: 'Suomi',
|
||||
fr: 'Français',
|
||||
hr: 'Hrvatski',
|
||||
hu: 'Magyar',
|
||||
id: 'Bahasa Indonesia',
|
||||
io: 'Ido',
|
||||
it: 'Italiano',
|
||||
ja: '日本語',
|
||||
nl: 'Nederlands',
|
||||
no: 'Norsk',
|
||||
oc: 'Occitan',
|
||||
pl: 'Polszczyzna',
|
||||
pt: 'Português',
|
||||
'pt-BR': 'Português do Brasil',
|
||||
fi: 'Suomi',
|
||||
ru: 'Русский',
|
||||
uk: 'Українська',
|
||||
ja: '日本語',
|
||||
'zh-CN': '简体中文',
|
||||
'zh-HK': '繁體中文(香港)',
|
||||
'zh-TW': '繁體中文(臺灣)',
|
||||
bg: 'Български',
|
||||
id: 'Bahasa Indonesia',
|
||||
}.freeze
|
||||
|
||||
def human_locale(locale)
|
||||
|
|
|
@ -35,7 +35,6 @@ module Mastodon
|
|||
:fi,
|
||||
:fr,
|
||||
:hr,
|
||||
:id,
|
||||
:hu,
|
||||
:id,
|
||||
:io,
|
||||
|
|
|
@ -0,0 +1,22 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
require 'rails_helper'
|
||||
|
||||
describe SettingsHelper do
|
||||
describe 'the HUMAN_LOCALES constant' do
|
||||
it 'has the same number of keys as I18n locales exist' do
|
||||
options = I18n.available_locales
|
||||
|
||||
expect(described_class::HUMAN_LOCALES.keys).to eq(options)
|
||||
end
|
||||
end
|
||||
|
||||
describe 'human_locale' do
|
||||
it 'finds the human readable local description from a key' do
|
||||
# Ensure the value is as we expect
|
||||
expect(described_class::HUMAN_LOCALES[:en]).to eq('English')
|
||||
|
||||
expect(helper.human_locale(:en)).to eq('English')
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Reference in New Issue