1f6603c60Sopenharmony_ci/*
2f6603c60Sopenharmony_ci * Copyright (c) 2021 Huawei Device Co., Ltd.
3f6603c60Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
4f6603c60Sopenharmony_ci * you may not use this file except in compliance with the License.
5f6603c60Sopenharmony_ci * You may obtain a copy of the License at
6f6603c60Sopenharmony_ci *
7f6603c60Sopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
8f6603c60Sopenharmony_ci *
9f6603c60Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software
10f6603c60Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
11f6603c60Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12f6603c60Sopenharmony_ci * See the License for the specific language governing permissions and
13f6603c60Sopenharmony_ci * limitations under the License.
14f6603c60Sopenharmony_ci */
15f6603c60Sopenharmony_ci
16f6603c60Sopenharmony_ci#include <stdlib.h>
17f6603c60Sopenharmony_ci#include <ctype.h>
18f6603c60Sopenharmony_ci#include <wctype.h>
19f6603c60Sopenharmony_ci#include <wchar.h>
20f6603c60Sopenharmony_ci#include <string.h>
21f6603c60Sopenharmony_ci
22f6603c60Sopenharmony_ci#include "gtest/gtest.h"
23f6603c60Sopenharmony_ci#include "log.h"
24f6603c60Sopenharmony_ci#include "utils.h"
25f6603c60Sopenharmony_ci
26f6603c60Sopenharmony_ciusing namespace testing::ext;
27f6603c60Sopenharmony_ci
28f6603c60Sopenharmony_ciclass ActsUtilConvertApiTest : public testing::Test {
29f6603c60Sopenharmony_cipublic:
30f6603c60Sopenharmony_ci    locale_t g_aucaNewloc;
31f6603c60Sopenharmony_ciprotected:
32f6603c60Sopenharmony_ci    // SetUpTestCase: Testsuit setup, run before 1st testcase
33f6603c60Sopenharmony_ci    static void SetUpTestCase(void)
34f6603c60Sopenharmony_ci    {
35f6603c60Sopenharmony_ci    }
36f6603c60Sopenharmony_ci    // TearDownTestCase: Testsuit teardown, run after last testcase
37f6603c60Sopenharmony_ci    static void TearDownTestCase(void)
38f6603c60Sopenharmony_ci    {
39f6603c60Sopenharmony_ci    }
40f6603c60Sopenharmony_ci    // Testcase setup
41f6603c60Sopenharmony_ci    virtual void SetUp()
42f6603c60Sopenharmony_ci    {
43f6603c60Sopenharmony_ci        g_aucaNewloc = newlocale(LC_ALL_MASK, "", (locale_t)0);
44f6603c60Sopenharmony_ci    }
45f6603c60Sopenharmony_ci    // Testcase teardown
46f6603c60Sopenharmony_ci    virtual void TearDown()
47f6603c60Sopenharmony_ci    {
48f6603c60Sopenharmony_ci        freelocale(g_aucaNewloc);
49f6603c60Sopenharmony_ci    }
50f6603c60Sopenharmony_ci};
51f6603c60Sopenharmony_ci
52f6603c60Sopenharmony_ci/**
53f6603c60Sopenharmony_ci* @tc.number     SUB_KERNEL_UTIL_CONVERT_TOLOWER_0100
54f6603c60Sopenharmony_ci* @tc.name       test _tolower api with upper alpha
55f6603c60Sopenharmony_ci* @tc.desc       [C- SOFTWARE -0200]
56f6603c60Sopenharmony_ci*/
57f6603c60Sopenharmony_ciHWTEST_F(ActsUtilConvertApiTest, testTolower0100, Function | MediumTest | Level1) {
58f6603c60Sopenharmony_ci    char paraChar;
59f6603c60Sopenharmony_ci    int returnVal;
60f6603c60Sopenharmony_ci
61f6603c60Sopenharmony_ci    paraChar = 'A';
62f6603c60Sopenharmony_ci    returnVal = _tolower(paraChar);
63f6603c60Sopenharmony_ci    LOGD("    _tolower c:='%c',   returnVal:='%c'\n", paraChar, returnVal);
64f6603c60Sopenharmony_ci    ASSERT_TRUE('a' == returnVal) << "ErrInfo: _tolower  returnVal:='" << returnVal << "'";
65f6603c60Sopenharmony_ci}
66f6603c60Sopenharmony_ci
67f6603c60Sopenharmony_ci/**
68f6603c60Sopenharmony_ci* @tc.number     SUB_KERNEL_UTIL_CONVERT_TOLOWER_0200
69f6603c60Sopenharmony_ci* @tc.name       test _tolower api with digit
70f6603c60Sopenharmony_ci* @tc.desc       [C- SOFTWARE -0200]
71f6603c60Sopenharmony_ci*/
72f6603c60Sopenharmony_ciHWTEST_F(ActsUtilConvertApiTest, testTolower0200, Function | MediumTest | Level1) {
73f6603c60Sopenharmony_ci    char paraChar;
74f6603c60Sopenharmony_ci    int returnVal;
75f6603c60Sopenharmony_ci
76f6603c60Sopenharmony_ci    paraChar = '5';
77f6603c60Sopenharmony_ci    returnVal = _tolower(paraChar);
78f6603c60Sopenharmony_ci    LOGD("    _tolower c:='%c',   returnVal:='%c'\n", paraChar, returnVal);
79f6603c60Sopenharmony_ci    ASSERT_TRUE('5' == returnVal) << "ErrInfo: _tolower  returnVal:='" << returnVal << "'";
80f6603c60Sopenharmony_ci}
81f6603c60Sopenharmony_ci
82f6603c60Sopenharmony_ci/**
83f6603c60Sopenharmony_ci* @tc.number     SUB_KERNEL_UTIL_CONVERT_TOLOWER_0300
84f6603c60Sopenharmony_ci* @tc.name       test _tolower api with lower alpha
85f6603c60Sopenharmony_ci* @tc.desc       [C- SOFTWARE -0200]
86f6603c60Sopenharmony_ci*/
87f6603c60Sopenharmony_ciHWTEST_F(ActsUtilConvertApiTest, testTolower0300, Function | MediumTest | Level1) {
88f6603c60Sopenharmony_ci    char paraChar;
89f6603c60Sopenharmony_ci    int returnVal;
90f6603c60Sopenharmony_ci
91f6603c60Sopenharmony_ci    paraChar = 'z';
92f6603c60Sopenharmony_ci    returnVal = _tolower(paraChar);
93f6603c60Sopenharmony_ci    LOGD("    _tolower c:='%c',   returnVal:='%c'\n", paraChar, returnVal);
94f6603c60Sopenharmony_ci    ASSERT_TRUE('z' == returnVal) << "ErrInfo: _tolower  returnVal:='" << returnVal << "'";
95f6603c60Sopenharmony_ci}
96f6603c60Sopenharmony_ci
97f6603c60Sopenharmony_ci/* *
98f6603c60Sopenharmony_ci * @tc.number     SUB_KERNEL_UTIL_CONVERT_TOLOWER_0310
99f6603c60Sopenharmony_ci * @tc.name       test _tolower api abnormal scenario with two uppercase characters
100f6603c60Sopenharmony_ci * @tc.desc       [C- SOFTWARE -0200]
101f6603c60Sopenharmony_ci */
102f6603c60Sopenharmony_ciHWTEST_F(ActsUtilConvertApiTest, testTolower0310, Function | MediumTest | Level1)
103f6603c60Sopenharmony_ci{
104f6603c60Sopenharmony_ci    char paraChar;
105f6603c60Sopenharmony_ci    int returnVal;
106f6603c60Sopenharmony_ci
107f6603c60Sopenharmony_ci    paraChar = 'AZ';
108f6603c60Sopenharmony_ci    returnVal = _tolower(paraChar);
109f6603c60Sopenharmony_ci    LOGD("    _tolower c:='%c',   returnVal:='%c'/n", paraChar, returnVal);
110f6603c60Sopenharmony_ci    EXPECT_FALSE('az' == returnVal) << "ErrInfo: _tolower  returnVal:='" << returnVal << "'";
111f6603c60Sopenharmony_ci}
112f6603c60Sopenharmony_ci
113f6603c60Sopenharmony_ci/* *
114f6603c60Sopenharmony_ci * @tc.number     SUB_KERNEL_UTIL_CONVERT_TOLOWER_0320
115f6603c60Sopenharmony_ci * @tc.name       test _tolower api abnormal scenario with multiple digital characters
116f6603c60Sopenharmony_ci * @tc.desc       [C- SOFTWARE -0200]
117f6603c60Sopenharmony_ci */
118f6603c60Sopenharmony_ciHWTEST_F(ActsUtilConvertApiTest, testTolower0320, Function | MediumTest | Level1)
119f6603c60Sopenharmony_ci{
120f6603c60Sopenharmony_ci    char paraChar;
121f6603c60Sopenharmony_ci    int returnVal;
122f6603c60Sopenharmony_ci
123f6603c60Sopenharmony_ci    paraChar = '22';
124f6603c60Sopenharmony_ci    returnVal = _tolower(paraChar);
125f6603c60Sopenharmony_ci    LOGD("    _tolower c:='%c',   returnVal:='%c'/n", paraChar, returnVal);
126f6603c60Sopenharmony_ci    EXPECT_FALSE('22' == returnVal) << "ErrInfo: _tolower  returnVal:='" << returnVal << "'";
127f6603c60Sopenharmony_ci}
128f6603c60Sopenharmony_ci
129f6603c60Sopenharmony_ci/* *
130f6603c60Sopenharmony_ci * @tc.number     SUB_KERNEL_UTIL_CONVERT_TOLOWER_0330
131f6603c60Sopenharmony_ci * @tc.name       test _tolower api abnormal scenario with special symbols characters
132f6603c60Sopenharmony_ci * @tc.desc       [C- SOFTWARE -0200]
133f6603c60Sopenharmony_ci */
134f6603c60Sopenharmony_ciHWTEST_F(ActsUtilConvertApiTest, testTolower0330, Function | MediumTest | Level1)
135f6603c60Sopenharmony_ci{
136f6603c60Sopenharmony_ci    char paraChar;
137f6603c60Sopenharmony_ci    int returnVal;
138f6603c60Sopenharmony_ci
139f6603c60Sopenharmony_ci    paraChar = '@';
140f6603c60Sopenharmony_ci    returnVal = _tolower(paraChar);
141f6603c60Sopenharmony_ci    LOGD("    _tolower c:='%c',   returnVal:='%c'/n", paraChar, returnVal);
142f6603c60Sopenharmony_ci    ASSERT_TRUE(96 == returnVal) << "ErrInfo: _tolower  returnVal:='" << returnVal << "'";
143f6603c60Sopenharmony_ci}
144f6603c60Sopenharmony_ci
145f6603c60Sopenharmony_ci
146f6603c60Sopenharmony_ci/**
147f6603c60Sopenharmony_ci* @tc.number     SUB_KERNEL_UTIL_CONVERT_TOUPPER_0400
148f6603c60Sopenharmony_ci* @tc.name       test _toupper api with lower alpha
149f6603c60Sopenharmony_ci* @tc.desc       [C- SOFTWARE -0200]
150f6603c60Sopenharmony_ci*/
151f6603c60Sopenharmony_ciHWTEST_F(ActsUtilConvertApiTest, testToupper0400, Function | MediumTest | Level1) {
152f6603c60Sopenharmony_ci    char paraChar;
153f6603c60Sopenharmony_ci    int returnVal;
154f6603c60Sopenharmony_ci
155f6603c60Sopenharmony_ci    paraChar = 'a';
156f6603c60Sopenharmony_ci    returnVal = _toupper(paraChar);
157f6603c60Sopenharmony_ci    LOGD("    _toupper c:='%c',   returnVal:='%c'\n", paraChar, returnVal);
158f6603c60Sopenharmony_ci    ASSERT_TRUE('A' == returnVal) << "ErrInfo: _toupper  returnVal:='" << returnVal << "'";
159f6603c60Sopenharmony_ci}
160f6603c60Sopenharmony_ci
161f6603c60Sopenharmony_ci/**
162f6603c60Sopenharmony_ci* @tc.number     SUB_KERNEL_UTIL_CONVERT_TOUPPER_0500
163f6603c60Sopenharmony_ci* @tc.name       test _toupper api with upper alpha
164f6603c60Sopenharmony_ci* @tc.desc       [C- SOFTWARE -0200]
165f6603c60Sopenharmony_ci*/
166f6603c60Sopenharmony_ciHWTEST_F(ActsUtilConvertApiTest, testToupper0500, Function | MediumTest | Level1) {
167f6603c60Sopenharmony_ci    char paraChar;
168f6603c60Sopenharmony_ci    int returnVal;
169f6603c60Sopenharmony_ci
170f6603c60Sopenharmony_ci    paraChar = 'Z';
171f6603c60Sopenharmony_ci    returnVal = _toupper(paraChar);
172f6603c60Sopenharmony_ci    LOGD("    _toupper c:='%c',   returnVal:='%c'\n", paraChar, returnVal);
173f6603c60Sopenharmony_ci    ASSERT_TRUE('Z' == returnVal) << "ErrInfo: _toupper  returnVal:='" << returnVal << "'";
174f6603c60Sopenharmony_ci}
175f6603c60Sopenharmony_ci
176f6603c60Sopenharmony_ci/* *
177f6603c60Sopenharmony_ci * @tc.number     SUB_KERNEL_UTIL_CONVERT_TOUPPER_0510
178f6603c60Sopenharmony_ci * @tc.name       test _toupper api abnormal scenario with special symbols characters
179f6603c60Sopenharmony_ci * @tc.desc       [C- SOFTWARE -0200]
180f6603c60Sopenharmony_ci */
181f6603c60Sopenharmony_ciHWTEST_F(ActsUtilConvertApiTest, testToupper0510, Function | MediumTest | Level1)
182f6603c60Sopenharmony_ci{
183f6603c60Sopenharmony_ci    char paraChar;
184f6603c60Sopenharmony_ci    int returnVal;
185f6603c60Sopenharmony_ci
186f6603c60Sopenharmony_ci    paraChar = '@';
187f6603c60Sopenharmony_ci    returnVal = _toupper(paraChar);
188f6603c60Sopenharmony_ci    LOGD("    _toupper c:='%c',   returnVal:='%c'/n", paraChar, returnVal);
189f6603c60Sopenharmony_ci    ASSERT_TRUE('@' == returnVal) << "ErrInfo: _toupper  returnVal:='" << returnVal << "'";
190f6603c60Sopenharmony_ci}
191f6603c60Sopenharmony_ci
192f6603c60Sopenharmony_ci/* *
193f6603c60Sopenharmony_ci * @tc.number     SUB_KERNEL_UTIL_CONVERT_TOUPPER_0520
194f6603c60Sopenharmony_ci * @tc.name       test _toupper api with ASCII
195f6603c60Sopenharmony_ci * @tc.desc       [C- SOFTWARE -0200]
196f6603c60Sopenharmony_ci */
197f6603c60Sopenharmony_ciHWTEST_F(ActsUtilConvertApiTest, testToupper0520, Function | MediumTest | Level1)
198f6603c60Sopenharmony_ci{
199f6603c60Sopenharmony_ci    char paraChar;
200f6603c60Sopenharmony_ci    int returnVal;
201f6603c60Sopenharmony_ci
202f6603c60Sopenharmony_ci    paraChar = 50;
203f6603c60Sopenharmony_ci    returnVal = _toupper(paraChar);
204f6603c60Sopenharmony_ci    LOGD("    _toupper c:='%c',   returnVal:='%c'/n", paraChar, returnVal);
205f6603c60Sopenharmony_ci    ASSERT_TRUE(18 == returnVal) << "ErrInfo: _toupper  returnVal:='" << returnVal << "'";
206f6603c60Sopenharmony_ci}
207f6603c60Sopenharmony_ci
208f6603c60Sopenharmony_ci/* *
209f6603c60Sopenharmony_ci * @tc.number     SUB_KERNEL_UTIL_CONVERT_TOUPPER_0530
210f6603c60Sopenharmony_ci * @tc.name       test _toupper api abnormal scenario with multiple lowercase characters
211f6603c60Sopenharmony_ci * @tc.desc       [C- SOFTWARE -0200]
212f6603c60Sopenharmony_ci */
213f6603c60Sopenharmony_ciHWTEST_F(ActsUtilConvertApiTest, testToupper0530, Function | MediumTest | Level1)
214f6603c60Sopenharmony_ci{
215f6603c60Sopenharmony_ci    char paraChar;
216f6603c60Sopenharmony_ci    int returnVal;
217f6603c60Sopenharmony_ci
218f6603c60Sopenharmony_ci    paraChar = 'aa';
219f6603c60Sopenharmony_ci    returnVal = _toupper(paraChar);
220f6603c60Sopenharmony_ci    LOGD("    _toupper c:='%c',   returnVal:='%c'/n", paraChar, returnVal);
221f6603c60Sopenharmony_ci    EXPECT_FALSE('AA' == returnVal) << "ErrInfo: _toupper  returnVal:='" << returnVal << "'";
222f6603c60Sopenharmony_ci}
223f6603c60Sopenharmony_ci
224f6603c60Sopenharmony_ci/* *
225f6603c60Sopenharmony_ci * @tc.number     SUB_KERNEL_UTIL_CONVERT_TOUPPER_0540
226f6603c60Sopenharmony_ci * @tc.name       test _toupper api abnormal scenario with multiple lowercase characters combination
227f6603c60Sopenharmony_ci * @tc.desc       [C- SOFTWARE -0200]
228f6603c60Sopenharmony_ci */
229f6603c60Sopenharmony_ciHWTEST_F(ActsUtilConvertApiTest, testToupper0540, Function | MediumTest | Level1)
230f6603c60Sopenharmony_ci{
231f6603c60Sopenharmony_ci    char paraChar;
232f6603c60Sopenharmony_ci    int returnVal;
233f6603c60Sopenharmony_ci
234f6603c60Sopenharmony_ci    paraChar = 'az';
235f6603c60Sopenharmony_ci    returnVal = _toupper(paraChar);
236f6603c60Sopenharmony_ci    LOGD("    _toupper c:='%c',   returnVal:='%c'/n", paraChar, returnVal);
237f6603c60Sopenharmony_ci    EXPECT_FALSE('AZ' == returnVal) << "ErrInfo: _toupper  returnVal:='" << returnVal << "'";
238f6603c60Sopenharmony_ci}
239f6603c60Sopenharmony_ci
240f6603c60Sopenharmony_ci/**
241f6603c60Sopenharmony_ci* @tc.number     SUB_KERNEL_UTIL_CONVERT_ATOF_0600
242f6603c60Sopenharmony_ci* @tc.name       test atof api with string
243f6603c60Sopenharmony_ci* @tc.desc       [C- SOFTWARE -0200]
244f6603c60Sopenharmony_ci*/
245f6603c60Sopenharmony_ciHWTEST_F(ActsUtilConvertApiTest, testAtof0600, Function | MediumTest | Level1) {
246f6603c60Sopenharmony_ci    const char *paraChar = nullptr;
247f6603c60Sopenharmony_ci    double returnVal;
248f6603c60Sopenharmony_ci
249f6603c60Sopenharmony_ci    paraChar = "abcde";
250f6603c60Sopenharmony_ci    returnVal = atof(paraChar);
251f6603c60Sopenharmony_ci    LOGD("    atof c:='%s',   returnVal:='%f'\n", paraChar, returnVal);
252f6603c60Sopenharmony_ci    ASSERT_TRUE(0.000000 == returnVal) << "ErrInfo: atof  returnVal:='" << returnVal << "'";
253f6603c60Sopenharmony_ci}
254f6603c60Sopenharmony_ci
255f6603c60Sopenharmony_ci/**
256f6603c60Sopenharmony_ci* @tc.number     SUB_KERNEL_UTIL_CONVERT_ATOF_0700
257f6603c60Sopenharmony_ci* @tc.name       test atof api with empty string
258f6603c60Sopenharmony_ci* @tc.desc       [C- SOFTWARE -0200]
259f6603c60Sopenharmony_ci*/
260f6603c60Sopenharmony_ciHWTEST_F(ActsUtilConvertApiTest, testAtof0700, Function | MediumTest | Level1) {
261f6603c60Sopenharmony_ci    const char *paraChar = nullptr;
262f6603c60Sopenharmony_ci    double returnVal;
263f6603c60Sopenharmony_ci
264f6603c60Sopenharmony_ci    paraChar = "";
265f6603c60Sopenharmony_ci    returnVal = atof(paraChar);
266f6603c60Sopenharmony_ci    LOGD("    atof c:='%s',   returnVal:='%f'\n", paraChar, returnVal);
267f6603c60Sopenharmony_ci    ASSERT_TRUE(0.000000 == returnVal) << "ErrInfo: atof  returnVal:='" << returnVal << "'";
268f6603c60Sopenharmony_ci}
269f6603c60Sopenharmony_ci
270f6603c60Sopenharmony_ci/**
271f6603c60Sopenharmony_ci* @tc.number     SUB_KERNEL_UTIL_CONVERT_ATOF_0800
272f6603c60Sopenharmony_ci* @tc.name       test atof api with digit2
273f6603c60Sopenharmony_ci* @tc.desc       [C- SOFTWARE -0200]
274f6603c60Sopenharmony_ci*/
275f6603c60Sopenharmony_ciHWTEST_F(ActsUtilConvertApiTest, testAtof0800, Function | MediumTest | Level1) {
276f6603c60Sopenharmony_ci    const char *paraChar = nullptr;
277f6603c60Sopenharmony_ci    double returnVal;
278f6603c60Sopenharmony_ci
279f6603c60Sopenharmony_ci    paraChar = "12345";
280f6603c60Sopenharmony_ci    returnVal = atof(paraChar);
281f6603c60Sopenharmony_ci    LOGD("    atof c:='%s',   returnVal:='%f'\n", paraChar, returnVal);
282f6603c60Sopenharmony_ci    ASSERT_TRUE(12345.000000 == returnVal) << "ErrInfo: atof  returnVal:='" << returnVal << "'";
283f6603c60Sopenharmony_ci}
284f6603c60Sopenharmony_ci
285f6603c60Sopenharmony_ci/* *
286f6603c60Sopenharmony_ci * @tc.number     SUB_KERNEL_UTIL_CONVERT_ATOF_0810
287f6603c60Sopenharmony_ci * @tc.name       test atof api with digit1
288f6603c60Sopenharmony_ci * @tc.desc       [C- SOFTWARE -0200]
289f6603c60Sopenharmony_ci */
290f6603c60Sopenharmony_ciHWTEST_F(ActsUtilConvertApiTest, testAtof0810, Function | MediumTest | Level1)
291f6603c60Sopenharmony_ci{
292f6603c60Sopenharmony_ci    const char *paraChar = nullptr;
293f6603c60Sopenharmony_ci    double returnVal;
294f6603c60Sopenharmony_ci
295f6603c60Sopenharmony_ci    paraChar = "xtstest abcde";
296f6603c60Sopenharmony_ci    returnVal = atof(paraChar);
297f6603c60Sopenharmony_ci    LOGD("    atof c:='%s',   returnVal:='%f'/n", paraChar, returnVal);
298f6603c60Sopenharmony_ci    ASSERT_TRUE(0.000000 == returnVal) << "ErrInfo: atof  returnVal:='" << returnVal << "'";
299f6603c60Sopenharmony_ci}
300f6603c60Sopenharmony_ci
301f6603c60Sopenharmony_ci/* *
302f6603c60Sopenharmony_ci * @tc.number     SUB_KERNEL_UTIL_CONVERT_ATOF_0820
303f6603c60Sopenharmony_ci * @tc.name       test atof api with digit3
304f6603c60Sopenharmony_ci * @tc.desc       [C- SOFTWARE -0200]
305f6603c60Sopenharmony_ci */
306f6603c60Sopenharmony_ciHWTEST_F(ActsUtilConvertApiTest, testAtof0820, Function | MediumTest | Level1)
307f6603c60Sopenharmony_ci{
308f6603c60Sopenharmony_ci    const char *paraChar = nullptr;
309f6603c60Sopenharmony_ci    double returnVal;
310f6603c60Sopenharmony_ci
311f6603c60Sopenharmony_ci    paraChar = "xtstest 123456";
312f6603c60Sopenharmony_ci    returnVal = atof(paraChar);
313f6603c60Sopenharmony_ci    LOGD("    atof c:='%s',   returnVal:='%f'/n", paraChar, returnVal);
314f6603c60Sopenharmony_ci    ASSERT_TRUE(0.000000 == returnVal) << "ErrInfo: atof  returnVal:='" << returnVal << "'";
315f6603c60Sopenharmony_ci}
316f6603c60Sopenharmony_ci
317f6603c60Sopenharmony_ci/* *
318f6603c60Sopenharmony_ci * @tc.number     SUB_KERNEL_UTIL_CONVERT_ATOF_0830
319f6603c60Sopenharmony_ci * @tc.name       test atof api with digit4
320f6603c60Sopenharmony_ci * @tc.desc       [C- SOFTWARE -0200]
321f6603c60Sopenharmony_ci */
322f6603c60Sopenharmony_ciHWTEST_F(ActsUtilConvertApiTest, testAtof0830, Function | MediumTest | Level1)
323f6603c60Sopenharmony_ci{
324f6603c60Sopenharmony_ci    const char *paraChar = nullptr;
325f6603c60Sopenharmony_ci    double returnVal;
326f6603c60Sopenharmony_ci
327f6603c60Sopenharmony_ci    paraChar = "123456    ";
328f6603c60Sopenharmony_ci    returnVal = atof(paraChar);
329f6603c60Sopenharmony_ci    LOGD("    atof c:='%s',   returnVal:='%f'/n", paraChar, returnVal);
330f6603c60Sopenharmony_ci    ASSERT_TRUE(123456.000000 == returnVal) << "ErrInfo: atof  returnVal:='" << returnVal << "'";
331f6603c60Sopenharmony_ci}
332f6603c60Sopenharmony_ci
333f6603c60Sopenharmony_ci/* *
334f6603c60Sopenharmony_ci * @tc.number     SUB_KERNEL_UTIL_CONVERT_ATOF_0840
335f6603c60Sopenharmony_ci * @tc.name       test atof api with digit5
336f6603c60Sopenharmony_ci * @tc.desc       [C- SOFTWARE -0200]
337f6603c60Sopenharmony_ci */
338f6603c60Sopenharmony_ciHWTEST_F(ActsUtilConvertApiTest, testAtof0840, Function | MediumTest | Level1)
339f6603c60Sopenharmony_ci{
340f6603c60Sopenharmony_ci    const char *paraChar = nullptr;
341f6603c60Sopenharmony_ci    double returnVal;
342f6603c60Sopenharmony_ci
343f6603c60Sopenharmony_ci    paraChar = "      abcde";
344f6603c60Sopenharmony_ci    returnVal = atof(paraChar);
345f6603c60Sopenharmony_ci    LOGD("    atof c:='%s',   returnVal:='%f'/n", paraChar, returnVal);
346f6603c60Sopenharmony_ci    ASSERT_TRUE(0.000000 == returnVal) << "ErrInfo: atof  returnVal:='" << returnVal << "'";
347f6603c60Sopenharmony_ci}
348f6603c60Sopenharmony_ci
349f6603c60Sopenharmony_ci/* *
350f6603c60Sopenharmony_ci * @tc.number     SUB_KERNEL_UTIL_CONVERT_ATOF_0850
351f6603c60Sopenharmony_ci * @tc.name       test atof api with digit6
352f6603c60Sopenharmony_ci * @tc.desc       [C- SOFTWARE -0200]
353f6603c60Sopenharmony_ci */
354f6603c60Sopenharmony_ciHWTEST_F(ActsUtilConvertApiTest, testAtof0850, Function | MediumTest | Level1)
355f6603c60Sopenharmony_ci{
356f6603c60Sopenharmony_ci    const char *paraChar = nullptr;
357f6603c60Sopenharmony_ci    double returnVal;
358f6603c60Sopenharmony_ci
359f6603c60Sopenharmony_ci    paraChar = "      abcde     ";
360f6603c60Sopenharmony_ci    returnVal = atof(paraChar);
361f6603c60Sopenharmony_ci    LOGD("    atof c:='%s',   returnVal:='%f'/n", paraChar, returnVal);
362f6603c60Sopenharmony_ci    ASSERT_TRUE(0.000000 == returnVal) << "ErrInfo: atof  returnVal:='" << returnVal << "'";
363f6603c60Sopenharmony_ci}
364f6603c60Sopenharmony_ci
365f6603c60Sopenharmony_ci/* *
366f6603c60Sopenharmony_ci * @tc.number     SUB_KERNEL_UTIL_CONVERT_ATOF_0860
367f6603c60Sopenharmony_ci * @tc.name       test atof api with digit7
368f6603c60Sopenharmony_ci * @tc.desc       [C- SOFTWARE -0200]
369f6603c60Sopenharmony_ci */
370f6603c60Sopenharmony_ciHWTEST_F(ActsUtilConvertApiTest, testAtof0860, Function | MediumTest | Level1)
371f6603c60Sopenharmony_ci{
372f6603c60Sopenharmony_ci    const char *paraChar = nullptr;
373f6603c60Sopenharmony_ci    double returnVal;
374f6603c60Sopenharmony_ci
375f6603c60Sopenharmony_ci    paraChar = "a";
376f6603c60Sopenharmony_ci    returnVal = atof(paraChar);
377f6603c60Sopenharmony_ci    LOGD("    atof c:='%s',   returnVal:='%f'/n", paraChar, returnVal);
378f6603c60Sopenharmony_ci    ASSERT_TRUE(0.000000 == returnVal) << "ErrInfo: atof  returnVal:='" << returnVal << "'";
379f6603c60Sopenharmony_ci}
380f6603c60Sopenharmony_ci
381f6603c60Sopenharmony_ci/**
382f6603c60Sopenharmony_ci* @tc.number     SUB_KERNEL_UTIL_CONVERT_ATOL_0900
383f6603c60Sopenharmony_ci* @tc.name       test atol api with string
384f6603c60Sopenharmony_ci* @tc.desc       [C- SOFTWARE -0200]
385f6603c60Sopenharmony_ci*/
386f6603c60Sopenharmony_ciHWTEST_F(ActsUtilConvertApiTest, testAtol0900, Function | MediumTest | Level1) {
387f6603c60Sopenharmony_ci    const char *paraChar = nullptr;
388f6603c60Sopenharmony_ci    long int returnVal;
389f6603c60Sopenharmony_ci
390f6603c60Sopenharmony_ci    paraChar = "abcde";
391f6603c60Sopenharmony_ci    returnVal = atol(paraChar);
392f6603c60Sopenharmony_ci    LOGD("    atol c:='%s',   returnVal:='%ld'\n", paraChar, returnVal);
393f6603c60Sopenharmony_ci    ASSERT_TRUE(0 == returnVal) << "ErrInfo: atol  returnVal:='" << returnVal << "'";
394f6603c60Sopenharmony_ci}
395f6603c60Sopenharmony_ci
396f6603c60Sopenharmony_ci/**
397f6603c60Sopenharmony_ci* @tc.number     SUB_KERNEL_UTIL_CONVERT_ATOL_1000
398f6603c60Sopenharmony_ci* @tc.name       test atol api with empty string
399f6603c60Sopenharmony_ci* @tc.desc       [C- SOFTWARE -0200]
400f6603c60Sopenharmony_ci*/
401f6603c60Sopenharmony_ciHWTEST_F(ActsUtilConvertApiTest, testAtol1000, Function | MediumTest | Level1) {
402f6603c60Sopenharmony_ci    const char *paraChar = nullptr;
403f6603c60Sopenharmony_ci    long int returnVal;
404f6603c60Sopenharmony_ci
405f6603c60Sopenharmony_ci    paraChar = "";
406f6603c60Sopenharmony_ci    returnVal = atol(paraChar);
407f6603c60Sopenharmony_ci    LOGD("    atol c:='%s',   returnVal:='%ld'\n", paraChar, returnVal);
408f6603c60Sopenharmony_ci    ASSERT_TRUE(0 == returnVal) << "ErrInfo: atol  returnVal:='" << returnVal << "'";
409f6603c60Sopenharmony_ci}
410f6603c60Sopenharmony_ci
411f6603c60Sopenharmony_ci/**
412f6603c60Sopenharmony_ci* @tc.number     SUB_KERNEL_UTIL_CONVERT_ATOL_1100
413f6603c60Sopenharmony_ci* @tc.name       test atol api with digit9
414f6603c60Sopenharmony_ci* @tc.desc       [C- SOFTWARE -0200]
415f6603c60Sopenharmony_ci*/
416f6603c60Sopenharmony_ciHWTEST_F(ActsUtilConvertApiTest, testAtol1100, Function | MediumTest | Level1) {
417f6603c60Sopenharmony_ci    const char *paraChar = nullptr;
418f6603c60Sopenharmony_ci    long int returnVal;
419f6603c60Sopenharmony_ci
420f6603c60Sopenharmony_ci    paraChar = "12345";
421f6603c60Sopenharmony_ci    returnVal = atol(paraChar);
422f6603c60Sopenharmony_ci    LOGD("    atol c:='%s',   returnVal:='%ld'\n", paraChar, returnVal);
423f6603c60Sopenharmony_ci    ASSERT_TRUE(12345 == returnVal) << "ErrInfo: atol  returnVal:='" << returnVal << "'";
424f6603c60Sopenharmony_ci}
425f6603c60Sopenharmony_ci
426f6603c60Sopenharmony_ci/* *
427f6603c60Sopenharmony_ci * @tc.number     SUB_KERNEL_UTIL_CONVERT_ATOL_0100
428f6603c60Sopenharmony_ci * @tc.name       test atol api with digit8
429f6603c60Sopenharmony_ci * @tc.desc       [C- SOFTWARE -0200]
430f6603c60Sopenharmony_ci */
431f6603c60Sopenharmony_ciHWTEST_F(ActsUtilConvertApiTest, testAtol0100, Function | MediumTest | Level1)
432f6603c60Sopenharmony_ci{
433f6603c60Sopenharmony_ci    const char *paraChar = nullptr;
434f6603c60Sopenharmony_ci    long int returnVal;
435f6603c60Sopenharmony_ci
436f6603c60Sopenharmony_ci    paraChar = "12345.111";
437f6603c60Sopenharmony_ci    returnVal = atol(paraChar);
438f6603c60Sopenharmony_ci    LOGD("    atol c:='%s',   returnVal:='%ld'/n", paraChar, returnVal);
439f6603c60Sopenharmony_ci    ASSERT_TRUE(12345 == returnVal) << "ErrInfo: atol  returnVal:='" << returnVal << "'";
440f6603c60Sopenharmony_ci}
441f6603c60Sopenharmony_ci
442f6603c60Sopenharmony_ci/* *
443f6603c60Sopenharmony_ci * @tc.number     SUB_KERNEL_UTIL_CONVERT_ATOL_0200
444f6603c60Sopenharmony_ci * @tc.name       test atol api with digit10
445f6603c60Sopenharmony_ci * @tc.desc       [C- SOFTWARE -0200]
446f6603c60Sopenharmony_ci */
447f6603c60Sopenharmony_ciHWTEST_F(ActsUtilConvertApiTest, testAtol0200, Function | MediumTest | Level1)
448f6603c60Sopenharmony_ci{
449f6603c60Sopenharmony_ci    const char *paraChar = nullptr;
450f6603c60Sopenharmony_ci    long int returnVal;
451f6603c60Sopenharmony_ci
452f6603c60Sopenharmony_ci    paraChar = "-12345";
453f6603c60Sopenharmony_ci    returnVal = atol(paraChar);
454f6603c60Sopenharmony_ci    LOGD("    atol c:='%s',   returnVal:='%ld'/n", paraChar, returnVal);
455f6603c60Sopenharmony_ci    ASSERT_TRUE(-12345 == returnVal) << "ErrInfo: atol  returnVal:='" << returnVal << "'";
456f6603c60Sopenharmony_ci}
457f6603c60Sopenharmony_ci
458f6603c60Sopenharmony_ci/**
459f6603c60Sopenharmony_ci* @tc.number     SUB_KERNEL_UTIL_CONVERT_ATOLL_1200
460f6603c60Sopenharmony_ci* @tc.name       test atoll api with string
461f6603c60Sopenharmony_ci* @tc.desc       [C- SOFTWARE -0200]
462f6603c60Sopenharmony_ci*/
463f6603c60Sopenharmony_ciHWTEST_F(ActsUtilConvertApiTest, testAtoll1200, Function | MediumTest | Level1) {
464f6603c60Sopenharmony_ci    const char *paraChar = nullptr;
465f6603c60Sopenharmony_ci    long long int returnVal;
466f6603c60Sopenharmony_ci
467f6603c60Sopenharmony_ci    paraChar = "abcde";
468f6603c60Sopenharmony_ci    returnVal = atoll(paraChar);
469f6603c60Sopenharmony_ci    LOGD("    atoll c:='%s',   returnVal:='%lld'\n", paraChar, returnVal);
470f6603c60Sopenharmony_ci    ASSERT_TRUE(0 == returnVal) << "ErrInfo: atoll  returnVal:='" << returnVal << "'";
471f6603c60Sopenharmony_ci}
472f6603c60Sopenharmony_ci
473f6603c60Sopenharmony_ci/**
474f6603c60Sopenharmony_ci* @tc.number     SUB_KERNEL_UTIL_CONVERT_ATOLL_1300
475f6603c60Sopenharmony_ci* @tc.name       test atoll api with empty string
476f6603c60Sopenharmony_ci* @tc.desc       [C- SOFTWARE -0200]
477f6603c60Sopenharmony_ci*/
478f6603c60Sopenharmony_ciHWTEST_F(ActsUtilConvertApiTest, testAtoll1300, Function | MediumTest | Level1) {
479f6603c60Sopenharmony_ci    const char *paraChar = nullptr;
480f6603c60Sopenharmony_ci    long long int returnVal;
481f6603c60Sopenharmony_ci
482f6603c60Sopenharmony_ci    paraChar = "";
483f6603c60Sopenharmony_ci    returnVal = atoll(paraChar);
484f6603c60Sopenharmony_ci    LOGD("    atoll c:='%s',   returnVal:='%lld'\n", paraChar, returnVal);
485f6603c60Sopenharmony_ci    ASSERT_TRUE(0 == returnVal) << "ErrInfo: atoll  returnVal:='" << returnVal << "'";
486f6603c60Sopenharmony_ci}
487f6603c60Sopenharmony_ci
488f6603c60Sopenharmony_ci/**
489f6603c60Sopenharmony_ci* @tc.number     SUB_KERNEL_UTIL_CONVERT_ATOLL_1400
490f6603c60Sopenharmony_ci* @tc.name       test atoll api with digit
491f6603c60Sopenharmony_ci* @tc.desc       [C- SOFTWARE -0200]
492f6603c60Sopenharmony_ci*/
493f6603c60Sopenharmony_ciHWTEST_F(ActsUtilConvertApiTest, testAtoll1400, Function | MediumTest | Level1) {
494f6603c60Sopenharmony_ci    const char *paraChar = nullptr;
495f6603c60Sopenharmony_ci    long long int returnVal;
496f6603c60Sopenharmony_ci
497f6603c60Sopenharmony_ci    paraChar = "1234567890";
498f6603c60Sopenharmony_ci    returnVal = atoll(paraChar);
499f6603c60Sopenharmony_ci    LOGD("    atoll c:='%s',   returnVal:='%lld'\n", paraChar, returnVal);
500f6603c60Sopenharmony_ci    ASSERT_TRUE(1234567890 == returnVal) << "ErrInfo: atoll  returnVal:='" << returnVal << "'";
501f6603c60Sopenharmony_ci}
502f6603c60Sopenharmony_ci
503f6603c60Sopenharmony_ci/**
504f6603c60Sopenharmony_ci* @tc.number     SUB_KERNEL_UTIL_CONVERT_ECVT_1500
505f6603c60Sopenharmony_ci* @tc.name       test ecvt api with decimal double
506f6603c60Sopenharmony_ci* @tc.desc       [C- SOFTWARE -0200]
507f6603c60Sopenharmony_ci*/
508f6603c60Sopenharmony_ciHWTEST_F(ActsUtilConvertApiTest, testEcvt1500, Function | MediumTest | Level1) {
509f6603c60Sopenharmony_ci    char *returnVal = nullptr;
510f6603c60Sopenharmony_ci    double paraValue;
511f6603c60Sopenharmony_ci    int digitCount;
512f6603c60Sopenharmony_ci    int paraDec;
513f6603c60Sopenharmony_ci    int paraSign;
514f6603c60Sopenharmony_ci
515f6603c60Sopenharmony_ci    paraValue = 12345.6789;
516f6603c60Sopenharmony_ci    digitCount = 10;
517f6603c60Sopenharmony_ci    returnVal = ecvt(paraValue, digitCount, &paraDec, &paraSign);
518f6603c60Sopenharmony_ci    LOGD("    ecvt  paraValue:='%f',  digitCount:='%d',  paraDec = '%d',  paraSign = '%d',  returnVal:='%s'\n",
519f6603c60Sopenharmony_ci        paraValue, digitCount, paraDec, paraSign, returnVal);
520f6603c60Sopenharmony_ci    ASSERT_TRUE(strcmp(returnVal, "1234567890") == 0 && paraSign == 0 && paraDec == 5) <<
521f6603c60Sopenharmony_ci        "ErrInfo: ecvt returnVal:='" << returnVal << "',  paraDec:='" << paraDec << "', paraSign:='" << paraSign << "'";
522f6603c60Sopenharmony_ci}
523f6603c60Sopenharmony_ci
524f6603c60Sopenharmony_ci/**
525f6603c60Sopenharmony_ci* @tc.number     SUB_KERNEL_UTIL_CONVERT_ECVT_1600
526f6603c60Sopenharmony_ci* @tc.name       test ecvt api with exponent double2
527f6603c60Sopenharmony_ci* @tc.desc       [C- SOFTWARE -0200]
528f6603c60Sopenharmony_ci*/
529f6603c60Sopenharmony_ciHWTEST_F(ActsUtilConvertApiTest, testEcvt1600, Function | MediumTest | Level1) {
530f6603c60Sopenharmony_ci    char *returnVal = nullptr;
531f6603c60Sopenharmony_ci    double paraValue;
532f6603c60Sopenharmony_ci    int digitCount;
533f6603c60Sopenharmony_ci    int paraDec;
534f6603c60Sopenharmony_ci    int paraSign;
535f6603c60Sopenharmony_ci
536f6603c60Sopenharmony_ci    paraValue = -0.123e4;
537f6603c60Sopenharmony_ci    digitCount = 5;
538f6603c60Sopenharmony_ci    returnVal = ecvt(paraValue, digitCount, &paraDec, &paraSign);
539f6603c60Sopenharmony_ci    LOGD("    ecvt  paraValue:='%d',  digitCount:='%d',  paraDec = '%d',  paraSign = '%d',  returnVal:='%s'\n",
540f6603c60Sopenharmony_ci        paraValue, digitCount, returnVal, paraDec, paraSign);
541f6603c60Sopenharmony_ci    ASSERT_TRUE(strcmp(returnVal, "12300") == 0 && paraSign == 1 && paraDec != 0) <<
542f6603c60Sopenharmony_ci        "ErrInfo: ecvt returnVal:='" << returnVal << "',  paraDec:='" << paraDec << "', paraSign:='" << paraSign << "'";
543f6603c60Sopenharmony_ci}
544f6603c60Sopenharmony_ci
545f6603c60Sopenharmony_ci/* *
546f6603c60Sopenharmony_ci * @tc.number     SUB_KERNEL_UTIL_CONVERT_ECVT_1610
547f6603c60Sopenharmony_ci * @tc.name       test ecvt api with exponent double1
548f6603c60Sopenharmony_ci * @tc.desc       [C- SOFTWARE -0200]
549f6603c60Sopenharmony_ci */
550f6603c60Sopenharmony_ciHWTEST_F(ActsUtilConvertApiTest, testEcvt1610, Function | MediumTest | Level1)
551f6603c60Sopenharmony_ci{
552f6603c60Sopenharmony_ci    int dec, sign;
553f6603c60Sopenharmony_ci    char *returnVal;
554f6603c60Sopenharmony_ci
555f6603c60Sopenharmony_ci    double paraValue = 3.1415926385;
556f6603c60Sopenharmony_ci    int precision = 10;
557f6603c60Sopenharmony_ci
558f6603c60Sopenharmony_ci    returnVal = ecvt(paraValue, precision, &dec, &sign);
559f6603c60Sopenharmony_ci    LOGD("    ecvt  paraValue:='%f',  precision:='%d',  dec = '%d',  sign = '%d',  returnVal:='%s'/n", paraValue,
560f6603c60Sopenharmony_ci        precision, dec, sign, returnVal);
561f6603c60Sopenharmony_ci    ASSERT_TRUE(strcmp(returnVal, "3141592639") == 0 && dec == 1 && sign == 0) << "ErrInfo: ecvt returnVal:='" <<
562f6603c60Sopenharmony_ci        returnVal << "',  dec:='" << dec << "', sign:='" << sign << "'";
563f6603c60Sopenharmony_ci}
564f6603c60Sopenharmony_ci
565f6603c60Sopenharmony_ci/* *
566f6603c60Sopenharmony_ci * @tc.number     SUB_KERNEL_UTIL_CONVERT_ECVT_1630
567f6603c60Sopenharmony_ci * @tc.name       test ecvt api with exponent double3
568f6603c60Sopenharmony_ci * @tc.desc       [C- SOFTWARE -0200]
569f6603c60Sopenharmony_ci */
570f6603c60Sopenharmony_ciHWTEST_F(ActsUtilConvertApiTest, testEcvt1630, Function | MediumTest | Level1)
571f6603c60Sopenharmony_ci{
572f6603c60Sopenharmony_ci    int dec, sign;
573f6603c60Sopenharmony_ci    char *returnVal;
574f6603c60Sopenharmony_ci
575f6603c60Sopenharmony_ci    double paraValue = 0.0;
576f6603c60Sopenharmony_ci    int precision = 10;
577f6603c60Sopenharmony_ci
578f6603c60Sopenharmony_ci    returnVal = ecvt(paraValue, precision, &dec, &sign);
579f6603c60Sopenharmony_ci    LOGD("    ecvt  paraValue:='%f',  precision:='%d',  dec = '%d',  sign = '%d',  returnVal:='%s'/n", paraValue,
580f6603c60Sopenharmony_ci        precision, dec, sign, returnVal);
581f6603c60Sopenharmony_ci    ASSERT_TRUE(strcmp(returnVal, "0000000000") == 0 && dec == 1 && sign == 0) << "ErrInfo: ecvt returnVal:='" <<
582f6603c60Sopenharmony_ci        returnVal << "',  dec:='" << dec << "', sign:='" << sign << "'";
583f6603c60Sopenharmony_ci}
584f6603c60Sopenharmony_ci
585f6603c60Sopenharmony_ci/**
586f6603c60Sopenharmony_ci* @tc.number     SUB_KERNEL_UTIL_CONVERT_TOASCII_1700
587f6603c60Sopenharmony_ci* @tc.name       test toascii api with digit
588f6603c60Sopenharmony_ci* @tc.desc       [C- SOFTWARE -0200]
589f6603c60Sopenharmony_ci*/
590f6603c60Sopenharmony_ciHWTEST_F(ActsUtilConvertApiTest, testToascii1700, Function | MediumTest | Level1) {
591f6603c60Sopenharmony_ci    char paraVal;
592f6603c60Sopenharmony_ci    int returnVal;
593f6603c60Sopenharmony_ci
594f6603c60Sopenharmony_ci    paraVal = 225;
595f6603c60Sopenharmony_ci    returnVal = toascii(paraVal);
596f6603c60Sopenharmony_ci    LOGD("    toascii returnVal:='%d'\n", returnVal);
597f6603c60Sopenharmony_ci    ASSERT_TRUE(97 == returnVal) << "ErrInfo: toascii  returnVal:='" << returnVal << "'";
598f6603c60Sopenharmony_ci}
599f6603c60Sopenharmony_ci
600f6603c60Sopenharmony_ci/**
601f6603c60Sopenharmony_ci* @tc.number     SUB_KERNEL_UTIL_CONVERT_TOLOWER_1800
602f6603c60Sopenharmony_ci* @tc.name       test tolower api with upper alpha
603f6603c60Sopenharmony_ci* @tc.desc       [C- SOFTWARE -0200]
604f6603c60Sopenharmony_ci*/
605f6603c60Sopenharmony_ciHWTEST_F(ActsUtilConvertApiTest, testTolower1800, Function | MediumTest | Level1) {
606f6603c60Sopenharmony_ci    char paraVal;
607f6603c60Sopenharmony_ci    int returnVal;
608f6603c60Sopenharmony_ci
609f6603c60Sopenharmony_ci    paraVal = 'A';
610f6603c60Sopenharmony_ci    returnVal = tolower(paraVal);
611f6603c60Sopenharmony_ci    LOGD("    tolower returnVal:='%d'\n", returnVal);
612f6603c60Sopenharmony_ci    ASSERT_TRUE('a' == returnVal) << "ErrInfo: tolower  returnVal:='" << returnVal << "'";
613f6603c60Sopenharmony_ci}
614f6603c60Sopenharmony_ci
615f6603c60Sopenharmony_ci/**
616f6603c60Sopenharmony_ci* @tc.number     SUB_KERNEL_UTIL_CONVERT_TOLOWER_1900
617f6603c60Sopenharmony_ci* @tc.name       test tolower api with lower alpha
618f6603c60Sopenharmony_ci* @tc.desc       [C- SOFTWARE -0200]
619f6603c60Sopenharmony_ci*/
620f6603c60Sopenharmony_ciHWTEST_F(ActsUtilConvertApiTest, testTolower1900, Function | MediumTest | Level1) {
621f6603c60Sopenharmony_ci    char paraVal;
622f6603c60Sopenharmony_ci    int returnVal;
623f6603c60Sopenharmony_ci
624f6603c60Sopenharmony_ci    paraVal = 'a';
625f6603c60Sopenharmony_ci    returnVal = tolower(paraVal);
626f6603c60Sopenharmony_ci    LOGD("    tolower returnVal:='%d'\n", returnVal);
627f6603c60Sopenharmony_ci    ASSERT_TRUE('a' == returnVal) << "ErrInfo: tolower  returnVal:='" << returnVal << "'";
628f6603c60Sopenharmony_ci}
629f6603c60Sopenharmony_ci
630f6603c60Sopenharmony_ci/**
631f6603c60Sopenharmony_ci* @tc.number     SUB_KERNEL_UTIL_CONVERT_TOLOWER_L_2000
632f6603c60Sopenharmony_ci* @tc.name       test tolower_l api with upper alpha
633f6603c60Sopenharmony_ci* @tc.desc       [C- SOFTWARE -0200]
634f6603c60Sopenharmony_ci*/
635f6603c60Sopenharmony_ciHWTEST_F(ActsUtilConvertApiTest, testTolowerL2000, Function | MediumTest | Level1) {
636f6603c60Sopenharmony_ci    char paraVal;
637f6603c60Sopenharmony_ci    int returnVal;
638f6603c60Sopenharmony_ci
639f6603c60Sopenharmony_ci    paraVal = 'A';
640f6603c60Sopenharmony_ci    returnVal = tolower_l(paraVal, g_aucaNewloc);
641f6603c60Sopenharmony_ci    LOGD("    tolower_l returnVal:='%d'\n", returnVal);
642f6603c60Sopenharmony_ci    ASSERT_TRUE('a' == returnVal) << "ErrInfo: tolower_l  returnVal:='" << returnVal << "'";
643f6603c60Sopenharmony_ci}
644f6603c60Sopenharmony_ci
645f6603c60Sopenharmony_ci/**
646f6603c60Sopenharmony_ci* @tc.number     SUB_KERNEL_UTIL_CONVERT_TOLOWER_L_2100
647f6603c60Sopenharmony_ci* @tc.name       test tolower_l api with lower alpha
648f6603c60Sopenharmony_ci* @tc.desc       [C- SOFTWARE -0200]
649f6603c60Sopenharmony_ci*/
650f6603c60Sopenharmony_ciHWTEST_F(ActsUtilConvertApiTest, testTolowerL2100, Function | MediumTest | Level1) {
651f6603c60Sopenharmony_ci    char paraVal;
652f6603c60Sopenharmony_ci    int returnVal;
653f6603c60Sopenharmony_ci
654f6603c60Sopenharmony_ci    paraVal = 'a';
655f6603c60Sopenharmony_ci    returnVal = tolower_l(paraVal, g_aucaNewloc);
656f6603c60Sopenharmony_ci    LOGD("    tolower_l returnVal:='%d'\n", returnVal);
657f6603c60Sopenharmony_ci    ASSERT_TRUE('a' == returnVal) << "ErrInfo: tolower_l  returnVal:='" << returnVal << "'";
658f6603c60Sopenharmony_ci}
659f6603c60Sopenharmony_ci
660f6603c60Sopenharmony_ci/**
661f6603c60Sopenharmony_ci* @tc.number     SUB_KERNEL_UTIL_CONVERT_TOUPPER_2200
662f6603c60Sopenharmony_ci* @tc.name       test toupper api with upper alpha
663f6603c60Sopenharmony_ci* @tc.desc       [C- SOFTWARE -0200]
664f6603c60Sopenharmony_ci*/
665f6603c60Sopenharmony_ciHWTEST_F(ActsUtilConvertApiTest, testToupper2200, Function | MediumTest | Level1) {
666f6603c60Sopenharmony_ci    char paraVal;
667f6603c60Sopenharmony_ci    int returnVal;
668f6603c60Sopenharmony_ci
669f6603c60Sopenharmony_ci    paraVal = 'A';
670f6603c60Sopenharmony_ci    returnVal = toupper(paraVal);
671f6603c60Sopenharmony_ci    LOGD("    toupper returnVal:='%d'\n", returnVal);
672f6603c60Sopenharmony_ci    ASSERT_TRUE('A' == returnVal) << "ErrInfo: toupper  returnVal:='" << returnVal << "'";
673f6603c60Sopenharmony_ci}
674f6603c60Sopenharmony_ci
675f6603c60Sopenharmony_ci/**
676f6603c60Sopenharmony_ci* @tc.number     SUB_KERNEL_UTIL_CONVERT_TOUPPER_2300
677f6603c60Sopenharmony_ci* @tc.name       test toupper api with lower alpha
678f6603c60Sopenharmony_ci* @tc.desc       [C- SOFTWARE -0200]
679f6603c60Sopenharmony_ci*/
680f6603c60Sopenharmony_ciHWTEST_F(ActsUtilConvertApiTest, testToupper2300, Function | MediumTest | Level1) {
681f6603c60Sopenharmony_ci    char paraVal;
682f6603c60Sopenharmony_ci    int returnVal;
683f6603c60Sopenharmony_ci
684f6603c60Sopenharmony_ci    paraVal = 'a';
685f6603c60Sopenharmony_ci    returnVal = toupper(paraVal);
686f6603c60Sopenharmony_ci    LOGD("    toupper returnVal:='%d'\n", returnVal);
687f6603c60Sopenharmony_ci    ASSERT_TRUE('A' == returnVal) << "ErrInfo: toupper  returnVal:='" << returnVal << "'";
688f6603c60Sopenharmony_ci}
689f6603c60Sopenharmony_ci
690f6603c60Sopenharmony_ci/**
691f6603c60Sopenharmony_ci* @tc.number     SUB_KERNEL_UTIL_CONVERT_TOUPPER_L_2400
692f6603c60Sopenharmony_ci* @tc.name       test toupper_l api with upper alpha
693f6603c60Sopenharmony_ci* @tc.desc       [C- SOFTWARE -0200]
694f6603c60Sopenharmony_ci*/
695f6603c60Sopenharmony_ciHWTEST_F(ActsUtilConvertApiTest, testToupperL2400, Function | MediumTest | Level1) {
696f6603c60Sopenharmony_ci    char paraVal;
697f6603c60Sopenharmony_ci    int returnVal;
698f6603c60Sopenharmony_ci
699f6603c60Sopenharmony_ci    paraVal = 'A';
700f6603c60Sopenharmony_ci    returnVal = toupper_l(paraVal, g_aucaNewloc);
701f6603c60Sopenharmony_ci    LOGD("    toupper_l returnVal:='%d'\n", returnVal);
702f6603c60Sopenharmony_ci    ASSERT_TRUE('A' == returnVal) << "ErrInfo: toupper_l  returnVal:='" << returnVal << "'";
703f6603c60Sopenharmony_ci}
704f6603c60Sopenharmony_ci
705f6603c60Sopenharmony_ci/**
706f6603c60Sopenharmony_ci* @tc.number     SUB_KERNEL_UTIL_CONVERT_TOUPPER_L_2500
707f6603c60Sopenharmony_ci* @tc.name       test toupper_l api with lower alpha
708f6603c60Sopenharmony_ci* @tc.desc       [C- SOFTWARE -0200]
709f6603c60Sopenharmony_ci*/
710f6603c60Sopenharmony_ciHWTEST_F(ActsUtilConvertApiTest, testToupperL2500, Function | MediumTest | Level1) {
711f6603c60Sopenharmony_ci    char paraVal;
712f6603c60Sopenharmony_ci    int returnVal;
713f6603c60Sopenharmony_ci
714f6603c60Sopenharmony_ci    paraVal = 'a';
715f6603c60Sopenharmony_ci    returnVal = toupper_l(paraVal, g_aucaNewloc);
716f6603c60Sopenharmony_ci    LOGD("    toupper_l returnVal:='%d'\n", returnVal);
717f6603c60Sopenharmony_ci    ASSERT_TRUE('A' == returnVal) << "ErrInfo: toupper_l  returnVal:='" << returnVal << "'";
718f6603c60Sopenharmony_ci}
719f6603c60Sopenharmony_ci
720f6603c60Sopenharmony_ci/**
721f6603c60Sopenharmony_ci* @tc.number     SUB_KERNEL_UTIL_CONVERT_L64A_2600
722f6603c60Sopenharmony_ci* @tc.name       test l64a api with zero
723f6603c60Sopenharmony_ci* @tc.desc       [C- SOFTWARE -0200]
724f6603c60Sopenharmony_ci*/
725f6603c60Sopenharmony_ciHWTEST_F(ActsUtilConvertApiTest, testL64a2600, Function | MediumTest | Level1) {
726f6603c60Sopenharmony_ci    long paraVal;
727f6603c60Sopenharmony_ci    char *returnVal;
728f6603c60Sopenharmony_ci
729f6603c60Sopenharmony_ci    paraVal = 0;
730f6603c60Sopenharmony_ci    returnVal = l64a(paraVal);
731f6603c60Sopenharmony_ci    LOGD("    l64a returnVal:='%s'\n", returnVal);
732f6603c60Sopenharmony_ci    ASSERT_TRUE(strcmp("", returnVal) == 0) << "ErrInfo: l64a  returnVal:='" << returnVal << "'";
733f6603c60Sopenharmony_ci}
734f6603c60Sopenharmony_ci
735f6603c60Sopenharmony_ci/**
736f6603c60Sopenharmony_ci* @tc.number     SUB_KERNEL_UTIL_CONVERT_L64A_2700
737f6603c60Sopenharmony_ci* @tc.name       test l64a api with decimal
738f6603c60Sopenharmony_ci* @tc.desc       [C- SOFTWARE -0200]
739f6603c60Sopenharmony_ci*/
740f6603c60Sopenharmony_ciHWTEST_F(ActsUtilConvertApiTest, testL64a2700, Function | MediumTest | Level1) {
741f6603c60Sopenharmony_ci    long paraVal;
742f6603c60Sopenharmony_ci    char *returnVal;
743f6603c60Sopenharmony_ci
744f6603c60Sopenharmony_ci    paraVal = 12345;
745f6603c60Sopenharmony_ci    returnVal = l64a(paraVal);
746f6603c60Sopenharmony_ci    LOGD("    l64a returnVal:='%s'\n", returnVal);
747f6603c60Sopenharmony_ci    ASSERT_TRUE(strcmp("t.1", returnVal) == 0) << "ErrInfo: l64a  returnVal:='" << returnVal << "'";
748f6603c60Sopenharmony_ci}
749f6603c60Sopenharmony_ci
750f6603c60Sopenharmony_ci/**
751f6603c60Sopenharmony_ci* @tc.number     SUB_KERNEL_UTIL_CONVERT_TOWLOWER_2800
752f6603c60Sopenharmony_ci* @tc.name       test towlower api with upper alpha
753f6603c60Sopenharmony_ci* @tc.desc       [C- SOFTWARE -0200]
754f6603c60Sopenharmony_ci*/
755f6603c60Sopenharmony_ciHWTEST_F(ActsUtilConvertApiTest, testTowlower2800, Function | MediumTest | Level1) {
756f6603c60Sopenharmony_ci    wint_t wideChar;
757f6603c60Sopenharmony_ci    wint_t returnVal;
758f6603c60Sopenharmony_ci
759f6603c60Sopenharmony_ci    wideChar = 'A';
760f6603c60Sopenharmony_ci    returnVal = towlower(wideChar);
761f6603c60Sopenharmony_ci    LOGD("    towlower returnVal:='%c'\n", returnVal);
762f6603c60Sopenharmony_ci    ASSERT_TRUE('a' == returnVal) << "ErrInfo: towlower  returnVal:='" << returnVal << "'";
763f6603c60Sopenharmony_ci}
764f6603c60Sopenharmony_ci
765f6603c60Sopenharmony_ci/**
766f6603c60Sopenharmony_ci* @tc.number     SUB_KERNEL_UTIL_CONVERT_TOWLOWER_2900
767f6603c60Sopenharmony_ci* @tc.name       test towlower api with lower alpha
768f6603c60Sopenharmony_ci* @tc.desc       [C- SOFTWARE -0200]
769f6603c60Sopenharmony_ci*/
770f6603c60Sopenharmony_ciHWTEST_F(ActsUtilConvertApiTest, testTowlower2900, Function | MediumTest | Level1) {
771f6603c60Sopenharmony_ci    wint_t wideChar;
772f6603c60Sopenharmony_ci    wint_t returnVal;
773f6603c60Sopenharmony_ci
774f6603c60Sopenharmony_ci    wideChar = 'a';
775f6603c60Sopenharmony_ci    returnVal = towlower(wideChar);
776f6603c60Sopenharmony_ci    LOGD("    towlower returnVal:='%c'\n", returnVal);
777f6603c60Sopenharmony_ci    ASSERT_TRUE('a' == returnVal) << "ErrInfo: towlower  returnVal:='" << returnVal << "'";
778f6603c60Sopenharmony_ci}
779f6603c60Sopenharmony_ci
780f6603c60Sopenharmony_ci/**
781f6603c60Sopenharmony_ci* @tc.number     SUB_KERNEL_UTIL_CONVERT_TOWLOWER_L_3000
782f6603c60Sopenharmony_ci* @tc.name       test towlower_l api with upper alpha
783f6603c60Sopenharmony_ci* @tc.desc       [C- SOFTWARE -0200]
784f6603c60Sopenharmony_ci*/
785f6603c60Sopenharmony_ciHWTEST_F(ActsUtilConvertApiTest, testTowlowerL3000, Function | MediumTest | Level1) {
786f6603c60Sopenharmony_ci    wint_t wideChar;
787f6603c60Sopenharmony_ci    wint_t returnVal;
788f6603c60Sopenharmony_ci
789f6603c60Sopenharmony_ci    wideChar = 'A';
790f6603c60Sopenharmony_ci    returnVal = towlower_l(wideChar, g_aucaNewloc);
791f6603c60Sopenharmony_ci    LOGD("    towlower_l returnVal:='%c'\n", returnVal);
792f6603c60Sopenharmony_ci    ASSERT_TRUE('a' == returnVal) << "ErrInfo: towlower_l  returnVal:='" << returnVal << "'";
793f6603c60Sopenharmony_ci}
794f6603c60Sopenharmony_ci
795f6603c60Sopenharmony_ci/**
796f6603c60Sopenharmony_ci* @tc.number     SUB_KERNEL_UTIL_CONVERT_TOWLOWER_L_3100
797f6603c60Sopenharmony_ci* @tc.name       test towlower_l api with lower alpha
798f6603c60Sopenharmony_ci* @tc.desc       [C- SOFTWARE -0200]
799f6603c60Sopenharmony_ci*/
800f6603c60Sopenharmony_ciHWTEST_F(ActsUtilConvertApiTest, testTowlowerL3100, Function | MediumTest | Level1) {
801f6603c60Sopenharmony_ci    wint_t wideChar;
802f6603c60Sopenharmony_ci    wint_t returnVal;
803f6603c60Sopenharmony_ci
804f6603c60Sopenharmony_ci    wideChar = 'a';
805f6603c60Sopenharmony_ci    returnVal = towlower_l(wideChar, g_aucaNewloc);
806f6603c60Sopenharmony_ci    LOGD("    towlower_l returnVal:='%c'\n", returnVal);
807f6603c60Sopenharmony_ci    ASSERT_TRUE('a' == returnVal) << "ErrInfo: towlower_l  returnVal:='" << returnVal << "'";
808f6603c60Sopenharmony_ci}
809f6603c60Sopenharmony_ci
810f6603c60Sopenharmony_ci/**
811f6603c60Sopenharmony_ci* @tc.number     SUB_KERNEL_UTIL_CONVERT_TOWUPPER_3200
812f6603c60Sopenharmony_ci* @tc.name       test towupper api with upper alpha
813f6603c60Sopenharmony_ci* @tc.desc       [C- SOFTWARE -0200]
814f6603c60Sopenharmony_ci*/
815f6603c60Sopenharmony_ciHWTEST_F(ActsUtilConvertApiTest, testTowupper3200, Function | MediumTest | Level1) {
816f6603c60Sopenharmony_ci    wint_t wideChar;
817f6603c60Sopenharmony_ci    wint_t returnVal;
818f6603c60Sopenharmony_ci
819f6603c60Sopenharmony_ci    wideChar = 'A';
820f6603c60Sopenharmony_ci    returnVal = towupper(wideChar);
821f6603c60Sopenharmony_ci    LOGD("    towupper returnVal:='%c'\n", returnVal);
822f6603c60Sopenharmony_ci    ASSERT_TRUE('A' == returnVal) << "ErrInfo: towupper  returnVal:='" << returnVal << "'";
823f6603c60Sopenharmony_ci}
824f6603c60Sopenharmony_ci
825f6603c60Sopenharmony_ci/**
826f6603c60Sopenharmony_ci* @tc.number     SUB_KERNEL_UTIL_CONVERT_TOWUPPER_3300
827f6603c60Sopenharmony_ci* @tc.name       test towupper api with lower alpha
828f6603c60Sopenharmony_ci* @tc.desc       [C- SOFTWARE -0200]
829f6603c60Sopenharmony_ci*/
830f6603c60Sopenharmony_ciHWTEST_F(ActsUtilConvertApiTest, testTowupper3300, Function | MediumTest | Level1) {
831f6603c60Sopenharmony_ci    wint_t wideChar;
832f6603c60Sopenharmony_ci    wint_t returnVal;
833f6603c60Sopenharmony_ci
834f6603c60Sopenharmony_ci    wideChar = 'a';
835f6603c60Sopenharmony_ci    returnVal = towupper(wideChar);
836f6603c60Sopenharmony_ci    LOGD("    towupper returnVal:='%c'\n", returnVal);
837f6603c60Sopenharmony_ci    ASSERT_TRUE('A' == returnVal) << "ErrInfo: towupper  returnVal:='" << returnVal << "'";
838f6603c60Sopenharmony_ci}
839f6603c60Sopenharmony_ci
840f6603c60Sopenharmony_ci/**
841f6603c60Sopenharmony_ci* @tc.number     SUB_KERNEL_UTIL_CONVERT_TOWUPPER_L_3400
842f6603c60Sopenharmony_ci* @tc.name       test towupper_l api with upper alpha
843f6603c60Sopenharmony_ci* @tc.desc       [C- SOFTWARE -0200]
844f6603c60Sopenharmony_ci*/
845f6603c60Sopenharmony_ciHWTEST_F(ActsUtilConvertApiTest, testTowupperL3400, Function | MediumTest | Level1) {
846f6603c60Sopenharmony_ci    wint_t wideChar;
847f6603c60Sopenharmony_ci    wint_t returnVal;
848f6603c60Sopenharmony_ci
849f6603c60Sopenharmony_ci    wideChar = 'A';
850f6603c60Sopenharmony_ci    returnVal = towupper_l(wideChar, g_aucaNewloc);
851f6603c60Sopenharmony_ci    LOGD("    towupper_l returnVal:='%c'\n", returnVal);
852f6603c60Sopenharmony_ci    ASSERT_TRUE('A' == returnVal) << "ErrInfo: towupper_l  returnVal:='" << returnVal << "'";
853f6603c60Sopenharmony_ci}
854f6603c60Sopenharmony_ci
855f6603c60Sopenharmony_ci/**
856f6603c60Sopenharmony_ci* @tc.number     SUB_KERNEL_UTIL_CONVERT_TOWUPPER_L_3500
857f6603c60Sopenharmony_ci* @tc.name       test towupper_l api with lower alpha
858f6603c60Sopenharmony_ci* @tc.desc       [C- SOFTWARE -0200]
859f6603c60Sopenharmony_ci*/
860f6603c60Sopenharmony_ciHWTEST_F(ActsUtilConvertApiTest, testTowupperL3500, Function | MediumTest | Level1) {
861f6603c60Sopenharmony_ci    wint_t wideChar;
862f6603c60Sopenharmony_ci    wint_t returnVal;
863f6603c60Sopenharmony_ci
864f6603c60Sopenharmony_ci    wideChar = 'a';
865f6603c60Sopenharmony_ci    returnVal = towupper_l(wideChar, g_aucaNewloc);
866f6603c60Sopenharmony_ci    LOGD("    towupper_l returnVal:='%c'\n", returnVal);
867f6603c60Sopenharmony_ci    ASSERT_TRUE('A' == returnVal) << "ErrInfo: towupper_l  returnVal:='" << returnVal << "'";
868f6603c60Sopenharmony_ci}
869f6603c60Sopenharmony_ci
870f6603c60Sopenharmony_ci/**
871f6603c60Sopenharmony_ci* @tc.number     SUB_KERNEL_UTIL_CONVERT_MBTOWC_3600
872f6603c60Sopenharmony_ci* @tc.name       test mbtowc api with alpha
873f6603c60Sopenharmony_ci* @tc.desc       [C- SOFTWARE -0200]
874f6603c60Sopenharmony_ci*/
875f6603c60Sopenharmony_ciHWTEST_F(ActsUtilConvertApiTest, testMbtowc3600, Function | MediumTest | Level1) {
876f6603c60Sopenharmony_ci    wchar_t wideChar;
877f6603c60Sopenharmony_ci    const char *paraStr = "a";
878f6603c60Sopenharmony_ci    size_t sizeVal;
879f6603c60Sopenharmony_ci    int returnVal;
880f6603c60Sopenharmony_ci
881f6603c60Sopenharmony_ci    wideChar = 'a';
882f6603c60Sopenharmony_ci    sizeVal = 1;
883f6603c60Sopenharmony_ci    returnVal = mbtowc(&wideChar, paraStr, sizeVal);
884f6603c60Sopenharmony_ci    LOGD("    mbtowc returnVal:='%d'\n", returnVal);
885f6603c60Sopenharmony_ci    ASSERT_TRUE(1 == returnVal && L'a' == wideChar) << "ErrInfo: mbtowc  returnVal:='" << returnVal << "'";
886f6603c60Sopenharmony_ci}
887f6603c60Sopenharmony_ci
888f6603c60Sopenharmony_ci/**
889f6603c60Sopenharmony_ci* @tc.number     SUB_KERNEL_UTIL_CONVERT_TOWCTRANS_3700
890f6603c60Sopenharmony_ci* @tc.name       test towctrans api with WEOF
891f6603c60Sopenharmony_ci* @tc.desc       [C- SOFTWARE -0200]
892f6603c60Sopenharmony_ci*/
893f6603c60Sopenharmony_ciHWTEST_F(ActsUtilConvertApiTest, testTowctrans3700, Function | MediumTest | Level1) {
894f6603c60Sopenharmony_ci    wint_t wideChar;
895f6603c60Sopenharmony_ci    wctrans_t paraDesc;
896f6603c60Sopenharmony_ci    wint_t returnVal;
897f6603c60Sopenharmony_ci
898f6603c60Sopenharmony_ci    wideChar = WEOF;
899f6603c60Sopenharmony_ci    paraDesc = wctrans("tolower");
900f6603c60Sopenharmony_ci    returnVal = towctrans(wideChar, paraDesc);
901f6603c60Sopenharmony_ci    LOGD("    towctrans returnVal:='%d'\n", returnVal);
902f6603c60Sopenharmony_ci    ASSERT_TRUE(WEOF == returnVal) << "ErrInfo: towctrans  returnVal:='" << returnVal << "'";
903f6603c60Sopenharmony_ci}
904f6603c60Sopenharmony_ci
905f6603c60Sopenharmony_ci/**
906f6603c60Sopenharmony_ci* @tc.number     SUB_KERNEL_UTIL_CONVERT_TOWCTRANS_3800
907f6603c60Sopenharmony_ci* @tc.name       test towctrans api with upper alpha
908f6603c60Sopenharmony_ci* @tc.desc       [C- SOFTWARE -0200]
909f6603c60Sopenharmony_ci*/
910f6603c60Sopenharmony_ciHWTEST_F(ActsUtilConvertApiTest, testTowctrans3800, Function | MediumTest | Level1) {
911f6603c60Sopenharmony_ci    wint_t wideChar;
912f6603c60Sopenharmony_ci    wctrans_t paraDesc;
913f6603c60Sopenharmony_ci    wint_t returnVal;
914f6603c60Sopenharmony_ci
915f6603c60Sopenharmony_ci    wideChar = L'A';
916f6603c60Sopenharmony_ci    paraDesc = wctrans("tolower");
917f6603c60Sopenharmony_ci    returnVal = towctrans(wideChar, paraDesc);
918f6603c60Sopenharmony_ci    LOGD("    towctrans returnVal:='%d'\n", returnVal);
919f6603c60Sopenharmony_ci    ASSERT_TRUE('a' == returnVal) << "ErrInfo: towctrans  returnVal:='" << returnVal << "'";
920f6603c60Sopenharmony_ci}
921f6603c60Sopenharmony_ci
922f6603c60Sopenharmony_ci/**
923f6603c60Sopenharmony_ci* @tc.number     SUB_KERNEL_UTIL_CONVERT_TOWCTRANS_3900
924f6603c60Sopenharmony_ci* @tc.name       test towctrans api with lower alpha
925f6603c60Sopenharmony_ci* @tc.desc       [C- SOFTWARE -0200]
926f6603c60Sopenharmony_ci*/
927f6603c60Sopenharmony_ciHWTEST_F(ActsUtilConvertApiTest, testTowctrans3900, Function | MediumTest | Level1) {
928f6603c60Sopenharmony_ci    wint_t wideChar;
929f6603c60Sopenharmony_ci    wctrans_t paraDesc;
930f6603c60Sopenharmony_ci    wint_t returnVal;
931f6603c60Sopenharmony_ci
932f6603c60Sopenharmony_ci    wideChar = L'a';
933f6603c60Sopenharmony_ci    paraDesc = wctrans("toupper");
934f6603c60Sopenharmony_ci    returnVal = towctrans(wideChar, paraDesc);
935f6603c60Sopenharmony_ci    LOGD("    towctrans returnVal:='%d'\n", returnVal);
936f6603c60Sopenharmony_ci    ASSERT_TRUE('A' == returnVal) << "ErrInfo: towctrans  returnVal:='" << returnVal << "'";
937f6603c60Sopenharmony_ci}
938f6603c60Sopenharmony_ci
939f6603c60Sopenharmony_ci/**
940f6603c60Sopenharmony_ci* @tc.number     SUB_KERNEL_UTIL_CONVERT_TOWCTRANS_L_4000
941f6603c60Sopenharmony_ci* @tc.name       test towctrans_l api with WEOF
942f6603c60Sopenharmony_ci* @tc.desc       [C- SOFTWARE -0200]
943f6603c60Sopenharmony_ci*/
944f6603c60Sopenharmony_ciHWTEST_F(ActsUtilConvertApiTest, testTowctransL4000, Function | MediumTest | Level1) {
945f6603c60Sopenharmony_ci    wint_t wideChar;
946f6603c60Sopenharmony_ci    wctrans_t paraDesc;
947f6603c60Sopenharmony_ci    wint_t returnVal;
948f6603c60Sopenharmony_ci
949f6603c60Sopenharmony_ci    wideChar = WEOF;
950f6603c60Sopenharmony_ci    paraDesc = wctrans_l("tolower", g_aucaNewloc);
951f6603c60Sopenharmony_ci    returnVal = towctrans_l(wideChar, paraDesc, g_aucaNewloc);
952f6603c60Sopenharmony_ci    LOGD("    towctrans_l returnVal:='%d'\n", returnVal);
953f6603c60Sopenharmony_ci    ASSERT_TRUE(WEOF == returnVal) << "ErrInfo: towctrans_l  returnVal:='" << returnVal << "'";
954f6603c60Sopenharmony_ci}
955f6603c60Sopenharmony_ci
956f6603c60Sopenharmony_ci/**
957f6603c60Sopenharmony_ci* @tc.number     SUB_KERNEL_UTIL_CONVERT_TOWCTRANS_L_4100
958f6603c60Sopenharmony_ci* @tc.name       test towctrans_l api with upper alpha
959f6603c60Sopenharmony_ci* @tc.desc       [C- SOFTWARE -0200]
960f6603c60Sopenharmony_ci*/
961f6603c60Sopenharmony_ciHWTEST_F(ActsUtilConvertApiTest, testTowctransL4100, Function | MediumTest | Level1) {
962f6603c60Sopenharmony_ci    wint_t wideChar;
963f6603c60Sopenharmony_ci    wctrans_t paraDesc;
964f6603c60Sopenharmony_ci    wint_t returnVal;
965f6603c60Sopenharmony_ci
966f6603c60Sopenharmony_ci    wideChar = L'A';
967f6603c60Sopenharmony_ci    paraDesc = wctrans_l("tolower", g_aucaNewloc);
968f6603c60Sopenharmony_ci    returnVal = towctrans_l(wideChar, paraDesc, g_aucaNewloc);
969f6603c60Sopenharmony_ci    LOGD("    towctrans_l returnVal:='%d'\n", returnVal);
970f6603c60Sopenharmony_ci    ASSERT_TRUE('a' == returnVal) << "ErrInfo: towctrans_l  returnVal:='" << returnVal << "'";
971f6603c60Sopenharmony_ci}
972f6603c60Sopenharmony_ci
973f6603c60Sopenharmony_ci/**
974f6603c60Sopenharmony_ci* @tc.number     SUB_KERNEL_UTIL_CONVERT_TOWCTRANS_L_4200
975f6603c60Sopenharmony_ci* @tc.name       test towctrans_l api with lower alpha
976f6603c60Sopenharmony_ci* @tc.desc       [C- SOFTWARE -0200]
977f6603c60Sopenharmony_ci*/
978f6603c60Sopenharmony_ciHWTEST_F(ActsUtilConvertApiTest, testTowctransL4200, Function | MediumTest | Level1) {
979f6603c60Sopenharmony_ci    wint_t wideChar;
980f6603c60Sopenharmony_ci    wctrans_t paraDesc;
981f6603c60Sopenharmony_ci    wint_t returnVal;
982f6603c60Sopenharmony_ci
983f6603c60Sopenharmony_ci    wideChar = L'a';
984f6603c60Sopenharmony_ci    paraDesc = wctrans_l("toupper", g_aucaNewloc);
985f6603c60Sopenharmony_ci    returnVal = towctrans_l(wideChar, paraDesc, g_aucaNewloc);
986f6603c60Sopenharmony_ci    LOGD("    towctrans_l returnVal:='%d'\n", returnVal);
987f6603c60Sopenharmony_ci    ASSERT_TRUE('A' == returnVal) << "ErrInfo: towctrans_l  returnVal:='" << returnVal << "'";
988f6603c60Sopenharmony_ci}
989f6603c60Sopenharmony_ci
990f6603c60Sopenharmony_ci/**
991f6603c60Sopenharmony_ci* @tc.number     SUB_KERNEL_UTIL_CONVERT_WCTOB_4300
992f6603c60Sopenharmony_ci* @tc.name       test wctob api with lower alpha
993f6603c60Sopenharmony_ci* @tc.desc       [C- SOFTWARE -0200]
994f6603c60Sopenharmony_ci*/
995f6603c60Sopenharmony_ciHWTEST_F(ActsUtilConvertApiTest, testWctob4300, Function | MediumTest | Level1) {
996f6603c60Sopenharmony_ci    wint_t wideChar;
997f6603c60Sopenharmony_ci    int returnVal;
998f6603c60Sopenharmony_ci
999f6603c60Sopenharmony_ci    wideChar = L'a';
1000f6603c60Sopenharmony_ci    returnVal = wctob(wideChar);
1001f6603c60Sopenharmony_ci    LOGD("    wctob returnVal:='%d'\n", returnVal);
1002f6603c60Sopenharmony_ci    ASSERT_TRUE('a' == returnVal) << "ErrInfo: wctob  returnVal:='" << returnVal << "'";
1003f6603c60Sopenharmony_ci}
1004f6603c60Sopenharmony_ci
1005f6603c60Sopenharmony_ci/**
1006f6603c60Sopenharmony_ci* @tc.number     SUB_KERNEL_UTIL_CONVERT_WCTOMB_4400
1007f6603c60Sopenharmony_ci* @tc.name       test wctomb api with lower alpha
1008f6603c60Sopenharmony_ci* @tc.desc       [C- SOFTWARE -0200]
1009f6603c60Sopenharmony_ci*/
1010f6603c60Sopenharmony_ciHWTEST_F(ActsUtilConvertApiTest, testWctomb4400, Function | MediumTest | Level1) {
1011f6603c60Sopenharmony_ci    char paraStr[5];
1012f6603c60Sopenharmony_ci    wint_t wideChar;
1013f6603c60Sopenharmony_ci    int returnVal;
1014f6603c60Sopenharmony_ci
1015f6603c60Sopenharmony_ci    wideChar = L'a';
1016f6603c60Sopenharmony_ci    returnVal = wctomb(paraStr, wideChar);
1017f6603c60Sopenharmony_ci    LOGD("    wctomb returnVal:='%d'\n", returnVal);
1018f6603c60Sopenharmony_ci    ASSERT_TRUE(1 == returnVal && 'a' == paraStr[0]) << "ErrInfo: wctomb  returnVal:='" << returnVal << "'";
1019f6603c60Sopenharmony_ci}
1020f6603c60Sopenharmony_ci
1021f6603c60Sopenharmony_ci/**
1022f6603c60Sopenharmony_ci* @tc.number     SUB_KERNEL_UTIL_CONVERT_MBSTOWCS_4500
1023f6603c60Sopenharmony_ci* @tc.name       test mbstowcs api with string
1024f6603c60Sopenharmony_ci* @tc.desc       [C- SOFTWARE -0200]
1025f6603c60Sopenharmony_ci*/
1026f6603c60Sopenharmony_ciHWTEST_F(ActsUtilConvertApiTest, testMbstowcs4500, Function | MediumTest | Level1) {
1027f6603c60Sopenharmony_ci    wchar_t paraDest[10];
1028f6603c60Sopenharmony_ci    const char *paraSrc = "abcde";
1029f6603c60Sopenharmony_ci    size_t sizeVal = 6;
1030f6603c60Sopenharmony_ci    size_t returnVal;
1031f6603c60Sopenharmony_ci
1032f6603c60Sopenharmony_ci    returnVal = mbstowcs(paraDest, paraSrc, sizeVal);
1033f6603c60Sopenharmony_ci    LOGD("    mbstowcs returnVal:='%d'\n", returnVal);
1034f6603c60Sopenharmony_ci    ASSERT_TRUE(5 == returnVal && (0 == wcscmp(paraDest, L"abcde")))
1035f6603c60Sopenharmony_ci        << "ErrInfo: mbstowcs  returnVal:='" << returnVal << "'";
1036f6603c60Sopenharmony_ci}
1037f6603c60Sopenharmony_ci
1038f6603c60Sopenharmony_ci/**
1039f6603c60Sopenharmony_ci* @tc.number     SUB_KERNEL_UTIL_CONVERT_WCSTOMBS_4600
1040f6603c60Sopenharmony_ci* @tc.name       test wcstombs api with string
1041f6603c60Sopenharmony_ci* @tc.desc       [C- SOFTWARE -0200]
1042f6603c60Sopenharmony_ci*/
1043f6603c60Sopenharmony_ciHWTEST_F(ActsUtilConvertApiTest, testWcstombs4600, Function | MediumTest | Level1) {
1044f6603c60Sopenharmony_ci    char paraDest[10];
1045f6603c60Sopenharmony_ci    const wchar_t *paraSrc = L"abcde";
1046f6603c60Sopenharmony_ci    size_t sizeVal = 6;
1047f6603c60Sopenharmony_ci    size_t returnVal;
1048f6603c60Sopenharmony_ci
1049f6603c60Sopenharmony_ci    returnVal = wcstombs(paraDest, paraSrc, sizeVal);
1050f6603c60Sopenharmony_ci    LOGD("    wcstombs returnVal:='%d'\n", returnVal);
1051f6603c60Sopenharmony_ci    ASSERT_TRUE(5 == returnVal && (0 == strcmp(paraDest, "abcde")))
1052f6603c60Sopenharmony_ci        << "ErrInfo: wcstombs  returnVal:='" << returnVal << "'";
1053f6603c60Sopenharmony_ci}
1054f6603c60Sopenharmony_ci
1055f6603c60Sopenharmony_ci/**
1056f6603c60Sopenharmony_ci* @tc.number     SUB_KERNEL_UTIL_CONVERT_WCRTOMB_4700
1057f6603c60Sopenharmony_ci* @tc.name       test wcrtomb api with lower alpha
1058f6603c60Sopenharmony_ci* @tc.desc       [C- SOFTWARE -0200]
1059f6603c60Sopenharmony_ci*/
1060f6603c60Sopenharmony_ciHWTEST_F(ActsUtilConvertApiTest, testWcrtomb4700, Function | MediumTest | Level1) {
1061f6603c60Sopenharmony_ci    char paraStr[2];
1062f6603c60Sopenharmony_ci    wchar_t wideChar;
1063f6603c60Sopenharmony_ci    mbstate_t paraPs;
1064f6603c60Sopenharmony_ci    size_t returnVal;
1065f6603c60Sopenharmony_ci
1066f6603c60Sopenharmony_ci    wideChar = L'a';
1067f6603c60Sopenharmony_ci
1068f6603c60Sopenharmony_ci    returnVal = wcrtomb(paraStr, wideChar, &paraPs);
1069f6603c60Sopenharmony_ci    LOGD("    wcrtomb returnVal:='%d'\n", returnVal);
1070f6603c60Sopenharmony_ci    ASSERT_TRUE(1 == returnVal && 'a' == paraStr[0]) << "ErrInfo: wcrtomb  returnVal:='" << returnVal << "'";
1071f6603c60Sopenharmony_ci}
1072