1de76a5adSDamjan Jovanovic /************************************************************** 2de76a5adSDamjan Jovanovic * 3de76a5adSDamjan Jovanovic * Licensed to the Apache Software Foundation (ASF) under one 4de76a5adSDamjan Jovanovic * or more contributor license agreements. See the NOTICE file 5de76a5adSDamjan Jovanovic * distributed with this work for additional information 6de76a5adSDamjan Jovanovic * regarding copyright ownership. The ASF licenses this file 7de76a5adSDamjan Jovanovic * to you under the Apache License, Version 2.0 (the 8de76a5adSDamjan Jovanovic * "License"); you may not use this file except in compliance 9de76a5adSDamjan Jovanovic * with the License. You may obtain a copy of the License at 10de76a5adSDamjan Jovanovic * 11de76a5adSDamjan Jovanovic * http://www.apache.org/licenses/LICENSE-2.0 12de76a5adSDamjan Jovanovic * 13de76a5adSDamjan Jovanovic * Unless required by applicable law or agreed to in writing, 14de76a5adSDamjan Jovanovic * software distributed under the License is distributed on an 15de76a5adSDamjan Jovanovic * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16de76a5adSDamjan Jovanovic * KIND, either express or implied. See the License for the 17de76a5adSDamjan Jovanovic * specific language governing permissions and limitations 18de76a5adSDamjan Jovanovic * under the License. 19de76a5adSDamjan Jovanovic * 20de76a5adSDamjan Jovanovic *************************************************************/ 21de76a5adSDamjan Jovanovic 22de76a5adSDamjan Jovanovic 23*2f709283SDamjan Jovanovic package api.i18n; 24de76a5adSDamjan Jovanovic 25de76a5adSDamjan Jovanovic import com.sun.star.i18n.TransliterationModules; 26de76a5adSDamjan Jovanovic import com.sun.star.i18n.XExtendedTransliteration; 27de76a5adSDamjan Jovanovic import com.sun.star.lang.Locale; 28*2f709283SDamjan Jovanovic import com.sun.star.uno.UnoRuntime; 29*2f709283SDamjan Jovanovic import com.sun.star.uno.XComponentContext; 30*2f709283SDamjan Jovanovic import org.junit.After; 31*2f709283SDamjan Jovanovic import org.junit.AfterClass; 32*2f709283SDamjan Jovanovic import org.junit.Before; 33*2f709283SDamjan Jovanovic import org.junit.BeforeClass; 34*2f709283SDamjan Jovanovic import org.junit.Assert; 35*2f709283SDamjan Jovanovic import org.junit.Test; 36*2f709283SDamjan Jovanovic import org.openoffice.test.uno.UnoApp; 37de76a5adSDamjan Jovanovic 38de76a5adSDamjan Jovanovic /** 39de76a5adSDamjan Jovanovic * 40de76a5adSDamjan Jovanovic */ 41*2f709283SDamjan Jovanovic public class XExtendedTransliterationTest { 42*2f709283SDamjan Jovanovic private static final UnoApp app = new UnoApp(); 43*2f709283SDamjan Jovanovic 44*2f709283SDamjan Jovanovic private XComponentContext xContext = null; 45de76a5adSDamjan Jovanovic public XExtendedTransliteration oObj = null; 46de76a5adSDamjan Jovanovic // private Locale loc = new Locale("ja", "JP", "") ; 47de76a5adSDamjan Jovanovic private Locale loc = new Locale("en", "US", "") ; 48de76a5adSDamjan Jovanovic 49*2f709283SDamjan Jovanovic // setup and close connections 50*2f709283SDamjan Jovanovic @BeforeClass setUpConnection()51*2f709283SDamjan Jovanovic public static void setUpConnection() throws Exception 52*2f709283SDamjan Jovanovic { 53*2f709283SDamjan Jovanovic app.start(); 54*2f709283SDamjan Jovanovic } 55*2f709283SDamjan Jovanovic 56*2f709283SDamjan Jovanovic @AfterClass tearDownConnection()57*2f709283SDamjan Jovanovic public static void tearDownConnection() throws InterruptedException, com.sun.star.uno.Exception 58*2f709283SDamjan Jovanovic { 59*2f709283SDamjan Jovanovic app.close(); 60*2f709283SDamjan Jovanovic } 61*2f709283SDamjan Jovanovic 62*2f709283SDamjan Jovanovic @Before before()63*2f709283SDamjan Jovanovic public void before() throws Exception { 64*2f709283SDamjan Jovanovic xContext = app.getComponentContext(); 65*2f709283SDamjan Jovanovic oObj = UnoRuntime.queryInterface( 66*2f709283SDamjan Jovanovic XExtendedTransliteration.class, 67*2f709283SDamjan Jovanovic xContext.getServiceManager().createInstanceWithContext("com.sun.star.i18n.Transliteration", xContext) 68*2f709283SDamjan Jovanovic ); 69de76a5adSDamjan Jovanovic oObj.loadModule(TransliterationModules.LOWERCASE_UPPERCASE, loc); 70de76a5adSDamjan Jovanovic } 71de76a5adSDamjan Jovanovic 72de76a5adSDamjan Jovanovic /** 73de76a5adSDamjan Jovanovic * Check lowercase - uppercase conversion of chars 74de76a5adSDamjan Jovanovic */ 75*2f709283SDamjan Jovanovic @Test _transliterateChar2Char()76de76a5adSDamjan Jovanovic public void _transliterateChar2Char() { 77de76a5adSDamjan Jovanovic boolean result = true; 78de76a5adSDamjan Jovanovic char in = 'a'; 79de76a5adSDamjan Jovanovic char out = ' '; 80de76a5adSDamjan Jovanovic try { 81de76a5adSDamjan Jovanovic out = oObj.transliterateChar2Char(in) ; 82de76a5adSDamjan Jovanovic result &= out == 'A'; 83de76a5adSDamjan Jovanovic in = '$'; // should not be changed 84de76a5adSDamjan Jovanovic out = oObj.transliterateChar2Char(in) ; 85de76a5adSDamjan Jovanovic result &= out == '$'; 86de76a5adSDamjan Jovanovic } 87de76a5adSDamjan Jovanovic catch(com.sun.star.i18n.MultipleCharsOutputException e) { 88*2f709283SDamjan Jovanovic e.printStackTrace(System.out); 89de76a5adSDamjan Jovanovic } 90*2f709283SDamjan Jovanovic Assert.assertTrue("transliterateChar2Char()", result); 91de76a5adSDamjan Jovanovic } 92de76a5adSDamjan Jovanovic 93de76a5adSDamjan Jovanovic /** 94de76a5adSDamjan Jovanovic * Check lowercase - uppercase conversion of char to string 95de76a5adSDamjan Jovanovic */ _transliterateChar2String()96de76a5adSDamjan Jovanovic public void _transliterateChar2String() { 97de76a5adSDamjan Jovanovic boolean result = true; 98de76a5adSDamjan Jovanovic char in = 'a'; 99de76a5adSDamjan Jovanovic String out = null; 100de76a5adSDamjan Jovanovic out = oObj.transliterateChar2String('a') ; 101de76a5adSDamjan Jovanovic result &= out.equals("A"); 102de76a5adSDamjan Jovanovic in = '$'; // should not be changed 103de76a5adSDamjan Jovanovic out = oObj.transliterateChar2String(in) ; 104de76a5adSDamjan Jovanovic result &= out.equals("$"); 105*2f709283SDamjan Jovanovic Assert.assertTrue("transliterateChar2String()", result); 106de76a5adSDamjan Jovanovic } 107de76a5adSDamjan Jovanovic 108de76a5adSDamjan Jovanovic /** 109de76a5adSDamjan Jovanovic * Check lowercase - uppercase conversion of strings 110de76a5adSDamjan Jovanovic */ _transliterateString2String()111de76a5adSDamjan Jovanovic public void _transliterateString2String() { 112de76a5adSDamjan Jovanovic boolean result = true; 113de76a5adSDamjan Jovanovic String in = "aAbBcC"; 114de76a5adSDamjan Jovanovic String out = null; 115de76a5adSDamjan Jovanovic out = oObj.transliterateString2String(in, 0, 6) ; 116de76a5adSDamjan Jovanovic result &= out.equals("AABBCC"); 117de76a5adSDamjan Jovanovic in = "$"; // should not be changed 118de76a5adSDamjan Jovanovic out = oObj.transliterateString2String(in, 0, 1) ; 119de76a5adSDamjan Jovanovic result &= out.equals("$"); 120*2f709283SDamjan Jovanovic Assert.assertTrue("transliterateString2String()", result); 121de76a5adSDamjan Jovanovic } 122de76a5adSDamjan Jovanovic } 123