• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 */
15import screenLock from '@ohos.screenLock';
16import { describe, expect, it, beforeEach} from "hypium/index";
17
18export default function screenLockJSUnit() {
19    const INTERACTIVE_STATE_END_SLEEP = 0;
20    const INTERACTIVE_STATE_USERID = 2;
21    const INTERACTIVE_STATE_BEGIN_SLEEP = 3;
22
23    describe('ScreenLockServiceTest', function () {
24        console.info("====>-----------------------ScreenlockTest is starting-----------------------");
25
26        let result = false
27        beforeEach(async function (done) {
28            result = await screenLock.isScreenLocked();
29            done();
30        });
31
32        /*
33         * @tc.number    SUB_MISC_THEME_screenLock_API_0001
34         * @tc.name      Set to locked screen, query the lock screen state is locked state
35         * @tc.desc      Test ScreenLock API functionality.
36         * @tc.size      : MEDIUM
37         * @tc.type      : Function
38         * @tc.level     : Level 0
39         */
40        it("SUB_MISC_THEME_screenLock_API_0001", 0, async function (done) {
41            console.info("====>------------------start SUB_MISC_THEME_screenLock_API_0001-------------------");
42            try {
43                screenLock.isScreenLocked((err, data) => {
44                    try{
45                        if(err){
46                            console.info("====>SUB_MISC_THEME_screenLock_API_0001 failed because: " + JSON.stringify(err));
47                            expect().assertFail();
48                            done();
49                        }
50                        console.info("====>SUB_MISC_THEME_screenLock_API_0001 screen's status is " + data);
51                        expect(data == result).assertTrue();
52                        console.info("====>------------------end SUB_MISC_THEME_screenLock_API_0001-------------------");
53                        done();
54
55                    }catch(err){
56                        console.info("====>logMessage SUB_MISC_THEME_screenLock_API_0001 throw_err = " + err);
57                        done();
58                    }
59                });
60            } catch (err) {
61                console.info("====>logMessage SUB_MISC_THEME_screenLock_API_0001: err = " + err);
62                expect().assertFail();
63                done();
64            }
65        });
66
67        /*
68         * @tc.number    SUB_MISC_THEME_screenLock_API_0002
69         * @tc.name      Set to locked screen, query the lock screen state is locked state
70         * @tc.desc      Test ScreenLock API functionality.
71         * @tc.size      : MEDIUM
72         * @tc.type      : Function
73         * @tc.level     : Level 0
74         */
75        it("SUB_MISC_THEME_screenLock_API_0002", 0, async function (done) {
76            console.info("====>------------------start SUB_MISC_THEME_screenLock_API_0002-------------------");
77            try {
78                screenLock.isScreenLocked((err, data) => {
79                    try{
80                        console.info("====>SUB_MISC_THEME_screenLock_API_0002 screen's status is " + data);
81                        expect(data == result).assertTrue();
82                        console.info("====>------------------end SUB_MISC_THEME_screenLock_API_0002-------------------");
83                        done();
84                    }catch(err){
85                        console.info("====>logMessage SUB_MISC_THEME_screenLock_API_0002 throw_err = " + err);
86                        done();
87                    }
88                });
89            } catch (err) {
90                console.info("====>logMessage SUB_MISC_THEME_screenLock_API_0002: err = " + err);
91                expect().assertFail();
92                done();
93            }
94        });
95
96        /*
97         * @tc.number    SUB_MISC_THEME_screenLock_API_0003
98         * @tc.name      Set to locked screen, query the lock screen state is locked state
99         * @tc.desc      Test ScreenLock API functionality.
100         * @tc.size      : MEDIUM
101         * @tc.type      : Function
102         * @tc.level     : Level 0
103         */
104        it("SUB_MISC_THEME_screenLock_API_0003", 0, async function (done) {
105            console.info("====>------------------start SUB_MISC_THEME_screenLock_API_0003-------------------");
106            try {
107                screenLock.isSecureMode((err, data) => {
108                    try{
109                        console.info("====>SUB_MISC_THEME_screenLock_API_0003 secureMode's result is " + data);
110                        expect(data == false).assertTrue();
111                        console.info("====>------------------end SUB_MISC_THEME_screenLock_API_0003-------------------");
112                        done();
113                    }catch(err){
114                        console.info("====>logMessage SUB_MISC_THEME_screenLock_API_0003 throw_err = " + err);
115                        done();
116                    }
117                });
118            } catch (err) {
119                console.info("====>logMessage SUB_MISC_THEME_screenLock_API_0003: err = " + err);
120                expect().assertFail();
121                done();
122            }
123        });
124
125        /*
126         * @tc.number    SUB_MISC_THEME_screenLock_API_0004
127         * @tc.name      Set to locked screen, query the lock screen state is locked state
128         * @tc.desc      Test ScreenLock API functionality.
129         * @tc.size      : MEDIUM
130         * @tc.type      : Function
131         * @tc.level     : Level 0
132         */
133        it("SUB_MISC_THEME_screenLock_API_0004", 0, async function (done) {
134            console.info("------------------start SUB_MISC_THEME_screenLock_API_0004-------------------");
135            try {
136                screenLock.unlockScreen((err) => {
137                    console.info("SUB_MISC_THEME_screenLock_API_0004: send unlockScreen issue success");
138                    try{
139                        if (err) {
140                            console.info("====>SUB_MISC_THEME_screenLock_API_0004 failed because: " + JSON.stringify(err));
141                            expect().assertFail();
142                            done();
143                        }
144                        expect(true).assertTrue()
145                        console.info("====>SUB_MISC_THEME_screenLock_API_0004 success.");
146                        console.info('====>-------------SUB_MISC_THEME_screenLock_API_0004 end----------------------');
147                        done();
148                    }catch(err){
149                        console.info('====>SUB_MISC_THEME_screenLock_API_0004 throw_err : ' + JSON.stringify(err));
150                        done();
151                    }
152                });
153            } catch (error) {
154                console.info("SUB_MISC_THEME_screenLock_API_0004: error = " + error);
155                expect().assertFail();
156                done();
157            }
158        });
159
160        /*
161         * @tc.number    SUB_MISC_THEME_screenLock_API_0007
162         * @tc.name      Set to locked screen, query the lock screen state is locked state
163         * @tc.desc      Test ScreenLock API functionality.
164         * @tc.size      : MEDIUM
165         * @tc.type      : Function
166         * @tc.level     : Level 0
167         */
168        it("SUB_MISC_THEME_screenLock_API_0007", 0, async function (done) {
169            console.info("====>------------------start SUB_MISC_THEME_screenLock_API_0007-------------------");
170            try {
171                screenLock.isScreenLocked((err, data) => {
172                    try{
173                        console.info("====>SUB_MISC_THEME_screenLock_API_0007: isScreenLocked is successful, result is " + data);
174                        expect(data == result).assertTrue();
175                        console.info("====>------------------end SUB_MISC_THEME_screenLock_API_0007-------------------");
176                        done();
177                    }catch(err){
178                        console.info("====>logMessage SUB_MISC_THEME_screenLock_API_0007 throw_err = " + err);
179                        done();
180                    }
181                });
182            } catch (err) {
183                console.info("====>logMessage SUB_MISC_THEME_screenLock_API_0007: err = " + err);
184                expect().assertFail();
185                done();
186            }
187
188        });
189    });
190}
191