1886da342Sopenharmony_ci/* 2886da342Sopenharmony_ci * Copyright (c) 2021-2024 Huawei Device Co., Ltd. 3886da342Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4886da342Sopenharmony_ci * you may not use this file except in compliance with the License. 5886da342Sopenharmony_ci * You may obtain a copy of the License at 6886da342Sopenharmony_ci * 7886da342Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8886da342Sopenharmony_ci * 9886da342Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10886da342Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11886da342Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12886da342Sopenharmony_ci * See the License for the specific language governing permissions and 13886da342Sopenharmony_ci * limitations under the License. 14886da342Sopenharmony_ci */ 15886da342Sopenharmony_ci 16886da342Sopenharmony_ciexport const DEFAULT = 0B0000 17886da342Sopenharmony_ci 18886da342Sopenharmony_ciexport const when: when; 19886da342Sopenharmony_ci 20886da342Sopenharmony_ciexport enum TestType { 21886da342Sopenharmony_ci FUNCTION = 0B1, 22886da342Sopenharmony_ci PERFORMANCE = 0B1 << 1, 23886da342Sopenharmony_ci POWER = 0B1 << 2, 24886da342Sopenharmony_ci RELIABILITY = 0B1 << 3, 25886da342Sopenharmony_ci SECURITY = 0B1 << 4, 26886da342Sopenharmony_ci GLOBAL = 0B1 << 5, 27886da342Sopenharmony_ci COMPATIBILITY = 0B1 << 6, 28886da342Sopenharmony_ci USER = 0B1 << 7, 29886da342Sopenharmony_ci STANDARD = 0B1 << 8, 30886da342Sopenharmony_ci SAFETY = 0B1 << 9, 31886da342Sopenharmony_ci RESILIENCE = 0B1 << 10 32886da342Sopenharmony_ci} 33886da342Sopenharmony_ci 34886da342Sopenharmony_ciexport enum Size { 35886da342Sopenharmony_ci SMALLTEST = 0B1 << 16, 36886da342Sopenharmony_ci MEDIUMTEST = 0B1 << 17, 37886da342Sopenharmony_ci LARGETEST = 0B1 << 18 38886da342Sopenharmony_ci} 39886da342Sopenharmony_ci 40886da342Sopenharmony_ciexport enum Level { 41886da342Sopenharmony_ci LEVEL0 = 0B1 << 24, 42886da342Sopenharmony_ci LEVEL1 = 0B1 << 25, 43886da342Sopenharmony_ci LEVEL2 = 0B1 << 26, 44886da342Sopenharmony_ci LEVEL3 = 0B1 << 27, 45886da342Sopenharmony_ci LEVEL4 = 0B1 << 28 46886da342Sopenharmony_ci} 47886da342Sopenharmony_ciexport { xdescribe, xit, describe, it } from './index'; 48886da342Sopenharmony_ci 49886da342Sopenharmony_ci 50886da342Sopenharmony_ci 51886da342Sopenharmony_ciexport function beforeItSpecified(testCaseNames: Array<string> | string, callback: Function): void 52886da342Sopenharmony_ci 53886da342Sopenharmony_ciexport function afterItSpecified(testCaseNames: Array<string> | string, callback: Function): void 54886da342Sopenharmony_ci 55886da342Sopenharmony_ciexport function beforeEach(callback: Function): void 56886da342Sopenharmony_ci 57886da342Sopenharmony_ciexport function afterEach(callback: Function): void 58886da342Sopenharmony_ci 59886da342Sopenharmony_ciexport function beforeAll(callback: Function): void 60886da342Sopenharmony_ci 61886da342Sopenharmony_ciexport function afterAll(callback: Function): void 62886da342Sopenharmony_ci 63886da342Sopenharmony_ci 64886da342Sopenharmony_ciexport interface Assert { 65886da342Sopenharmony_ci assertClose(expectValue: number, precision: number): void 66886da342Sopenharmony_ci assertContain(expectValue: any): void 67886da342Sopenharmony_ci assertEqual(expectValue: any): void 68886da342Sopenharmony_ci assertFail(): void 69886da342Sopenharmony_ci assertFalse(): void 70886da342Sopenharmony_ci assertTrue(): void 71886da342Sopenharmony_ci assertInstanceOf(expectValue: string): void 72886da342Sopenharmony_ci assertLarger(expectValue: number): void 73886da342Sopenharmony_ci assertLess(expectValue: number): void 74886da342Sopenharmony_ci assertNull(): void 75886da342Sopenharmony_ci assertThrowError(expectValue: string | Function): void 76886da342Sopenharmony_ci assertUndefined(): void 77886da342Sopenharmony_ci assertLargerOrEqual(expectValue: number): void 78886da342Sopenharmony_ci assertLessOrEqual(expectValue: number): void 79886da342Sopenharmony_ci assertNaN(): void 80886da342Sopenharmony_ci assertNegUnlimited(): void 81886da342Sopenharmony_ci assertPosUnlimited(): void 82886da342Sopenharmony_ci not(): Assert; 83886da342Sopenharmony_ci assertDeepEquals(expectValue: any): void 84886da342Sopenharmony_ci assertPromiseIsPending(): Promise<void> 85886da342Sopenharmony_ci assertPromiseIsRejected(): Promise<void> 86886da342Sopenharmony_ci assertPromiseIsRejectedWith(expectValue?: any): Promise<void> 87886da342Sopenharmony_ci assertPromiseIsRejectedWithError(...expectValue): Promise<void> 88886da342Sopenharmony_ci assertPromiseIsResolved(): Promise<void> 89886da342Sopenharmony_ci assertPromiseIsResolvedWith(expectValue?: any): Promise<void> 90886da342Sopenharmony_ci message(msg: string): Assert 91886da342Sopenharmony_ci} 92886da342Sopenharmony_ci 93886da342Sopenharmony_ciexport function expect(actualValue?: any): Assert 94886da342Sopenharmony_ci 95886da342Sopenharmony_ciexport class ArgumentMatchers { 96886da342Sopenharmony_ci static any; 97886da342Sopenharmony_ci static anyString; 98886da342Sopenharmony_ci static anyBoolean; 99886da342Sopenharmony_ci static anyNumber; 100886da342Sopenharmony_ci static anyObj; 101886da342Sopenharmony_ci static anyFunction; 102886da342Sopenharmony_ci static matchRegexs(Regex: RegExp): void 103886da342Sopenharmony_ci} 104886da342Sopenharmony_ci 105886da342Sopenharmony_cideclare interface when { 106886da342Sopenharmony_ci afterReturn(value: any): any 107886da342Sopenharmony_ci afterReturnNothing(): undefined 108886da342Sopenharmony_ci afterAction(action: any): any 109886da342Sopenharmony_ci afterThrow(e_msg: string): string 110886da342Sopenharmony_ci (argMatchers?: any): when; 111886da342Sopenharmony_ci} 112886da342Sopenharmony_ci 113886da342Sopenharmony_ciexport interface VerificationMode { 114886da342Sopenharmony_ci times(count: Number): void 115886da342Sopenharmony_ci never(): void 116886da342Sopenharmony_ci once(): void 117886da342Sopenharmony_ci atLeast(count: Number): void 118886da342Sopenharmony_ci atMost(count: Number): void 119886da342Sopenharmony_ci} 120886da342Sopenharmony_ci 121886da342Sopenharmony_ciexport class MockKit { 122886da342Sopenharmony_ci constructor() 123886da342Sopenharmony_ci mockFunc(obj: Object, func: Function): Function 124886da342Sopenharmony_ci mockObject(obj: Object): Object 125886da342Sopenharmony_ci verify(methodName: String, argsArray: Array<any>): VerificationMode 126886da342Sopenharmony_ci ignoreMock(obj: Object, func: Function): void 127886da342Sopenharmony_ci clear(obj: Object): void 128886da342Sopenharmony_ci clearAll(): void 129886da342Sopenharmony_ci} 130886da342Sopenharmony_ci 131886da342Sopenharmony_ciexport class SysTestKit { 132886da342Sopenharmony_ci static getDescribeName(): string; 133886da342Sopenharmony_ci static getItName(): string; 134886da342Sopenharmony_ci static getItAttribute(): TestType | Size | Level 135886da342Sopenharmony_ci static actionStart(tag: string): void 136886da342Sopenharmony_ci static actionEnd(tag: string): void 137886da342Sopenharmony_ci static existKeyword(keyword: string, timeout?: number): boolean 138886da342Sopenharmony_ci} 139886da342Sopenharmony_ci 140886da342Sopenharmony_ciexport class Hypium { 141886da342Sopenharmony_ci static setData(data: { [key: string]: any }): void 142886da342Sopenharmony_ci static setTimeConfig(systemTime: any) 143886da342Sopenharmony_ci static hypiumTest(abilityDelegator: any, abilityDelegatorArguments: any, testsuite: Function): void 144886da342Sopenharmony_ci static set(key: string, value: any): void 145886da342Sopenharmony_ci static get(key: string): any 146886da342Sopenharmony_ci static registerAssert(customAssertion: Function): void 147886da342Sopenharmony_ci static unregisterAssert(customAssertion: string | Function): void 148886da342Sopenharmony_ci static hypiumWorkerTest(abilityDelegator: Object, abilityDelegatorArguments: Object, testsuite: Function, workerPort: Object): void; 149886da342Sopenharmony_ci static hypiumInitWorkers(abilityDelegator: Object, scriptURL: string, workerNum: number, params: Object): void; 150886da342Sopenharmony_ci}