1*de76a5adSDamjan Jovanovic /************************************************************** 2*de76a5adSDamjan Jovanovic * 3*de76a5adSDamjan Jovanovic * Licensed to the Apache Software Foundation (ASF) under one 4*de76a5adSDamjan Jovanovic * or more contributor license agreements. See the NOTICE file 5*de76a5adSDamjan Jovanovic * distributed with this work for additional information 6*de76a5adSDamjan Jovanovic * regarding copyright ownership. The ASF licenses this file 7*de76a5adSDamjan Jovanovic * to you under the Apache License, Version 2.0 (the 8*de76a5adSDamjan Jovanovic * "License"); you may not use this file except in compliance 9*de76a5adSDamjan Jovanovic * with the License. You may obtain a copy of the License at 10*de76a5adSDamjan Jovanovic * 11*de76a5adSDamjan Jovanovic * http://www.apache.org/licenses/LICENSE-2.0 12*de76a5adSDamjan Jovanovic * 13*de76a5adSDamjan Jovanovic * Unless required by applicable law or agreed to in writing, 14*de76a5adSDamjan Jovanovic * software distributed under the License is distributed on an 15*de76a5adSDamjan Jovanovic * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*de76a5adSDamjan Jovanovic * KIND, either express or implied. See the License for the 17*de76a5adSDamjan Jovanovic * specific language governing permissions and limitations 18*de76a5adSDamjan Jovanovic * under the License. 19*de76a5adSDamjan Jovanovic * 20*de76a5adSDamjan Jovanovic *************************************************************/ 21*de76a5adSDamjan Jovanovic 22*de76a5adSDamjan Jovanovic 23*de76a5adSDamjan Jovanovic 24*de76a5adSDamjan Jovanovic package ifc.i18n; 25*de76a5adSDamjan Jovanovic 26*de76a5adSDamjan Jovanovic import lib.MultiMethodTest; 27*de76a5adSDamjan Jovanovic 28*de76a5adSDamjan Jovanovic import com.sun.star.i18n.XIndexEntrySupplier; 29*de76a5adSDamjan Jovanovic import com.sun.star.lang.Locale; 30*de76a5adSDamjan Jovanovic 31*de76a5adSDamjan Jovanovic /** 32*de76a5adSDamjan Jovanovic * Testing <code>com.sun.star.i18n.XIndexEntrySupplier</code> 33*de76a5adSDamjan Jovanovic * interface methods: 34*de76a5adSDamjan Jovanovic * <ul> 35*de76a5adSDamjan Jovanovic * <li><code> getIndexCharacter() </code></li> 36*de76a5adSDamjan Jovanovic * <li><code> getIndexFollowPageWord() </code></li> 37*de76a5adSDamjan Jovanovic * </ul><p> 38*de76a5adSDamjan Jovanovic * Test is <b> NOT </b> multithread compliant. <p> 39*de76a5adSDamjan Jovanovic * @see com.sun.star.i18n.XIndexEntrySupplier 40*de76a5adSDamjan Jovanovic */ 41*de76a5adSDamjan Jovanovic public class _XIndexEntrySupplier extends MultiMethodTest { 42*de76a5adSDamjan Jovanovic public XIndexEntrySupplier oObj = null; 43*de76a5adSDamjan Jovanovic public String[] languages = new String[]{"de","en","es","fr","ja","ko","zh"}; 44*de76a5adSDamjan Jovanovic public String[] countries = new String[]{"DE","US","ES","FR","JP","KR","CN"}; 45*de76a5adSDamjan Jovanovic public String[] onePage = new String[]{"f.","p."," s."," sv","p.","",""}; 46*de76a5adSDamjan Jovanovic public String[] morePages = new String[]{"ff.","pp."," ss."," sv","pp.","",""}; 47*de76a5adSDamjan Jovanovic 48*de76a5adSDamjan Jovanovic /** 49*de76a5adSDamjan Jovanovic * Test calls the method, then result is checked. <p> 50*de76a5adSDamjan Jovanovic * Has <b> OK </b> status if the method returns right index for several 51*de76a5adSDamjan Jovanovic * locales and word. 52*de76a5adSDamjan Jovanovic */ 53*de76a5adSDamjan Jovanovic public void _getIndexCharacter() { 54*de76a5adSDamjan Jovanovic boolean res = true; 55*de76a5adSDamjan Jovanovic log.println("getIndexCharacter('chapter', getLocale(i), '')"); 56*de76a5adSDamjan Jovanovic for (int i=0; i<7; i++) { 57*de76a5adSDamjan Jovanovic log.print("getIndexCharacter('chapter', " + countries[i] + ") :"); 58*de76a5adSDamjan Jovanovic String get = oObj.getIndexCharacter("chapter", getLocale(i), ""); 59*de76a5adSDamjan Jovanovic log.println(get); 60*de76a5adSDamjan Jovanovic res &= get.equals("C"); 61*de76a5adSDamjan Jovanovic } 62*de76a5adSDamjan Jovanovic tRes.tested("getIndexCharacter()", res); 63*de76a5adSDamjan Jovanovic } 64*de76a5adSDamjan Jovanovic 65*de76a5adSDamjan Jovanovic /** 66*de76a5adSDamjan Jovanovic * Test calls the method with two different parameters: for one page and 67*de76a5adSDamjan Jovanovic * for several pages, after every call result is checked. <p> 68*de76a5adSDamjan Jovanovic * Has <b> OK </b> status if method returns right index for several locales. 69*de76a5adSDamjan Jovanovic */ 70*de76a5adSDamjan Jovanovic public void _getIndexFollowPageWord() { 71*de76a5adSDamjan Jovanovic boolean res = true; 72*de76a5adSDamjan Jovanovic 73*de76a5adSDamjan Jovanovic for (int i=0; i<7; i++) { 74*de76a5adSDamjan Jovanovic String get = oObj.getIndexFollowPageWord(true, getLocale(i)); 75*de76a5adSDamjan Jovanovic if (! get.equals(morePages[i]) ) { 76*de76a5adSDamjan Jovanovic log.println("Language: " + languages[i]); 77*de76a5adSDamjan Jovanovic log.println("Getting: #" + get + "#"); 78*de76a5adSDamjan Jovanovic log.println("Expected: #" + morePages[i] + "#"); 79*de76a5adSDamjan Jovanovic } 80*de76a5adSDamjan Jovanovic res &= get.equals(morePages[i]); 81*de76a5adSDamjan Jovanovic get = oObj.getIndexFollowPageWord(false,getLocale(i)); 82*de76a5adSDamjan Jovanovic if (! get.equals(onePage[i]) ) { 83*de76a5adSDamjan Jovanovic log.println("Language: " + languages[i]); 84*de76a5adSDamjan Jovanovic log.println("Getting: #" + get + "#"); 85*de76a5adSDamjan Jovanovic log.println("Expected: #" + onePage[i] + "#"); 86*de76a5adSDamjan Jovanovic } 87*de76a5adSDamjan Jovanovic res &= get.equals(onePage[i]); 88*de76a5adSDamjan Jovanovic } 89*de76a5adSDamjan Jovanovic tRes.tested("getIndexFollowPageWord()", res); 90*de76a5adSDamjan Jovanovic } 91*de76a5adSDamjan Jovanovic 92*de76a5adSDamjan Jovanovic /** 93*de76a5adSDamjan Jovanovic * Method returns locale for a given language and country. 94*de76a5adSDamjan Jovanovic * @param k index of needed locale. 95*de76a5adSDamjan Jovanovic * @return Locale by the index from arrays defined above 96*de76a5adSDamjan Jovanovic */ 97*de76a5adSDamjan Jovanovic public Locale getLocale(int k) { 98*de76a5adSDamjan Jovanovic return new Locale(languages[k], countries[k], ""); 99*de76a5adSDamjan Jovanovic } 100*de76a5adSDamjan Jovanovic 101*de76a5adSDamjan Jovanovic 102*de76a5adSDamjan Jovanovic } // end XIndexEntrySupplier 103