aboutsummaryrefslogtreecommitdiffstats
path: root/eclipse/plugins/com.android.ide.eclipse.tests
diff options
context:
space:
mode:
authorTor Norbye <tnorbye@google.com>2015-02-04 13:42:55 -0800
committerTor Norbye <tnorbye@google.com>2015-02-04 13:42:55 -0800
commit8965b6e8eea9443b2e8e02ac2fe882a709c892ad (patch)
tree11ec1ec4cc850f1095ad09bb4891713f02840393 /eclipse/plugins/com.android.ide.eclipse.tests
parent2e5634d59af5b7dc367882f6b51d1d23a9c5c794 (diff)
downloadsdk-8965b6e8eea9443b2e8e02ac2fe882a709c892ad.zip
sdk-8965b6e8eea9443b2e8e02ac2fe882a709c892ad.tar.gz
sdk-8965b6e8eea9443b2e8e02ac2fe882a709c892ad.tar.bz2
Update Eclipse plugin to handle new LocaleQualifier API
Change-Id: I1d5eaec7e6f61a21b07cf790166d9b6ea8f041db
Diffstat (limited to 'eclipse/plugins/com.android.ide.eclipse.tests')
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.tests/.classpath2
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/layout/configuration/ConfigurationTest.java23
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/layout/configuration/FlagManagerTest.java163
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/layout/configuration/LocaleTest.java97
4 files changed, 169 insertions, 116 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.tests/.classpath b/eclipse/plugins/com.android.ide.eclipse.tests/.classpath
index af8e888..f760174 100644
--- a/eclipse/plugins/com.android.ide.eclipse.tests/.classpath
+++ b/eclipse/plugins/com.android.ide.eclipse.tests/.classpath
@@ -17,7 +17,7 @@
<classpathentry kind="lib" path="/plugin-adt/libs/lint-checks.jar" sourcepath="/lint-checks"/>
<classpathentry kind="lib" path="/plugin-base/libs/sdk-common.jar"/>
<classpathentry kind="lib" path="/plugin-adt/libs/lombok-ast-0.2.2.jar"/>
- <classpathentry kind="lib" path="/plugin-adt/libs/asm-5.0.3.3.3.jar"/>
+ <classpathentry kind="lib" path="/plugin-adt/libs/asm-5.0.3.jar"/>
<classpathentry kind="lib" path="/plugin-adt/libs/asm-analysis-5.0.3.jar"/>
<classpathentry kind="lib" path="/plugin-adt/libs/asm-tree-5.0.3.jar"/>
<classpathentry kind="lib" path="/plugin-adt/libs/manifest-merger.jar" sourcepath="/manifest-merger"/>
diff --git a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/layout/configuration/ConfigurationTest.java b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/layout/configuration/ConfigurationTest.java
index a9e39fb..5b07d7b 100644
--- a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/layout/configuration/ConfigurationTest.java
+++ b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/layout/configuration/ConfigurationTest.java
@@ -15,11 +15,10 @@
*/
package com.android.ide.eclipse.adt.internal.editors.layout.configuration;
-import static com.android.ide.common.resources.configuration.LanguageQualifier.FAKE_LANG_VALUE;
-import static com.android.ide.common.resources.configuration.RegionQualifier.FAKE_REGION_VALUE;
+import static com.android.ide.common.resources.configuration.LocaleQualifier.FAKE_VALUE;
import com.android.ide.common.resources.configuration.FolderConfiguration;
-import com.android.ide.common.resources.configuration.LanguageQualifier;
+import com.android.ide.common.resources.configuration.LocaleQualifier;
import com.android.resources.Density;
import com.android.sdklib.devices.Device;
import com.android.sdklib.devices.DeviceManager;
@@ -62,18 +61,18 @@ public class ConfigurationTest extends TestCase {
// Check syncing
FolderConfiguration folderConfig = configuration.getFullConfig();
- assertEquals(FAKE_LANG_VALUE, folderConfig.getLanguageQualifier().getValue());
- assertEquals(FAKE_REGION_VALUE, folderConfig.getRegionQualifier().getValue());
+ assertEquals(FAKE_VALUE, folderConfig.getLocaleQualifier().getLanguage());
+ assertEquals(FAKE_VALUE, folderConfig.getLocaleQualifier().getRegion());
assertEquals(Locale.ANY, configuration.getLocale());
- Locale language = Locale.create(new LanguageQualifier("nb"));
+ Locale language = Locale.create(new LocaleQualifier("nb"));
configuration.setLocale(language, true /* skipSync */);
- assertEquals(FAKE_LANG_VALUE, folderConfig.getLanguageQualifier().getValue());
- assertEquals(FAKE_REGION_VALUE, folderConfig.getRegionQualifier().getValue());
+ assertEquals(FAKE_VALUE, folderConfig.getLocaleQualifier().getLanguage());
+ assertEquals(FAKE_VALUE, folderConfig.getLocaleQualifier().getRegion());
configuration.setLocale(language, false /* skipSync */);
- assertEquals(FAKE_REGION_VALUE, folderConfig.getRegionQualifier().getValue());
- assertEquals("nb", folderConfig.getLanguageQualifier().getValue());
+ assertEquals(FAKE_VALUE, folderConfig.getLocaleQualifier().getRegion());
+ assertEquals("nb", folderConfig.getLocaleQualifier().getLanguage());
assertEquals("2.7in QVGA::nb-__:+Theme::notnight::", configuration.toPersistentString());
@@ -121,7 +120,7 @@ public class ConfigurationTest extends TestCase {
configuration.setDevice(devices.get(0), false);
configuration.setActivity("foo.bar.FooActivity");
configuration.setTheme("@android:style/Theme.Holo.Light");
- Locale locale = Locale.create(new LanguageQualifier("nb"));
+ Locale locale = Locale.create(new LocaleQualifier("nb"));
configuration.setLocale(locale, false /* skipSync */);
Configuration copy = Configuration.copy(configuration);
@@ -135,7 +134,7 @@ public class ConfigurationTest extends TestCase {
configuration.setTheme("@android:style/Theme.Holo");
configuration.setDevice(devices.get(1), true);
- assertTrue(copy.getFullConfig().getLanguageQualifier().equals(locale.language));
+ assertTrue(copy.getFullConfig().getLocaleQualifier().equals(locale.qualifier));
assertEquals(locale, copy.getLocale());
assertEquals("foo.bar.FooActivity", copy.getActivity());
assertEquals("@android:style/Theme.Holo.Light", copy.getTheme());
diff --git a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/layout/configuration/FlagManagerTest.java b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/layout/configuration/FlagManagerTest.java
index c22609f..4286aaa 100644
--- a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/layout/configuration/FlagManagerTest.java
+++ b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/layout/configuration/FlagManagerTest.java
@@ -16,7 +16,12 @@
package com.android.ide.eclipse.adt.internal.editors.layout.configuration;
+import com.android.SdkConstants;
import com.android.ide.common.resources.LocaleManager;
+import com.google.common.base.Function;
+import com.google.common.collect.ArrayListMultimap;
+import com.google.common.collect.Multimap;
+import com.google.common.collect.Sets;
import org.eclipse.swt.graphics.Image;
@@ -72,103 +77,109 @@ public class FlagManagerTest extends TestCase {
assertSame(ca, manager.getFlagForFolderName("values-en"));
}
- public void testAvailableIcons() {
- // Icons we have in WindowBuilder
+ public void testAvailableImages() {
+ // Images we have from WindowBuilder (which are really the famfamfam
+ // icons;
+ // see http://www.famfamfam.com/lab/icons/flags)
String[] icons = new String[] {
"ad", "ae", "af", "ag", "ai", "al", "am", "ao", "ar", "as", "at", "au", "aw", "ax",
"az", "ba", "bb", "bd", "be", "bf", "bg", "bh", "bi", "bj", "bm", "bn", "bo", "br",
- "bs", "bt", "bv", "bw", "by", "bz", "ca", "cc", "cd", "cf", "cg", "ch", "ci", "ck",
- "cl", "cm", "cn", "co", "cr", "cu", "cv", "cx", "cy", "cz", "de", "dj", "dk", "dm",
- "do", "dz", "ec", "ee", "eg", "eh", "er", "es", "et", "fi", "fj", "fk", "fm", "fo",
- "fr", "ga", "gb", "gd", "ge", "gf", "gh", "gi", "gl", "gm", "gn", "gp", "gq", "gr",
- "gs", "gt", "gu", "gw", "gy", "hk", "hm", "hn", "hr", "ht", "hu", "id", "ie", "il",
- "in", "io", "iq", "ir", "is", "it", "jm", "jo", "jp", "ke", "kg", "kh", "ki", "km",
- "kn", "kp", "kr", "kw", "ky", "kz", "la", "lb", "lc", "li", "lk", "lr", "ls", "lt",
- "lu", "lv", "ly", "ma", "mc", "md", "me", "mg", "mh", "mk", "ml", "mm", "mn", "mo",
- "mp", "mq", "mr", "ms", "mt", "mu", "mv", "mw", "mx", "my", "mz", "na", "nc", "ne",
- "nf", "ng", "ni", "nl", "no", "np", "nr", "nu", "nz", "om", "pa", "pe", "pf", "pg",
- "ph", "pk", "pl", "pm", "pn", "pr", "ps", "pt", "pw", "py", "qa", "re", "ro", "rs",
- "ru", "rw", "sa", "sb", "sc", "sd", "se", "sg", "sh", "si", "sj", "sk", "sl", "sm",
- "sn", "so", "sr", "st", "sv", "sy", "sz", "tc", "td", "tf", "tg", "th", "tj", "tk",
- "tl", "tm", "tn", "to", "tr", "tt", "tv", "tw", "tz", "ua", "ug", "um", "us", "uy",
- "uz", "va", "vc", "ve", "vg", "vi", "vn", "vu", "wf", "ws", "ye", "yt", "za", "zm",
- "zw",
+ "bs", "bt", "bv", "bw", "by", "bz", "ca", "catalonia", "cc", "cd", "cf", "cg",
+ "ch", "ci", "ck", "cl", "cm", "cn", "co", "cr", "cu", "cv", "cx", "cy", "cz", "de",
+ "dj", "dk", "dm", "do", "dz", "ec", "ee", "eg", "eh", "england", "er", "es", "et",
+ "fi", "fj", "fk", "fm", "fo", "fr", "ga", "gb", "gd", "ge", "gf", "gg", "gh", "gi",
+ "gl", "gm", "gn", "gp", "gq", "gr", "gs", "gt", "gu", "gw", "gy", "hk", "hm", "hn",
+ "hr", "ht", "hu", "id", "ie", "il", "im", "in", "io", "iq", "ir", "is", "it", "jm",
+ "jo", "jp", "ke", "kg", "kh", "ki", "km", "kn", "kp", "kr", "kw", "ky", "kz", "la",
+ "lb", "lc", "li", "lk", "lr", "ls", "lt", "lu", "lv", "ly", "ma", "mc", "md", "me",
+ "mg", "mh", "mk", "ml", "mm", "mn", "mo", "mp", "mq", "mr", "ms", "mt", "mu", "mv",
+ "mw", "mx", "my", "mz", "na", "nc", "ne", "nf", "ng", "ni", "nl", "no", "np", "nr",
+ "nu", "nz", "om", "pa", "pe", "pf", "pg", "ph", "pk", "pl", "pm", "pn", "pr", "ps",
+ "pt", "pw", "py", "qa", "re", "ro", "rs", "ru", "rw", "sa", "sb", "sc", "scotland",
+ "sd", "se", "sg", "sh", "si", "sj", "sk", "sl", "sm", "sn", "so", "sr", "ss", "st",
+ "sv", "sy", "sz", "tc", "td", "tf", "tg", "th", "tj", "tk", "tl", "tm", "tn", "to",
+ "tr", "tt", "tv", "tw", "tz", "ua", "ug", "um", "us", "uy", "uz", "va", "vc", "ve",
+ "vg", "vi", "vn", "vu", "wales", "wf", "ws", "ye", "yt", "za", "zm", "zw"
};
- Set<String> sIcons = new HashSet<String>(100);
- Map<String, String> regionNames = LocaleManager.getRegionNamesMap();
- Map<String, String> languageToCountry = LocaleManager.getLanguageToCountryMap();
- Map<String, String> languageNames = LocaleManager.getLanguageNamesMap();
- List<String> unused = new ArrayList<String>();
+
+ Set<String> sImages = new HashSet<String>(100);
for (String code : icons) {
+ if (code.length() > 2) {
+ continue;
+ }
code = code.toUpperCase(Locale.US);
- sIcons.add(code);
+ sImages.add(code);
- String country = regionNames.get(code);
- if (country == null) {
+ if (!LocaleManager.isValidRegionCode(code)) {
System.out.println("No region name found for region code " + code);
}
+ }
- if (!languageToCountry.values().contains(code)) {
- unused.add(code.toLowerCase() + ".png");
+ Set<String> unused = Sets.newHashSet(LocaleManager.getRegionCodes(false));
+ Set<String> reachable = Sets.newHashSet();
+ Multimap<String, String> regionToLanguages = ArrayListMultimap.create();
+ for (String language : LocaleManager.getLanguageCodes(false)) {
+ for (String region : LocaleManager.getRelevantRegions(language)) {
+ reachable.add(region);
+ regionToLanguages.put(region, language);
}
}
- if (!unused.isEmpty()) {
- System.out.println("The following icons are not referenced by any of the " +
- "language to country bindings: " + unused);
+ unused.removeAll(reachable);
+
+ for (String region : reachable) {
+ if (!sImages.contains(region)) {
+ StringBuilder sb = new StringBuilder();
+
+ sb.append("No icon found for region ").append(region).append(" ")
+ .append(LocaleManager.getRegionName(region));
+ sb.append(", used for languages ");
+
+ for (String language : regionToLanguages.get(region)) {
+ sb.append(language).append("(").append(LocaleManager.getLanguageName(language))
+ .append(") ");
+ }
+ System.out.println(sb.toString());
+ }
}
- // Make sure all our language bindings are languages we have maps for
- for (Map.Entry<String, String> entry : languageToCountry.entrySet()) {
- String language = entry.getKey();
- String region = entry.getValue();
+ // Known regions that we don't have language to region mappings for
+ unused.remove("AQ");
+ unused.remove("VA");
+ unused.remove("GS");
+ unused.remove("TF");
+ unused.remove("BV");
+ unused.remove("HM");
- if (!sIcons.contains(region)) {
- System.out.println("No icon found for region " + region + " "
- + LocaleManager.getRegionName(region) + " (used for language "
- + language + "(" + languageNames.get(language) + "))");
+ if (!unused.isEmpty()) {
+ StringBuilder sb = new StringBuilder();
+ sb.append("The following icons are not referenced by any of the "
+ + "language to country bindings:");
+ for (String code : unused) {
+ sb.append(code.toLowerCase(Locale.US)).append(SdkConstants.DOT_PNG).append(" (");
+ sb.append(LocaleManager.getRegionName(code)).append(") ");
}
+ System.out.println(sb.toString());
}
}
- /* Utility useful for identifying strings which must be using \\u in the string names
- * to ensure that they are handled properly during the build (outside of Eclipse,
- * where this source file is marked as using UTF-8.
- public void testPrintable() {
- Set<String> languageCodes = LocaleManager.getLanguageCodes();
- for (String code : languageCodes) {
- String name = LocaleManager.getLanguageName(code);
- assertNotNull(name);
- checkEncoding(name);
- }
+ public void testMissingFlag() {
+ Image icon = FlagManager.get().getFlag("AQ");
+ assertNotNull(icon);
+ assertSame(FlagManager.get().getEmptyIcon(), icon);
- Set<String> regionCodes = LocaleManager.getRegionCodes();
- for (String code : regionCodes) {
- String name = LocaleManager.getRegionName(code);
- assertNotNull(name);
- checkEncoding(name);
- }
+ icon = FlagManager.get().getFlag("AQ");
+ assertNotNull(icon);
+ assertSame(FlagManager.get().getEmptyIcon(), icon);
+
+ icon = FlagManager.get().getFlag("WO"); // Not used in ISO 3166-1
+ assertNotNull(icon);
+ assertSame(FlagManager.get().getEmptyIcon(), icon);
}
- private static void checkEncoding(String s) {
- for (int i = 0, n = s.length(); i < n; i++) {
- char c = s.charAt(i);
- if (c >= 128) {
- System.out.println("Need unicode encoding for '" + s + "'");
- StringBuilder sb = new StringBuilder();
- for (int j = 0, m = s.length(); j < m; j++) {
- char d = s.charAt(j);
- if (d < 128) {
- sb.append(d);
- } else {
- sb.append('\\');
- sb.append('u');
- sb.append(String.format("%04x", (int)d));
- }
- }
- System.out.println(" Replacement=" + sb);
- return;
- }
- }
+ public void testKnownFlag() {
+ Image icon = FlagManager.get().getFlag("US");
+ assertNotNull(icon);
+ assertNotSame(FlagManager.get().getEmptyIcon(), icon);
}
- */
}
+
diff --git a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/layout/configuration/LocaleTest.java b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/layout/configuration/LocaleTest.java
index 3dcf33a..904ade3 100644
--- a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/layout/configuration/LocaleTest.java
+++ b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/layout/configuration/LocaleTest.java
@@ -13,44 +13,87 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+
package com.android.ide.eclipse.adt.internal.editors.layout.configuration;
-import com.android.ide.common.resources.configuration.LanguageQualifier;
-import com.android.ide.common.resources.configuration.RegionQualifier;
+import com.android.ide.common.resources.configuration.FolderConfiguration;
+import com.android.ide.common.resources.configuration.LocaleQualifier;
import junit.framework.TestCase;
@SuppressWarnings("javadoc")
public class LocaleTest extends TestCase {
+ public void test1() {
+ Locale locale = Locale.create("en-rUS");
+ assertEquals("en", locale.qualifier.getLanguage());
+ assertEquals("US", locale.qualifier.getRegion());
+ assertTrue(locale.hasLanguage());
+ assertTrue(locale.hasRegion());
+ }
+
+ public void test2() {
+ Locale locale = Locale.create("zh");
+ assertEquals("zh", locale.qualifier.getLanguage());
+ assertNull(locale.qualifier.getRegion());
+ assertTrue(locale.hasLanguage());
+ assertFalse(locale.hasRegion());
+ }
+
+ public void testEquals() {
+ Locale locale = Locale.create("zh");
+ assertEquals("zh", locale.qualifier.getLanguage());
+ assertNull(locale.qualifier.getRegion());
+ assertTrue(locale.hasLanguage());
+ assertFalse(locale.hasRegion());
+ }
+
public void test() {
- LanguageQualifier language1 = new LanguageQualifier("nb");
- LanguageQualifier language2 = new LanguageQualifier("no");
- RegionQualifier region1 = new RegionQualifier("NO");
- RegionQualifier region2 = new RegionQualifier("SE");
+ LocaleQualifier qualifier1 = LocaleQualifier.getQualifier("nb");
+ LocaleQualifier qualifier2 = LocaleQualifier.getQualifier("no");
+ LocaleQualifier qualifier3 = LocaleQualifier.getQualifier("nb-rNO");
+ LocaleQualifier qualifier4 = LocaleQualifier.getQualifier("nb-rSE");
+ LocaleQualifier qualifier5 = LocaleQualifier.getQualifier("no-rSE");
+ assertNotNull(qualifier1);
+ assertNotNull(qualifier2);
+ assertNotNull(qualifier3);
+ assertNotNull(qualifier4);
+ assertNotNull(qualifier5);
assertEquals(Locale.ANY, Locale.ANY);
assertFalse(Locale.ANY.hasLanguage());
assertFalse(Locale.ANY.hasRegion());
- assertFalse(Locale.create(new LanguageQualifier(LanguageQualifier.FAKE_LANG_VALUE),
- new RegionQualifier(RegionQualifier.FAKE_REGION_VALUE)).hasLanguage());
- assertFalse(Locale.create(new LanguageQualifier(LanguageQualifier.FAKE_LANG_VALUE),
- new RegionQualifier(RegionQualifier.FAKE_REGION_VALUE)).hasRegion());
-
- assertEquals(Locale.create(language1), Locale.create(language1));
- assertTrue(Locale.create(language1).hasLanguage());
- assertFalse(Locale.create(language1).hasRegion());
- assertTrue(Locale.create(language1, region1).hasLanguage());
- assertTrue(Locale.create(language1, region1).hasRegion());
-
- assertEquals(Locale.create(language1, region1), Locale.create(language1, region1));
- assertEquals(Locale.create(language1), Locale.create(language1));
- assertTrue(Locale.create(language1).equals(Locale.create(language1)));
- assertTrue(Locale.create(language1, region1).equals(Locale.create(language1, region1)));
- assertFalse(Locale.create(language1, region1).equals(Locale.create(language1, region2)));
- assertFalse(Locale.create(language1).equals(Locale.create(language1, region1)));
- assertFalse(Locale.create(language1).equals(Locale.create(language2)));
- assertFalse(Locale.create(language1, region1).equals(Locale.create(language2, region1)));
- assertEquals("Locale{nb, __}", Locale.create(language1).toString());
- assertEquals("Locale{nb, NO}", Locale.create(language1, region1).toString());
+ // noinspection ConstantConditions
+ assertFalse(Locale.create(new LocaleQualifier(LocaleQualifier.FAKE_VALUE)).hasLanguage());
+ // noinspection ConstantConditions
+ assertFalse(Locale.create(new LocaleQualifier(LocaleQualifier.FAKE_VALUE)).hasRegion());
+
+ assertEquals(Locale.create(qualifier1), Locale.create(qualifier1));
+ assertTrue(Locale.create(qualifier1).hasLanguage());
+ assertFalse(Locale.create(qualifier1).hasRegion());
+ assertTrue(Locale.create(qualifier3).hasLanguage());
+ assertTrue(Locale.create(qualifier3).hasRegion());
+
+ assertEquals(Locale.create(qualifier3), Locale.create(qualifier3));
+ assertEquals(Locale.create(qualifier1), Locale.create(qualifier1));
+ assertTrue(Locale.create(qualifier1).equals(Locale.create(qualifier1)));
+ assertTrue(Locale.create(qualifier3).equals(Locale.create(qualifier3)));
+ assertFalse(Locale.create(qualifier3).equals(Locale.create(qualifier4)));
+ assertFalse(Locale.create(qualifier1).equals(Locale.create(qualifier3)));
+ assertFalse(Locale.create(qualifier1).equals(Locale.create(qualifier2)));
+ assertFalse(Locale.create(qualifier3).equals(Locale.create(qualifier5)));
+ assertEquals("nb", Locale.create(qualifier1).toString());
+ assertEquals("nb-NO", Locale.create(qualifier3).toString());
+
+ assertEquals(Locale.create(qualifier1), Locale.create("b+nb"));
+ assertEquals(Locale.create(qualifier3), Locale.create("b+nb+NO"));
+ }
+
+ public void testFolderConfig() {
+ FolderConfiguration config = new FolderConfiguration();
+ assertEquals(Locale.ANY, Locale.create(config));
+ config.setLocaleQualifier(LocaleQualifier.getQualifier("en"));
+ assertEquals(Locale.create("en"), Locale.create(config));
+ config.setLocaleQualifier(LocaleQualifier.getQualifier("en-rUS"));
+ assertEquals(Locale.create("en-rUS"), Locale.create(config));
}
}