| package org.unicode.cldr.unittest; |
| |
| import org.unicode.cldr.tool.CLDRFilePseudolocalizer; |
| import org.unicode.cldr.util.CLDRFile; |
| |
| import com.ibm.icu.dev.test.TestFmwk; |
| |
| /** |
| * Unit tests for pseudo locale generation tool. |
| * |
| * @author viarheichyk@google.com (Igor Viarheichyk) |
| */ |
| public class TestPseudolocalization extends TestFmwk { |
| |
| public static void main(String[] args) { |
| new TestPseudolocalization().run(args); |
| } |
| |
| public void testConverter() { |
| CLDRFilePseudolocalizer ps = CLDRFilePseudolocalizer.createInstanceXA(); |
| |
| CLDRFile result = ps.generate(); |
| |
| assertEquals("Language name is not pseudolocalized", |
| "[Ɓéļåŕûšîåñ one two]", |
| result.getStringValue("//ldml/localeDisplayNames/languages/language[@type=\"be\"]")); |
| |
| assertEquals("Numeric placeholders should not be pseudolocalized", |
| "[Ļåñĝûåĝé∶ {0} one two]", |
| result.getStringValue( |
| "//ldml/localeDisplayNames/codePatterns/codePattern[@type=\"language\"]")); |
| |
| assertEquals("Exemplar characters are not properly merged", |
| "[a b c d e f g h i j k l m n o p q r s t u v w x y z " |
| + "\\u2045 å \\u2003 ƀ ç ð é ƒ ĝ ĥ î ĵ ķ ļ ɱ ñ ö þ ǫ ŕ š ţ û ṽ ŵ ẋ ý ž \\u2046]", |
| result.getStringValue("//ldml/characters/exemplarCharacters[@type=\"auxiliary\"]")); |
| |
| assertEquals("Date and time placeholders should only be bracketed", |
| "[h:mm:ss a]", |
| result.getStringValue( |
| "//ldml/dates/calendars/calendar[@type=\"gregorian\"]/dateTimeFormats/" |
| + "availableFormats/dateFormatItem[@id=\"hms\"]")); |
| |
| assertEquals("Only literal part of a placeholder should be accented", |
| "[{1} 'åţ' {0} 'one']", |
| result.getStringValue( |
| "//ldml/dates/calendars/calendar[@type=\"gregorian\"]/dateTimeFormats/" |
| + "dateTimeFormatLength[@type=\"long\"]/dateTimeFormat[@type=\"standard\"]/" |
| + "pattern[@type=\"standard\"]")); |
| } |
| } |