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 #define private public
16 #define protected public
17 
18 #include "gtest/gtest.h"
19 #include "standardize_utils.h"
20 #include "mmi_code_utils.h"
21 #include "module_service_utils.h"
22 
23 namespace OHOS {
24 namespace Telephony {
25 using namespace testing::ext;
26 class StandardizeUtilsTest : public testing::Test {
27 public:
28     static void SetUpTestCase();
29     static void TearDownTestCase();
30     void SetUp();
31     void TearDown();
32 };
SetUpTestCase()33 void StandardizeUtilsTest::SetUpTestCase() {}
34 
TearDownTestCase()35 void StandardizeUtilsTest::TearDownTestCase() {}
36 
SetUp()37 void StandardizeUtilsTest::SetUp() {}
38 
TearDown()39 void StandardizeUtilsTest::TearDown() {}
40 
41 
42 /**
43  * @tc.number   Telephony_StandardizeUtilsTest_0001
44  * @tc.name     Test CellularCallConnectionCS
45  * @tc.desc     Function test
46  */
47 HWTEST_F(StandardizeUtilsTest, StandardizeUtilsTest_0001, Function | MediumTest | Level1)
48 {
49     StandardizeUtils standardizeUtils;
50     std::string phoneString;
51     EXPECT_EQ(standardizeUtils.RemoveSeparatorsPhoneNumber(phoneString), "");
52 
53     phoneString = "1234567890*#+N,;!@$%^&*()_-={}[]|:<>?";
54     EXPECT_NE(standardizeUtils.RemoveSeparatorsPhoneNumber(phoneString), "1234567890*#+N,;");
55 
56     std::string networkAddress;
57     std::string postDial;
58     standardizeUtils.ExtractAddressAndPostDial(phoneString, networkAddress, postDial);
59     EXPECT_EQ(networkAddress, "1234567890*#+N");
60     EXPECT_EQ(postDial, ",;!@$%^&*()_-={}[]|:<>?");
61 
62     int32_t intValue1 = 145;
63     int32_t intValue2 = 133;
64     phoneString = "1234567890*#+N,;!@$%^&*()_-={}[]|:<>?";
65     EXPECT_EQ(standardizeUtils.FormatNumberAndToa(phoneString, intValue1), "+1234567890*#+N,;!@$%^&*()_-={}[]|:<>?");
66     EXPECT_EQ(standardizeUtils.FormatNumberAndToa(phoneString, intValue2), "1234567890*#+N,;!@$%^&*()_-={}[]|:<>?");
67 
68     phoneString = "+1234567890*#+N,;!@$%^&*()_-={}[]|:<>?";
69     EXPECT_EQ(standardizeUtils.FormatNumberAndToa(phoneString, intValue1), "+1234567890*#+N,;!@$%^&*()_-={}[]|:<>?");
70     EXPECT_EQ(standardizeUtils.FormatNumberAndToa(phoneString, intValue2), "+1234567890*#+N,;!@$%^&*()_-={}[]|:<>?");
71 
72     phoneString = "12345678908";
73     EXPECT_EQ(standardizeUtils.FormatNumberAndToa(phoneString, intValue1), "+12345678908");
74     EXPECT_EQ(standardizeUtils.FormatNumberAndToa(phoneString, intValue2), "12345678908");
75 
76     phoneString = "+12345678908";
77     EXPECT_EQ(standardizeUtils.FormatNumberAndToa(phoneString, intValue1), "+12345678908");
78     EXPECT_EQ(standardizeUtils.FormatNumberAndToa(phoneString, intValue2), "+12345678908");
79 }
80 
81 /**
82  * @tc.number   Telephony_MMICodeUtilsTest_0001
83  * @tc.name     Test MMICodeUtils
84  * @tc.desc     Function test
85  */
86 HWTEST_F(StandardizeUtilsTest, MMICodeUtilsTest_0001, Function | MediumTest | Level1)
87 {
88     MMICodeUtils mmiCodeUtils;
89     std::string analyseString;
90     bool isNeedUseIms = true;
91     mmiCodeUtils.IsNeedExecuteMmi(analyseString, isNeedUseIms);
92 
93     int32_t slotId = 0;
94     EXPECT_FALSE(mmiCodeUtils.ExecuteMmiCode(slotId));
95 
96     mmiCodeUtils.mmiData_.serviceCode = "03";
97     mmiCodeUtils.ExecuteMmiCode(slotId);
98     EXPECT_TRUE(mmiCodeUtils.ExecuteMmiCode(slotId));
99 }
100 
101 /**
102  * @tc.number   Telephony_ModuleServiceUtilsTest_0001
103  * @tc.name     Test ModuleServiceUtils
104  * @tc.desc     Function test
105  */
106 HWTEST_F(StandardizeUtilsTest, ModuleServiceUtilsTest_0001, Function | MediumTest | Level1)
107 {
108     ModuleServiceUtils moduleServiceUtils;
109     int32_t slotId = 0;
110     EXPECT_FALSE(moduleServiceUtils.GetImsUtSupportState(slotId));
111 
112     auto ptr = moduleServiceUtils.GetImsServiceRemoteObject();
113     EXPECT_EQ(ptr, nullptr);
114 }
115 } // namespace Telephony
116 } // namespace OHOS