1 /**************************************************************
2  *
3  * Licensed to the Apache Software Foundation (ASF) under one
4  * or more contributor license agreements.  See the NOTICE file
5  * distributed with this work for additional information
6  * regarding copyright ownership.  The ASF licenses this file
7  * to you under the Apache License, Version 2.0 (the
8  * "License"); you may not use this file except in compliance
9  * with the License.  You may obtain a copy of the License at
10  *
11  *   http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing,
14  * software distributed under the License is distributed on an
15  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16  * KIND, either express or implied.  See the License for the
17  * specific language governing permissions and limitations
18  * under the License.
19  *
20  *************************************************************/
21 
22 
23 
24 package ifc.linguistic2;
25 
26 import lib.MultiMethodTest;
27 
28 import com.sun.star.lang.Locale;
29 import com.sun.star.linguistic2.XSupportedLocales;
30 
31 /**
32 * Testing <code>com.sun.star.linguistic2.XSupportedLocales</code>
33 * interface methods:
34 * <ul>
35 *   <li><code>getLocales()</code></li>
36 *   <li><code>hasLocale()</code></li>
37 * </ul> <p>
38 * @see com.sun.star.linguistic2.XSupportedLocales
39 */
40 public class _XSupportedLocales extends MultiMethodTest {
41 
42     public XSupportedLocales oObj = null;
43     public static Locale[] locales = new Locale[0];
44 
45     /**
46     * Test calls the method, stores returned value and checks it. <p>
47     * Has <b> OK </b> status if length of returned array isn't zero. <p>
48     */
_getLocales()49     public void _getLocales() {
50         locales = oObj.getLocales();
51         tRes.tested("getLocales()", locales.length > 0);
52     }
53 
54     /**
55     * Test calls the method for every language from list of supported languages,
56     * calls the method for one unsupported language and checks
57     * all returned values. <p>
58     * Has <b> OK </b> status if all returned values for supported languages
59     * are equal to true and if returned value for unsupported language is equal
60     * to false. <p>
61     * The following method tests are to be completed successfully before :
62     * <ul>
63     *  <li> <code> getLocales() </code> : to have list of
64     *  all supported languages </li>
65     * </ul>
66     */
_hasLocale()67     public void _hasLocale() {
68         requiredMethod("getLocales()");
69         boolean res = true;
70 
71         // first check all available locales
72         for (int i=0; i< locales.length; i++) {
73             res &= oObj.hasLocale(locales[i]);
74         }
75 
76         // now create a invalid locale
77         Locale invalid = new Locale("myLanguage","myCountry","");
78         res &= !oObj.hasLocale(invalid);
79 
80         tRes.tested("hasLocale()", res);
81     }
82 
83 }  // finish class XSupportedLocales
84 
85 
86