1/** 2 * Copyright (c) 2024 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 16import { hilog } from '@kit.PerformanceAnalysisKit'; 17import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect, TestType, Level, Size } from '@ohos/hypium'; 18import { zlib } from '@kit.BasicServicesKit'; 19 20const TAG: string = 'BmsZlibChecksumTestTag'; 21const Domain: number = 0x0000; 22const CODE_PARAMETER_ERROR: number = 401; 23 24export default function bmsZlibChecksumAdler32Test() { 25 let checksum: zlib.Checksum = zlib.createChecksumSync(); 26 let buf = new ArrayBuffer(12); 27 let bufEmpty = new ArrayBuffer(12); 28 let str = 'hello world!'; 29 describe('bmsZlibChecksumAdler32Test', () => { 30 // Defines a test suite. Two parameters are supported: test suite name and test suite function. 31 beforeAll(() => { 32 // Presets an action, which is performed only once before all test cases of the test suite start. 33 // This API supports only one parameter: preset action function. 34 let data = new Uint8Array(buf); 35 for (let i = 0, j = str.length; i < j; i++) { 36 data[i] = str.charCodeAt(i); 37 } 38 }) 39 beforeEach(() => { 40 // Presets an action, which is performed before each unit test case starts. 41 // The number of execution times is the same as the number of test cases defined by **it**. 42 // This API supports only one parameter: preset action function. 43 }) 44 afterEach(() => { 45 // Presets a clear action, which is performed after each unit test case ends. 46 // The number of execution times is the same as the number of test cases defined by **it**. 47 // This API supports only one parameter: clear action function. 48 }) 49 afterAll(() => { 50 // Presets a clear action, which is performed after all test cases of the test suite end. 51 // This API supports only one parameter: clear action function. 52 }) 53 /** 54 * @tc.number: Sub_Bms_Zlib_Checksum_Check_0400 55 * @tc.name: Sub_Bms_Zlib_Checksum_Check_0400 56 * @tc.desc: test adler32(0,bufEmpty) 57 * @tc.size: MediumTest 58 * @tc.type: Function 59 * @tc.level: Level2 60 */ 61 it("Sub_Bms_Zlib_Checksum_Check_0400", TestType.FUNCTION | Size.MEDIUMTEST | Level.LEVEL2, async (done: Function) => { 62 try { 63 let adler = 0; 64 hilog.info(Domain, TAG, `Sub_Bms_Zlib_Checksum_Check_0400 start`); 65 let num: number = await checksum.adler32(adler, bufEmpty); 66 hilog.info(Domain, TAG, `Sub_Bms_Zlib_Checksum_Check_0400 adler ${adler} ret: ${num}`); 67 expect(true).assertTrue(); 68 } catch (e) { 69 hilog.error(Domain, TAG, `Sub_Bms_Zlib_Checksum_Check_0400 error, error code is: ${e.code}, error message is: ${e.message}`); 70 expect().assertFail(); 71 } 72 done(); 73 }); 74 /** 75 * @tc.number: Sub_Bms_Zlib_Checksum_Check_0500 76 * @tc.name: Sub_Bms_Zlib_Checksum_Check_0500 77 * @tc.desc: test adler32(-1,buf) 78 * @tc.size: MediumTest 79 * @tc.type: Function 80 * @tc.level: Level2 81 */ 82 it("Sub_Bms_Zlib_Checksum_Check_0500", TestType.FUNCTION | Size.MEDIUMTEST | Level.LEVEL2, async (done: Function) => { 83 try { 84 let adler = -1; 85 hilog.info(Domain, TAG, `Sub_Bms_Zlib_Checksum_Check_0500 start`); 86 let num: number = await checksum.adler32(adler, buf); 87 hilog.info(Domain, TAG, `Sub_Bms_Zlib_Checksum_Check_0500 adler=${adler} buf=${str}, ret=${num}`); 88 expect(true).assertTrue(); 89 } catch (e) { 90 hilog.error(Domain, TAG, `Sub_Bms_Zlib_Checksum_Check_0500 error, error code is: ${e.code}, error message is: ${e.message}`); 91 expect().assertFail(); 92 } 93 done(); 94 }); 95 /** 96 * @tc.number: Sub_Bms_Zlib_Checksum_Check_0600 97 * @tc.name: Sub_Bms_Zlib_Checksum_Check_0600 98 * @tc.desc: test adler32(9223372036854775808,buf) 99 * @tc.size: MediumTest 100 * @tc.type: Function 101 * @tc.level: Level2 102 */ 103 it("Sub_Bms_Zlib_Checksum_Check_0600", TestType.FUNCTION | Size.MEDIUMTEST | Level.LEVEL2, async (done: Function) => { 104 try { 105 let adler = 9223372036854775808; 106 hilog.info(Domain, TAG, `Sub_Bms_Zlib_Checksum_Check_0600 start`); 107 let num: number = await checksum.adler32(adler, buf); 108 hilog.info(Domain, TAG, `Sub_Bms_Zlib_Checksum_Check_0600 adler=${adler} buf=${str}, ret=${num}`); 109 expect(true).assertTrue(); 110 } catch (e) { 111 hilog.error(Domain, TAG, `Sub_Bms_Zlib_Checksum_Check_0600 error, error code is: ${e.code}, error message is: ${e.message}`); 112 expect().assertFail(); 113 } 114 done(); 115 }); 116 /** 117 * @tc.number: Sub_Bms_Zlib_Checksum_Check_0800 118 * @tc.name: Sub_Bms_Zlib_Checksum_Check_0800 119 * @tc.desc: test adler32(undefined,buf) 120 * @tc.size: MediumTest 121 * @tc.type: Function 122 * @tc.level: Level2 123 */ 124 it("Sub_Bms_Zlib_Checksum_Check_0800", TestType.FUNCTION | Size.MEDIUMTEST | Level.LEVEL2, async (done: Function) => { 125 try { 126 let adler = undefined; 127 hilog.info(Domain, TAG, `Sub_Bms_Zlib_Checksum_Check_0800 start`); 128 let num: number = await checksum.adler32(adler, buf); 129 hilog.info(Domain, TAG, `Sub_Bms_Zlib_Checksum_Check_0800 adler=${adler} buf=${str}, ret=${num}`); 130 expect(num).assertFail(); 131 } catch (e) { 132 hilog.error(Domain, TAG, `Sub_Bms_Zlib_Checksum_Check_0800 error, error code is: ${e.code}, error message is: ${e.message}`); 133 expect(e.code).assertEqual(CODE_PARAMETER_ERROR); 134 } 135 done(); 136 }); 137 /** 138 * @tc.number: Sub_Bms_Zlib_Checksum_Check_0900 139 * @tc.name: Sub_Bms_Zlib_Checksum_Check_0900 140 * @tc.desc: test adler32(0,null) 141 * @tc.size: MediumTest 142 * @tc.type: Function 143 * @tc.level: Level2 144 */ 145 it("Sub_Bms_Zlib_Checksum_Check_0900", TestType.FUNCTION | Size.MEDIUMTEST | Level.LEVEL2, async (done: Function) => { 146 try { 147 let adler = 0; 148 hilog.info(Domain, TAG, `Sub_Bms_Zlib_Checksum_Check_0900 start`); 149 let num: number = await checksum.adler32(adler, null); 150 hilog.info(Domain, TAG, `Sub_Bms_Zlib_Checksum_Check_0900 adler=${adler} buf=null, ret=${num}`); 151 expect(num).assertFail(); 152 } catch (e) { 153 hilog.error(Domain, TAG, `Sub_Bms_Zlib_Checksum_Check_0900 error, error code is: ${e.code}, error message is: ${e.message}`); 154 expect(e.code).assertEqual(CODE_PARAMETER_ERROR); 155 } 156 done(); 157 }); 158 /** 159 * @tc.number: Sub_Bms_Zlib_Checksum_Check_1000 160 * @tc.name: Sub_Bms_Zlib_Checksum_Check_1000 161 * @tc.desc: test adler32(0,undefined) 162 * @tc.size: MediumTest 163 * @tc.type: Function 164 * @tc.level: Level2 165 */ 166 it("Sub_Bms_Zlib_Checksum_Check_1000", TestType.FUNCTION | Size.MEDIUMTEST | Level.LEVEL2, async (done: Function) => { 167 try { 168 let adler = 0; 169 hilog.info(Domain, TAG, `Sub_Bms_Zlib_Checksum_Check_1000 start`); 170 let num: number = await checksum.adler32(adler, undefined); 171 hilog.info(Domain, TAG, `Sub_Bms_Zlib_Checksum_Check_1000 adler=${adler} buf=undefined, ret=${num}`); 172 expect(num).assertFail(); 173 } catch (e) { 174 hilog.error(Domain, TAG, `Sub_Bms_Zlib_Checksum_Check_1000 error, error code is: ${e.code}, error message is: ${e.message}`); 175 expect(e.code).assertEqual(CODE_PARAMETER_ERROR); 176 } 177 done(); 178 }); 179 180 }) 181}