Author: kwin
Date: Wed Jun 29 05:46:03 2016
New Revision: 1750599

URL: http://svn.apache.org/viewvc?rev=1750599&view=rev
Log:
SLING-5816 support lower and upper case language and country codes

Modified:
    
sling/trunk/bundles/extensions/i18n/src/main/java/org/apache/sling/i18n/impl/JcrResourceBundleProvider.java
    
sling/trunk/bundles/extensions/i18n/src/test/java/org/apache/sling/i18n/impl/JcrResourceBundleProviderTest.java

Modified: 
sling/trunk/bundles/extensions/i18n/src/main/java/org/apache/sling/i18n/impl/JcrResourceBundleProvider.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/i18n/src/main/java/org/apache/sling/i18n/impl/JcrResourceBundleProvider.java?rev=1750599&r1=1750598&r2=1750599&view=diff
==============================================================================
--- 
sling/trunk/bundles/extensions/i18n/src/main/java/org/apache/sling/i18n/impl/JcrResourceBundleProvider.java
 (original)
+++ 
sling/trunk/bundles/extensions/i18n/src/main/java/org/apache/sling/i18n/impl/JcrResourceBundleProvider.java
 Wed Jun 29 05:46:03 2016
@@ -598,7 +598,7 @@ public class JcrResourceBundleProvider i
         boolean isValidLanguageCode = false;
         String[] langs = Locale.getISOLanguages();
         for (int i = 0; i < langs.length; i++) {
-            if (langs[i].equals(lang)) {
+            if (langs[i].equalsIgnoreCase(lang)) {
                 isValidLanguageCode = true;
                 break;
             }
@@ -617,7 +617,7 @@ public class JcrResourceBundleProvider i
         boolean isValidCountryCode = false;
         String[] countries = Locale.getISOCountries();
         for (int i = 0; i < countries.length; i++) {
-            if (countries[i].equals(country)) {
+            if (countries[i].equalsIgnoreCase(country)) {
                 isValidCountryCode = true; // signal ok
                 break;
             }

Modified: 
sling/trunk/bundles/extensions/i18n/src/test/java/org/apache/sling/i18n/impl/JcrResourceBundleProviderTest.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/i18n/src/test/java/org/apache/sling/i18n/impl/JcrResourceBundleProviderTest.java?rev=1750599&r1=1750598&r2=1750599&view=diff
==============================================================================
--- 
sling/trunk/bundles/extensions/i18n/src/test/java/org/apache/sling/i18n/impl/JcrResourceBundleProviderTest.java
 (original)
+++ 
sling/trunk/bundles/extensions/i18n/src/test/java/org/apache/sling/i18n/impl/JcrResourceBundleProviderTest.java
 Wed Jun 29 05:46:03 2016
@@ -37,9 +37,14 @@ public class JcrResourceBundleProviderTe
         // for invalid languages assume default language
         Assert.assertEquals(new Locale(Locale.getDefault().getLanguage()), 
JcrResourceBundleProvider.toLocale("invalid"));
         
-        // both language and country being set
+        // both language and country being set (no matter whether lower or 
upper case)
         Assert.assertEquals(Locale.GERMANY, 
JcrResourceBundleProvider.toLocale("de_DE"));
+        Assert.assertEquals(Locale.GERMANY, 
JcrResourceBundleProvider.toLocale("de_de"));
+        Assert.assertEquals(Locale.GERMANY, 
JcrResourceBundleProvider.toLocale("DE_de"));
+        
         Assert.assertEquals(Locale.UK, 
JcrResourceBundleProvider.toLocale("en_GB"));
+        Assert.assertEquals(Locale.UK, 
JcrResourceBundleProvider.toLocale("en_gb"));
+        Assert.assertEquals(Locale.UK, 
JcrResourceBundleProvider.toLocale("EN_gb"));
         // for invalid languages assume default language
         Assert.assertEquals(new Locale(Locale.getDefault().getLanguage(), 
"GB"), JcrResourceBundleProvider.toLocale("invalid_GB"));
         // for invalid countries assume default country
@@ -56,16 +61,16 @@ public class JcrResourceBundleProviderTe
     public void testToLocaleWithBcp47CompliantStrings() {
         // both language and country being set
         Assert.assertEquals(Locale.GERMANY, 
JcrResourceBundleProvider.toLocale("de-DE"));
+        
         Assert.assertEquals(Locale.UK, 
JcrResourceBundleProvider.toLocale("en-GB"));
         // for invalid languages assume default language
         Assert.assertEquals(new Locale(Locale.getDefault().getLanguage(), 
"GB"), JcrResourceBundleProvider.toLocale("invalid-GB"));
         // for invalid countries assume default country
         Assert.assertEquals(new Locale("en", 
Locale.getDefault().getCountry()), 
JcrResourceBundleProvider.toLocale("en-invalid"));
-    
         // language, country and variant being set
         Assert.assertEquals(new Locale(Locale.UK.getLanguage(), 
Locale.UK.getCountry(), "variant1"), 
JcrResourceBundleProvider.toLocale("en-GB-variant1"));
         
         // parts after the variant are just ignored
-        Assert.assertEquals(new Locale(Locale.UK.getLanguage(), 
Locale.UK.getCountry(), "variant1"), 
JcrResourceBundleProvider.toLocale("en-GB-variant1_something-else"));
+        Assert.assertEquals(new Locale(Locale.UK.getLanguage(), 
Locale.UK.getCountry(), "variant1"), 
JcrResourceBundleProvider.toLocale("en-GB-variant1-something-else"));
     }
 }


Reply via email to