1/* 2 * Copyright (C) 2021 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15import I18n from '@ohos.i18n' 16import Intl from '@ohos.intl' 17import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from '@ohos/hypium' 18 19export default function LangTest() { 20describe('LangTest', function () { 21 console.log('*************start LangTest*************'); 22 23 let initPreferredLang = I18n.getPreferredLanguageList(); 24 let initLen = initPreferredLang.length; 25 let hour = I18n.is24HourClock(); 26 27 /* * 28 * get the current preferred language list 29 */ 30 function getCurrentPreferredLang(){ 31 let value = I18n.getPreferredLanguageList(); 32 return value; 33 } 34 35 /* * 36 * judge if the lang is in the preferred language list or not 37 */ 38 function isContainLang(langList, lang){ 39 let len = langList.length; 40 for (let i = 0; i < len; i++){ 41 if(langList[i] == lang){ 42 return true 43 } 44 } 45 return false 46 } 47 48 /* * 49 * execute this step before all testcases 50 */ 51 beforeAll(function(){ 52 console.log('step before all cases in lang.' 53 + ' 24hour: ' + I18n.is24HourClock() 54 + ' prelang: ' + I18n.getPreferredLanguageList() 55 + ' syslocale: ' + I18n.getSystemLocale()); 56 }) 57 58 /* * 59 * execute this step before every testcase 60 */ 61 beforeEach(function(){ 62 console.log('i18n_test_preferredlanguage_beforeEach ' + getCurrentPreferredLang()); 63 }) 64 65 /* * 66 * execute this step after every testcase 67 */ 68 afterEach(function(){ 69 let currLang = getCurrentPreferredLang(); 70 console.log('i18n_test_preferredlanguage_afterEach ' + currLang); 71 }) 72 73 /* * 74 * execute this step after all testcases 75 */ 76 afterAll(function(){ 77 console.log('step after all cases.' 78 + ' 24hour: ' + I18n.is24HourClock() 79 + ' prelang: ' + I18n.getPreferredLanguageList() 80 + ' syslocale: ' + I18n.getSystemLocale()); 81 }) 82 83 /* * 84 * @tc.number SUB_GLOBAL_I18N_JS_CLOCK_0100 85 * @tc.name test the is24HourClock interface 86 * @tc.desc check the value of is24HourClock method 87 */ 88 it('i18n_test_clock_0100', 0, function () { 89 console.log('i18n_test_clock_0100 ' + 'start'); 90 let value = I18n.is24HourClock(); 91 console.log('i18n_test_clock_0100 ' + value); 92 if(value) 93 { 94 expect(value).assertTrue(); 95 } 96 else 97 { 98 expect(value).assertFalse(); 99 } 100 }) 101 102 /* * 103 * @tc.number SUB_GLOBAL_I18N_JS_CLOCK_0120 104 * @tc.name test the set24HourClock interface 105 * @tc.desc check the value of set24HourClock method 106 */ 107 it('i18n_test_clock_0120', 0, function () { 108 console.log('i18n_test_clock_0120 ' + 'start'); 109 let value = I18n.is24HourClock(); 110 console.log('i18n_test_clock_0120 ' + value); 111 if(value) 112 { 113 let hourclock = I18n.set24HourClock(false); 114 console.log('i18n_test_clock_0120 ' + hourclock); 115 hourclock = I18n.set24HourClock(true); 116 console.log('i18n_test_clock_0120 ' + hourclock); 117 expect(value).assertTrue(); 118 } 119 else 120 { 121 let hourclock = I18n.set24HourClock(true); 122 console.log('i18n_test_clock_0120 ' + hourclock); 123 hourclock = I18n.set24HourClock(false); 124 console.log('i18n_test_clock_0120 ' + hourclock); 125 expect(value).assertFalse(); 126 } 127 }) 128 129 /* * 130 * @tc.number SUB_GLOBAL_I18N_JS_PREFERREDLANGUAGE_0100 131 * @tc.name test the getPreferredLanguageList interface with default value 132 * @tc.desc check the value of getPreferredLanguageList method 133 */ 134 it('i18n_test_preferredlanguage_0100', 0, function () { 135 console.log('i18n_test_preferredlanguage_0100 ' + 'start'); 136 let value = I18n.getPreferredLanguageList(); 137 console.log('i18n_test_preferredlanguage_0100 ' + value); 138 expect(value.length).assertLarger(0); 139 }) 140 141 /* * 142 * @tc.number SUB_GLOBAL_I18N_JS_PREFERREDLANGUAGE_0120 143 * @tc.name test the addPreferredLanguage interface 144 * @tc.desc check the value of addPreferredLanguage method 145 */ 146 it('i18n_test_preferredlanguage_0120', 0, function () { 147 console.log('i18n_test_preferredlanguage_0120 ' + 'start'); 148 let list = I18n.getPreferredLanguageList(); 149 console.log('i18n_test_preferredlanguage_0120 ' + list); 150 expect(list.length).assertLarger(0); 151 if(list[0] != 'zh-Hans-CN' && list[0] != 'zh-Hans'){ 152 let value = I18n.addPreferredLanguage('zh-Hans-CN'); 153 console.log('i18n_test_preferredlanguage_0120 ' + value); 154 expect(list.length > 0).assertTrue(); 155 } 156 else{ 157 let value = I18n.addPreferredLanguage('en-Latn-US'); 158 console.log('i18n_test_preferredlanguage_0120 ' + value); 159 expect(list.length > 0).assertTrue(); 160 } 161 console.log('i18n_test_preferredlanguage_0120 ' + I18n.getPreferredLanguageList()); 162 }) 163 164 /* * 165 * @tc.number SUB_GLOBAL_I18N_JS_PREFERREDLANGUAGE_0140 166 * @tc.name test the removePreferredLanguage interface 167 * @tc.desc check the value of removePreferredLanguage method 168 */ 169 it('i18n_test_preferredlanguage_0140', 0, function () { 170 console.log('i18n_test_preferredlanguage_0140 ' + 'start'); 171 let list = I18n.getPreferredLanguageList(); 172 console.log('i18n_test_preferredlanguage_0140 ' + list); 173 expect(list.length).assertLarger(0); 174 if(list[1] == 'zh-Hans-CN'){ 175 let value = I18n.removePreferredLanguage(1); 176 console.log('i18n_test_preferredlanguage_0140 ' + value); 177 expect(value).assertTrue(); 178 } 179 console.log('i18n_test_preferredlanguage_0140 ' + I18n.getPreferredLanguageList()); 180 }) 181 182 /* * 183 * @tc.number SUB_GLOBAL_I18N_JS_PREFERREDLANGUAGE_1000 184 * @tc.name test the getFirstPreferredLanguage interface 185 * @tc.desc check the value of getFirstPreferredLanguage method 186 */ 187 it('i18n_test_preferredlanguage_1000', 0, function () { 188 console.log('i18n_test_preferredlanguage_1000 ' + 'start'); 189 let value = I18n.getFirstPreferredLanguage(); 190 console.log('i18n_test_preferredlanguage_1000 ' + value); 191 let list = I18n.getPreferredLanguageList(); 192 console.log('i18n_test_preferredlanguage_1000 ' + list); 193 expect(list.length).assertLarger(0); 194 if(list[0] == 'zh-Hans'){ 195 expect(value).assertEqual('zh-Hans'); 196 } 197 else if(list[0] == 'en'){ 198 expect(value).assertEqual('en'); 199 } 200 }) 201 202 /* * 203 * @tc.number SUB_GLOBAL_INTL_JS_TRANSFER_0100 204 * @tc.name transfer from lower to upper 205 * @tc.desc check the transfer result 206 */ 207 it('transfer_test_0100', 0, function () { 208 let date = 'hello'; 209 let value = date.toLocaleUpperCase('zh-CN'); 210 console.log('transfer_test_0100 ' + value); 211 expect(value).assertEqual('HELLO'); 212 }) 213 214 /* * 215 * @tc.number SUB_GLOBAL_INTL_JS_TRANSFER_0200 216 * @tc.name transfer from upper to lower 217 * @tc.desc check the transfer result 218 */ 219 it('transfer_test_0200', 0, function () { 220 let date = 'WORLD'; 221 let value = date.toLocaleLowerCase('zh-CN'); 222 console.log('transfer_test_0200 ' + value); 223 expect(value).assertEqual('world'); 224 }) 225 226 /* * 227 * @tc.number SUB_GLOBAL_INTL_JS_TRANSFER_0300 228 * @tc.name transfer to upper 229 * @tc.desc check the transfer result 230 */ 231 it('transfer_test_0300', 0, function () { 232 let date = 'My name is Jack.'; 233 let value = date.toLocaleUpperCase('en-US'); 234 console.log('transfer_test_0300 ' + value); 235 expect(value).assertEqual('MY NAME IS JACK.'); 236 }) 237 238 /* * 239 * @tc.number SUB_GLOBAL_INTL_JS_TRANSFER_0400 240 * @tc.name transfer to lower 241 * @tc.desc check the transfer result 242 */ 243 it('transfer_test_0400', 0, function () { 244 let date = 'The sky is in BLUE-STYLE!'; 245 let value = date.toLocaleLowerCase('en-US'); 246 console.log('transfer_test_0400 ' + value); 247 expect(value).assertEqual('the sky is in blue-style!'); 248 }) 249 250 console.log('*************end LangTest*************'); 251})} 252