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_ciimport assertNull from './assertNull'; 17886da342Sopenharmony_ciimport assertClose from './assertClose'; 18886da342Sopenharmony_ciimport assertContain from './assertContain'; 19886da342Sopenharmony_ciimport assertLess from './assertLess'; 20886da342Sopenharmony_ciimport assertLarger from './assertLarger'; 21886da342Sopenharmony_ciimport assertFail from './assertFail'; 22886da342Sopenharmony_ciimport assertUndefined from './assertUndefined'; 23886da342Sopenharmony_ciimport assertFalse from './assertFalse'; 24886da342Sopenharmony_ciimport assertInstanceOf from './assertInstanceOf'; 25886da342Sopenharmony_ciimport assertThrowError from './assertThrowError'; 26886da342Sopenharmony_ciimport assertLargerOrEqual from './assertLargerOrEqual'; 27886da342Sopenharmony_ciimport assertLessOrEqual from './assertLessOrEqual'; 28886da342Sopenharmony_ciimport assertNaN from './assertNaN'; 29886da342Sopenharmony_ciimport assertNegUnlimited from './assertNegUnlimited'; 30886da342Sopenharmony_ciimport assertPosUnlimited from './assertPosUnlimited'; 31886da342Sopenharmony_ciimport assertDeepEquals from './deepEquals/assertDeepEquals'; 32886da342Sopenharmony_ciimport assertPromiseIsPending from './assertPromiseIsPending'; 33886da342Sopenharmony_ciimport assertPromiseIsRejected from './assertPromiseIsRejected'; 34886da342Sopenharmony_ciimport assertPromiseIsRejectedWith from './assertPromiseIsRejectedWith'; 35886da342Sopenharmony_ciimport assertPromiseIsRejectedWithError from './assertPromiseIsRejectedWithError'; 36886da342Sopenharmony_ciimport assertPromiseIsResolved from './assertPromiseIsResolved'; 37886da342Sopenharmony_ciimport assertPromiseIsResolvedWith from './assertPromiseIsResolvedWith'; 38886da342Sopenharmony_ciclass ExpectExtend { 39886da342Sopenharmony_ci constructor(attr) { 40886da342Sopenharmony_ci this.id = attr.id; 41886da342Sopenharmony_ci this.matchers = {}; 42886da342Sopenharmony_ci } 43886da342Sopenharmony_ci 44886da342Sopenharmony_ci extendsMatchers() { 45886da342Sopenharmony_ci this.matchers.assertNull = assertNull; 46886da342Sopenharmony_ci this.matchers.assertClose = assertClose; 47886da342Sopenharmony_ci this.matchers.assertContain = assertContain; 48886da342Sopenharmony_ci this.matchers.assertLess = assertLess; 49886da342Sopenharmony_ci this.matchers.assertLarger = assertLarger; 50886da342Sopenharmony_ci this.matchers.assertFail = assertFail; 51886da342Sopenharmony_ci this.matchers.assertUndefined = assertUndefined; 52886da342Sopenharmony_ci this.matchers.assertFalse = assertFalse; 53886da342Sopenharmony_ci this.matchers.assertInstanceOf = assertInstanceOf; 54886da342Sopenharmony_ci this.matchers.assertThrowError = assertThrowError; 55886da342Sopenharmony_ci this.matchers.assertLargerOrEqual = assertLargerOrEqual; 56886da342Sopenharmony_ci this.matchers.assertLessOrEqual = assertLessOrEqual; 57886da342Sopenharmony_ci this.matchers.assertNaN = assertNaN; 58886da342Sopenharmony_ci this.matchers.assertNegUnlimited = assertNegUnlimited; 59886da342Sopenharmony_ci this.matchers.assertPosUnlimited = assertPosUnlimited; 60886da342Sopenharmony_ci this.matchers.assertDeepEquals = assertDeepEquals; 61886da342Sopenharmony_ci this.matchers.assertPromiseIsPending = assertPromiseIsPending; 62886da342Sopenharmony_ci this.matchers.assertPromiseIsRejected = assertPromiseIsRejected; 63886da342Sopenharmony_ci this.matchers.assertPromiseIsRejectedWith = assertPromiseIsRejectedWith; 64886da342Sopenharmony_ci this.matchers.assertPromiseIsRejectedWithError = assertPromiseIsRejectedWithError; 65886da342Sopenharmony_ci this.matchers.assertPromiseIsResolved = assertPromiseIsResolved; 66886da342Sopenharmony_ci this.matchers.assertPromiseIsResolvedWith = assertPromiseIsResolvedWith; 67886da342Sopenharmony_ci } 68886da342Sopenharmony_ci 69886da342Sopenharmony_ci init(coreContext) { 70886da342Sopenharmony_ci this.coreContext = coreContext; 71886da342Sopenharmony_ci this.extendsMatchers(); 72886da342Sopenharmony_ci const expectService = this.coreContext.getDefaultService('expect'); 73886da342Sopenharmony_ci expectService.addMatchers(this.matchers); 74886da342Sopenharmony_ci } 75886da342Sopenharmony_ci 76886da342Sopenharmony_ci apis() { 77886da342Sopenharmony_ci return { 78886da342Sopenharmony_ci 'expect': function (actualValue) { 79886da342Sopenharmony_ci return this.coreContext.getDefaultService('expect').expect(actualValue); 80886da342Sopenharmony_ci } 81886da342Sopenharmony_ci }; 82886da342Sopenharmony_ci } 83886da342Sopenharmony_ci} 84886da342Sopenharmony_ci 85886da342Sopenharmony_ciexport default ExpectExtend; 86