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