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 #define private public
17 #define protected public
18 
19 #include "gtest/gtest.h"
20 #include "telephony_errors.h"
21 #include "emergency_utils.h"
22 
23 namespace OHOS {
24 namespace Telephony {
25 using namespace testing::ext;
26 class EmergencyUtilsTest : public testing::Test {
27 public:
28     static void SetUpTestCase();
29     static void TearDownTestCase();
30     void SetUp();
31     void TearDown();
32 };
SetUpTestCase()33 void EmergencyUtilsTest::SetUpTestCase() {}
34 
TearDownTestCase()35 void EmergencyUtilsTest::TearDownTestCase() {}
36 
SetUp()37 void EmergencyUtilsTest::SetUp() {}
38 
TearDown()39 void EmergencyUtilsTest::TearDown() {}
40 
41 /**
42  * @tc.number   Telephony_EmergencyUtilsTest_0001
43  * @tc.name     Test EmergencyUtilsTest
44  * @tc.desc     Function test
45  */
46 HWTEST_F(EmergencyUtilsTest, EmergencyUtilsTest_0001, Function | MediumTest | Level1)
47 {
48     EmergencyUtils emergencyUtils;
49     int32_t slotId = 0;
50     std::string phoneNum;
51     bool enabled = false;
52     EXPECT_EQ(emergencyUtils.IsEmergencyCall(slotId, phoneNum, enabled), TELEPHONY_ERR_ARGUMENT_INVALID);
53 
54     phoneNum = "+911";
55     EXPECT_EQ(emergencyUtils.IsEmergencyCall(slotId, phoneNum, enabled), TELEPHONY_ERR_ARGUMENT_INVALID);
56 
57     phoneNum = "911@123456778901";
58     EXPECT_EQ(emergencyUtils.IsEmergencyCall(slotId, phoneNum, enabled), TELEPHONY_ERR_ARGUMENT_INVALID);
59 
60     phoneNum = "911%40123456778901";
61     EXPECT_EQ(emergencyUtils.IsEmergencyCall(slotId, phoneNum, enabled), TELEPHONY_ERR_ARGUMENT_INVALID);
62 }
63 
64 /**
65  * @tc.number   Telephony_EmergencyUtilsTest_0002
66  * @tc.name     Test EmergencyUtilsTest
67  * @tc.desc     Function test
68  */
69 HWTEST_F(EmergencyUtilsTest, EmergencyUtilsTest_0002, Function | MediumTest | Level1)
70 {
71     EmergencyUtils emergencyUtils;
72     int32_t slotId = 0;
73     bool enabled = false;
74 
75     std::string formatString = "57694898180";
76     EXPECT_EQ(emergencyUtils.IsEmergencyCallProcessing(slotId, formatString, enabled), TELEPHONY_SUCCESS);
77 
78     formatString = "110";
79     EXPECT_EQ(emergencyUtils.IsEmergencyCallProcessing(slotId, formatString, enabled), TELEPHONY_SUCCESS);
80 
81     formatString = "120";
82     EXPECT_EQ(emergencyUtils.IsEmergencyCallProcessing(slotId, formatString, enabled), TELEPHONY_SUCCESS);
83 
84     formatString = "119";
85     EXPECT_EQ(emergencyUtils.IsEmergencyCallProcessing(slotId, formatString, enabled), TELEPHONY_SUCCESS);
86 
87     formatString = "122";
88     EXPECT_EQ(emergencyUtils.IsEmergencyCallProcessing(slotId, formatString, enabled), TELEPHONY_SUCCESS);
89 
90     formatString = "112";
91     EXPECT_EQ(emergencyUtils.IsEmergencyCallProcessing(slotId, formatString, enabled), TELEPHONY_SUCCESS);
92 
93     formatString = "000";
94     EXPECT_EQ(emergencyUtils.IsEmergencyCallProcessing(slotId, formatString, enabled), TELEPHONY_SUCCESS);
95 
96     formatString = "911";
97     EXPECT_EQ(emergencyUtils.IsEmergencyCallProcessing(slotId, formatString, enabled), TELEPHONY_SUCCESS);
98 
99     formatString = "08";
100     EXPECT_EQ(emergencyUtils.IsEmergencyCallProcessing(slotId, formatString, enabled), TELEPHONY_SUCCESS);
101 
102     formatString = "118";
103     EXPECT_EQ(emergencyUtils.IsEmergencyCallProcessing(slotId, formatString, enabled), TELEPHONY_SUCCESS);
104 
105     formatString = "999";
106     EXPECT_EQ(emergencyUtils.IsEmergencyCallProcessing(slotId, formatString, enabled), TELEPHONY_SUCCESS);
107 }
108 } // namespace Telephony
109 } // namespace OHOS