1 /*
2 * Copyright (c) 2022 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 */
15
16 #include <wchar.h>
17 #include <stdio.h>
18 #include <string.h>
19 #include <locale.h>
20 #include <bits/alltypes.h>
21 #include "test.h"
22
23 /**
24 * @tc.name : wcscasecmp_l_0100
25 * @tc.desc : Test wcscasecmp_l compare case-ignoring wide strings
26 * @tc.level : Level 0
27 */
wcscasecmp_l_0100(void)28 void wcscasecmp_l_0100(void)
29 {
30 locale_t local_info = NULL;
31 int result = wcscasecmp_l(L"hello", L"HELLO", local_info);
32 if (result != 0) {
33 t_error("%s wcscasecmp_l get result is %d are not 0\n", __func__, result);
34 }
35 }
36
37 /**
38 * @tc.name : wcscasecmp_l_0200
39 * @tc.desc : Test the result of calling wcscasecmp_l with uppercase letters, plus numbers, and lowercase letters
40 * and small numbers
41 * @tc.level : Level 1
42 */
wcscasecmp_l_0200(void)43 void wcscasecmp_l_0200(void)
44 {
45 locale_t local_info = NULL;
46 int result = wcscasecmp_l(L"hello1", L"HELLO2", local_info);
47 if (result >= 0) {
48 t_error("%s wcscasecmp_l get result is %d are more then 0\n", __func__, result);
49 }
50 }
51
52 /**
53 * @tc.name : wcscasecmp_l_0300
54 * @tc.desc : Test the result of calling wcscasecmp_l with uppercase letters plus small numbers and lowercase
55 * letters and large numbers
56 * @tc.level : Level 1
57 */
wcscasecmp_l_0300(void)58 void wcscasecmp_l_0300(void)
59 {
60 locale_t local_info = NULL;
61 int result = wcscasecmp_l(L"hello2", L"HELLO1", local_info);
62 if (result <= 0) {
63 t_error("%s wcscasecmp_l get result is %d are less then 0\n", __func__, result);
64 }
65 }
66
67 /**
68 * @tc.name : wcscasecmp_l_0400
69 * @tc.desc : Test the result of calling wcscasecmp_l for shorter uppercase wide strings versus longer lowercase
70 * wide strings
71 * @tc.level : Level 1
72 */
wcscasecmp_l_0400(void)73 void wcscasecmp_l_0400(void)
74 {
75 locale_t local_info = NULL;
76 int result = wcscasecmp_l(L"hello", L"HELL", local_info);
77 if (result <= 0) {
78 t_error("%s wcscasecmp_l get result is %d are less then 0\n", __func__, result);
79 }
80 }
81
82 /**
83 * @tc.name : wcscasecmp_l_0500
84 * @tc.desc : Test the result of calling wcscasecmp_l on a shorter lowercase wide string versus a longer uppercase
85 * wide string
86 * @tc.level : Level 1
87 */
wcscasecmp_l_0500(void)88 void wcscasecmp_l_0500(void)
89 {
90 locale_t local_info = NULL;
91 int result = wcscasecmp_l(L"hell", L"HELLO", local_info);
92 if (result >= 0) {
93 t_error("%s wcscasecmp_l get result is %d are more then 0\n", __func__, result);
94 }
95 }
96
main(int argc,char * argv[])97 int main(int argc, char *argv[])
98 {
99 wcscasecmp_l_0100();
100 wcscasecmp_l_0200();
101 wcscasecmp_l_0300();
102 wcscasecmp_l_0400();
103 wcscasecmp_l_0500();
104 return t_status;
105 }