about summary refs log tree commit diff
path: root/spec/helpers/languages_helper_spec.rb
diff options
context:
space:
mode:
authorStarfall <us@starfall.systems>2023-04-14 19:22:47 -0500
committerStarfall <us@starfall.systems>2023-04-14 19:22:47 -0500
commit4fe1689de43f4404eb9530fcfbcbfb26d6c1c13a (patch)
tree6811b845bb7f4966b10dcefa3dea404246f161c7 /spec/helpers/languages_helper_spec.rb
parent65c1e53a32cabcdbb7bca57002bb0f6acdebe07e (diff)
parentbed63f6dae0879ac840066b031229e0d139089cd (diff)
Merge remote-tracking branch 'glitch/main' HEAD main
Diffstat (limited to 'spec/helpers/languages_helper_spec.rb')
-rw-r--r--spec/helpers/languages_helper_spec.rb48
1 files changed, 44 insertions, 4 deletions
diff --git a/spec/helpers/languages_helper_spec.rb b/spec/helpers/languages_helper_spec.rb
index 217c9b239..98c8064a3 100644
--- a/spec/helpers/languages_helper_spec.rb
+++ b/spec/helpers/languages_helper_spec.rb
@@ -10,14 +10,54 @@ describe LanguagesHelper do
   end
 
   describe 'native_locale_name' do
-    it 'finds the human readable native name from a key' do
-      expect(helper.native_locale_name(:de)).to eq('Deutsch')
+    context 'with a blank locale' do
+      it 'defaults to a generic value' do
+        expect(helper.native_locale_name(nil)).to eq(I18n.t('generic.none'))
+      end
+    end
+
+    context 'with a locale of `und`' do
+      it 'defaults to a generic value' do
+        expect(helper.native_locale_name('und')).to eq(I18n.t('generic.none'))
+      end
+    end
+
+    context 'with a supported locale' do
+      it 'finds the human readable native name from a key' do
+        expect(helper.native_locale_name(:de)).to eq('Deutsch')
+      end
+    end
+
+    context 'with a regional locale' do
+      it 'finds the human readable regional name from a key' do
+        expect(helper.native_locale_name('en-GB')).to eq('English (British)')
+      end
+    end
+
+    context 'with a non-existent locale' do
+      it 'returns the supplied locale value' do
+        expect(helper.native_locale_name(:xxx)).to eq(:xxx)
+      end
     end
   end
 
   describe 'standard_locale_name' do
-    it 'finds the human readable standard name from a key' do
-      expect(helper.standard_locale_name(:de)).to eq('German')
+    context 'with a blank locale' do
+      it 'defaults to a generic value' do
+        expect(helper.standard_locale_name(nil)).to eq(I18n.t('generic.none'))
+      end
+    end
+
+    context 'with a non-existent locale' do
+      it 'returns the supplied locale value' do
+        expect(helper.standard_locale_name(:xxx)).to eq(:xxx)
+      end
+    end
+
+    context 'with a supported locale' do
+      it 'finds the human readable standard name from a key' do
+        expect(helper.standard_locale_name(:de)).to eq('German')
+      end
     end
   end
 end