xref: /trunk/test/testuno/source/api/i18n/XExtendedTransliterationTest.java (revision 3309286857f19787ae62bd793a98b5af4edd2ad3)
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