/*
* Copyright (C) 2013 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.tools.idea.rendering;
import com.android.ide.common.resources.configuration.FolderConfiguration;
import com.android.ide.common.resources.configuration.LanguageQualifier;
import com.android.ide.common.resources.configuration.RegionQualifier;
import junit.framework.TestCase;
public class LocaleTest extends TestCase {
public void test1() {
Locale locale = Locale.create("en-rUS");
assertEquals("en", locale.language.getValue());
assertEquals("US", locale.region.getValue());
assertTrue(locale.hasLanguage());
assertTrue(locale.hasRegion());
}
public void test2() {
Locale locale = Locale.create("zh");
assertEquals("zh", locale.language.getValue());
assertEquals(RegionQualifier.FAKE_REGION_VALUE, locale.region.getValue());
assertTrue(locale.hasLanguage());
assertFalse(locale.hasRegion());
}
public void testEquals() {
Locale locale = Locale.create("zh");
assertEquals("zh", locale.language.getValue());
assertEquals(RegionQualifier.FAKE_REGION_VALUE, locale.region.getValue());
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");
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());
}
public void testFolderConfig() {
FolderConfiguration config = new FolderConfiguration();
assertEquals(Locale.ANY, Locale.create(config));
config.setLanguageQualifier(new LanguageQualifier("en"));
assertEquals(Locale.create("en"), Locale.create(config));
config.setRegionQualifier(new RegionQualifier("US"));
assertEquals(Locale.create("en-rUS"), Locale.create(config));
}
}