14514f5e3Sopenharmony_ci/*
24514f5e3Sopenharmony_ci * Copyright (c) 2024 Huawei Device Co., Ltd.
34514f5e3Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
44514f5e3Sopenharmony_ci * you may not use this file except in compliance with the License.
54514f5e3Sopenharmony_ci * You may obtain a copy of the License at
64514f5e3Sopenharmony_ci *
74514f5e3Sopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
84514f5e3Sopenharmony_ci *
94514f5e3Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software
104514f5e3Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
114514f5e3Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
124514f5e3Sopenharmony_ci * See the License for the specific language governing permissions and
134514f5e3Sopenharmony_ci * limitations under the License.
144514f5e3Sopenharmony_ci */
154514f5e3Sopenharmony_ci
164514f5e3Sopenharmony_ci/*
174514f5e3Sopenharmony_ci * @tc.name:sharedcollectionsexception
184514f5e3Sopenharmony_ci * @tc.desc:test sharedcollectionsexception
194514f5e3Sopenharmony_ci * @tc.type: FUNC
204514f5e3Sopenharmony_ci * @tc.require: issueI8QUU0
214514f5e3Sopenharmony_ci */
224514f5e3Sopenharmony_ci
234514f5e3Sopenharmony_ci// @ts-nocheck
244514f5e3Sopenharmony_cideclare function print(str: any): string;
254514f5e3Sopenharmony_ci
264514f5e3Sopenharmony_ciclass NormalClass {
274514f5e3Sopenharmony_ci    public num: number = 0;
284514f5e3Sopenharmony_ci    constructor(num: number) {
294514f5e3Sopenharmony_ci        this.num = num;
304514f5e3Sopenharmony_ci    }
314514f5e3Sopenharmony_ci}
324514f5e3Sopenharmony_ci
334514f5e3Sopenharmony_cifunction bindErrorTest() {
344514f5e3Sopenharmony_ci    print("Start bindErrorTest");
354514f5e3Sopenharmony_ci    const array1 = new SendableArray<number>(5, 12, 8, 130, 44);
364514f5e3Sopenharmony_ci    const normal = new NormalClass(10);
374514f5e3Sopenharmony_ci    const unbouondAt = array1.at;
384514f5e3Sopenharmony_ci    const boundAt = unbouondAt.bind(normal);
394514f5e3Sopenharmony_ci    try {
404514f5e3Sopenharmony_ci        boundAt(2);
414514f5e3Sopenharmony_ci        print("call boundAt success.");
424514f5e3Sopenharmony_ci    } catch (err) {
434514f5e3Sopenharmony_ci        print("call boundAt fail. err: " + err + ", errCode: " + err.code);
444514f5e3Sopenharmony_ci    }
454514f5e3Sopenharmony_ci
464514f5e3Sopenharmony_ci    const unboundConcat = array1.concat;
474514f5e3Sopenharmony_ci    const boundConcat = unboundConcat.bind(normal);
484514f5e3Sopenharmony_ci    try {
494514f5e3Sopenharmony_ci        boundConcat();
504514f5e3Sopenharmony_ci        print("Call boundConcat succeed.");
514514f5e3Sopenharmony_ci    } catch (err) {
524514f5e3Sopenharmony_ci        print("Call boundConcat fail. err: " + err + ", errCode: " + err.code);
534514f5e3Sopenharmony_ci    }
544514f5e3Sopenharmony_ci
554514f5e3Sopenharmony_ci    const unboundEntries = array1.entries;
564514f5e3Sopenharmony_ci    const boundEntries = unboundEntries.bind(normal);
574514f5e3Sopenharmony_ci    try {
584514f5e3Sopenharmony_ci        boundEntries();
594514f5e3Sopenharmony_ci        print("Call boundEntries succeed.");
604514f5e3Sopenharmony_ci    } catch (err) {
614514f5e3Sopenharmony_ci        print("Call boundEntries failed. err: " + err + ", errCode: " + err.code);
624514f5e3Sopenharmony_ci    }
634514f5e3Sopenharmony_ci
644514f5e3Sopenharmony_ci    const unboundFill = array1.fill;
654514f5e3Sopenharmony_ci    const boundFill = unboundFill.bind(normal);
664514f5e3Sopenharmony_ci    try {
674514f5e3Sopenharmony_ci        boundFill();
684514f5e3Sopenharmony_ci        print("Call boundFill succeed.");
694514f5e3Sopenharmony_ci    } catch (err) {
704514f5e3Sopenharmony_ci        print("Call boundFill failed. err: " + err + ", errCode: " + err.code);
714514f5e3Sopenharmony_ci    }
724514f5e3Sopenharmony_ci
734514f5e3Sopenharmony_ci    const unboundFilter = array1.filter;
744514f5e3Sopenharmony_ci    const boundFilter = unboundFilter.bind(normal);
754514f5e3Sopenharmony_ci    try {
764514f5e3Sopenharmony_ci        boundFilter();
774514f5e3Sopenharmony_ci        print("Call boundFilter succeed.");
784514f5e3Sopenharmony_ci    } catch (err) {
794514f5e3Sopenharmony_ci        print("Call boundFilter failed. err: " + err + ", errCode: " + err.code);
804514f5e3Sopenharmony_ci    }
814514f5e3Sopenharmony_ci
824514f5e3Sopenharmony_ci    const unboundFind = array1.find;
834514f5e3Sopenharmony_ci    const boundFind = unboundFind.bind(normal);
844514f5e3Sopenharmony_ci    try {
854514f5e3Sopenharmony_ci        boundFind();
864514f5e3Sopenharmony_ci        print("Call boundFind succeed.");
874514f5e3Sopenharmony_ci    } catch (err) {
884514f5e3Sopenharmony_ci        print("Call boundFind failed. err: " + err + ", errCode: " + err.code);
894514f5e3Sopenharmony_ci    }
904514f5e3Sopenharmony_ci
914514f5e3Sopenharmony_ci    const unboundFindIndex = array1.findIndex;
924514f5e3Sopenharmony_ci    const boundFindIndex = unboundFindIndex.bind(normal);
934514f5e3Sopenharmony_ci    try {
944514f5e3Sopenharmony_ci        boundFindIndex();
954514f5e3Sopenharmony_ci        print("Call boundFindIndex succeed.");
964514f5e3Sopenharmony_ci    } catch (err) {
974514f5e3Sopenharmony_ci        print("Call boundFindIndex failed. err: " + err + ", errCode: " + err.code);
984514f5e3Sopenharmony_ci    }
994514f5e3Sopenharmony_ci
1004514f5e3Sopenharmony_ci    const unboundForEach = array1.forEach;
1014514f5e3Sopenharmony_ci    const boundForEach = unboundForEach.bind(normal);
1024514f5e3Sopenharmony_ci    try {
1034514f5e3Sopenharmony_ci        boundForEach();
1044514f5e3Sopenharmony_ci        print("Call boundForEach succeed.");
1054514f5e3Sopenharmony_ci    } catch (err) {
1064514f5e3Sopenharmony_ci        print("Call boundForEach failed. err: " + err + ", errCode: " + err.code);
1074514f5e3Sopenharmony_ci    }
1084514f5e3Sopenharmony_ci
1094514f5e3Sopenharmony_ci    const unboundIndexOf = array1.indexOf;
1104514f5e3Sopenharmony_ci    const boundIndexOf = unboundIndexOf.bind(normal);
1114514f5e3Sopenharmony_ci    try {
1124514f5e3Sopenharmony_ci        boundIndexOf();
1134514f5e3Sopenharmony_ci        print("Call boundIndexOf succeed.");
1144514f5e3Sopenharmony_ci    } catch (err) {
1154514f5e3Sopenharmony_ci        print("Call boundIndexOf failed. err: " + err + ", errCode: " + err.code);
1164514f5e3Sopenharmony_ci    }
1174514f5e3Sopenharmony_ci
1184514f5e3Sopenharmony_ci    const unboundJoin = array1.join;
1194514f5e3Sopenharmony_ci    const boundJoin = unboundJoin.bind(normal);
1204514f5e3Sopenharmony_ci    try {
1214514f5e3Sopenharmony_ci        boundJoin();
1224514f5e3Sopenharmony_ci        print("Call boundJoin succeed.");
1234514f5e3Sopenharmony_ci    } catch (err) {
1244514f5e3Sopenharmony_ci        print("Call boundJoin failed. err: " + err + ", errCode: " + err.code);
1254514f5e3Sopenharmony_ci    }
1264514f5e3Sopenharmony_ci
1274514f5e3Sopenharmony_ci    const unboundKeys = array1.keys;
1284514f5e3Sopenharmony_ci    const boundKeys = unboundKeys.bind(normal);
1294514f5e3Sopenharmony_ci    try {
1304514f5e3Sopenharmony_ci        boundKeys();
1314514f5e3Sopenharmony_ci        print("Call boundKeys succeed.");
1324514f5e3Sopenharmony_ci    } catch (err) {
1334514f5e3Sopenharmony_ci        print("Call boundKeys failed. err: " + err + ", errCode: " + err.code);
1344514f5e3Sopenharmony_ci    }
1354514f5e3Sopenharmony_ci
1364514f5e3Sopenharmony_ci    const unboundMap = array1.map;
1374514f5e3Sopenharmony_ci    const boundMap = unboundMap.bind(normal);
1384514f5e3Sopenharmony_ci    try {
1394514f5e3Sopenharmony_ci        boundMap();
1404514f5e3Sopenharmony_ci        print("Call boundMap succeed.");
1414514f5e3Sopenharmony_ci    } catch (err) {
1424514f5e3Sopenharmony_ci        print("Call boundMap failed. err: " + err + ", errCode: " + err.code);
1434514f5e3Sopenharmony_ci    }
1444514f5e3Sopenharmony_ci
1454514f5e3Sopenharmony_ci    const unboundPop = array1.pop;
1464514f5e3Sopenharmony_ci    const boundPop = unboundPop.bind(normal);
1474514f5e3Sopenharmony_ci    try {
1484514f5e3Sopenharmony_ci        boundPop();
1494514f5e3Sopenharmony_ci        print("Call boundPop succeed.");
1504514f5e3Sopenharmony_ci    } catch (err) {
1514514f5e3Sopenharmony_ci        print("Call boundPop failed. err: " + err + ", errCode: " + err.code);
1524514f5e3Sopenharmony_ci    }
1534514f5e3Sopenharmony_ci
1544514f5e3Sopenharmony_ci    const unboundPush = array1.push;
1554514f5e3Sopenharmony_ci    const boundPush = unboundPush.bind(normal);
1564514f5e3Sopenharmony_ci    try {
1574514f5e3Sopenharmony_ci        boundPush();
1584514f5e3Sopenharmony_ci        print("Call boundPush succeed.");
1594514f5e3Sopenharmony_ci    } catch (err) {
1604514f5e3Sopenharmony_ci        print("Call boundPush failed. err: " + err + ", errCode: " + err.code);
1614514f5e3Sopenharmony_ci    }
1624514f5e3Sopenharmony_ci
1634514f5e3Sopenharmony_ci    const unboundReduce = array1.reduce;
1644514f5e3Sopenharmony_ci    const boundReduce = unboundReduce.bind(normal);
1654514f5e3Sopenharmony_ci    try {
1664514f5e3Sopenharmony_ci        boundReduce();
1674514f5e3Sopenharmony_ci        print("Call boundReduce succeed.");
1684514f5e3Sopenharmony_ci    } catch (err) {
1694514f5e3Sopenharmony_ci        print("Call boundReduce failed. err: " + err + ", errCode: " + err.code);
1704514f5e3Sopenharmony_ci    }
1714514f5e3Sopenharmony_ci
1724514f5e3Sopenharmony_ci    const unboundShift = array1.shift;
1734514f5e3Sopenharmony_ci    const boundShift = unboundShift.bind(normal);
1744514f5e3Sopenharmony_ci    try {
1754514f5e3Sopenharmony_ci        boundShift();
1764514f5e3Sopenharmony_ci        print("Call boundShift succeed.");
1774514f5e3Sopenharmony_ci    } catch (err) {
1784514f5e3Sopenharmony_ci        print("Call boundShift failed. err: " + err + ", errCode: " + err.code);
1794514f5e3Sopenharmony_ci    }
1804514f5e3Sopenharmony_ci
1814514f5e3Sopenharmony_ci    const unboundSlice = array1.slice;
1824514f5e3Sopenharmony_ci    const boundSlice = unboundSlice.bind(normal);
1834514f5e3Sopenharmony_ci    try {
1844514f5e3Sopenharmony_ci        boundSlice();
1854514f5e3Sopenharmony_ci        print("Call boundSlice succeed.");
1864514f5e3Sopenharmony_ci    } catch (err) {
1874514f5e3Sopenharmony_ci        print("Call boundSlice failed. err: " + err + ", errCode: " + err.code);
1884514f5e3Sopenharmony_ci    }
1894514f5e3Sopenharmony_ci
1904514f5e3Sopenharmony_ci    const unboundSort = array1.sort;
1914514f5e3Sopenharmony_ci    const boundSort = unboundSort.bind(normal);
1924514f5e3Sopenharmony_ci    try {
1934514f5e3Sopenharmony_ci        boundSort();
1944514f5e3Sopenharmony_ci        print("Call boundSort succeed.");
1954514f5e3Sopenharmony_ci    } catch (err) {
1964514f5e3Sopenharmony_ci        print("Call boundSort failed. err: " + err + ", errCode: " + err.code);
1974514f5e3Sopenharmony_ci    }
1984514f5e3Sopenharmony_ci
1994514f5e3Sopenharmony_ci    const unboundToString = array1.toString;
2004514f5e3Sopenharmony_ci    const boundToString = unboundToString.bind(normal);
2014514f5e3Sopenharmony_ci    try {
2024514f5e3Sopenharmony_ci        boundToString();
2034514f5e3Sopenharmony_ci        print("Call boundToString succeed.");
2044514f5e3Sopenharmony_ci    } catch (err) {
2054514f5e3Sopenharmony_ci        print("Call boundToString failed. err: " + err + ", errCode: " + err.code);
2064514f5e3Sopenharmony_ci    }
2074514f5e3Sopenharmony_ci
2084514f5e3Sopenharmony_ci    const unboundUnshift = array1.unshift;
2094514f5e3Sopenharmony_ci    const boundUnshift = unboundUnshift.bind(normal);
2104514f5e3Sopenharmony_ci    try {
2114514f5e3Sopenharmony_ci        boundUnshift();
2124514f5e3Sopenharmony_ci        print("Call boundUnshift succeed.");
2134514f5e3Sopenharmony_ci    } catch (err) {
2144514f5e3Sopenharmony_ci        print("Call boundUnshift failed. err: " + err + ", errCode: " + err.code);
2154514f5e3Sopenharmony_ci    }
2164514f5e3Sopenharmony_ci
2174514f5e3Sopenharmony_ci    const unboundValues = array1.values;
2184514f5e3Sopenharmony_ci    const boundValues = unboundValues.bind(normal);
2194514f5e3Sopenharmony_ci    try {
2204514f5e3Sopenharmony_ci        boundValues();
2214514f5e3Sopenharmony_ci        print("Call boundValues succeed.");
2224514f5e3Sopenharmony_ci    } catch (err) {
2234514f5e3Sopenharmony_ci        print("Call boundValues failed. err: " + err + ", errCode: " + err.code);
2244514f5e3Sopenharmony_ci    }
2254514f5e3Sopenharmony_ci
2264514f5e3Sopenharmony_ci    const unboundIncludes = array1.includes;
2274514f5e3Sopenharmony_ci    const boundIncludes = unboundIncludes.bind(normal);
2284514f5e3Sopenharmony_ci    try {
2294514f5e3Sopenharmony_ci        boundIncludes();
2304514f5e3Sopenharmony_ci        print("Call boundIncludes succeed.");
2314514f5e3Sopenharmony_ci    } catch (err) {
2324514f5e3Sopenharmony_ci        print("Call boundIncludes failed. err: " + err + ", errCode: " + err.code);
2334514f5e3Sopenharmony_ci    }
2344514f5e3Sopenharmony_ci
2354514f5e3Sopenharmony_ci    const unboundShrinkTo = array1.shrinkTo;
2364514f5e3Sopenharmony_ci    const boundShrinkTo = unboundShrinkTo.bind(normal);
2374514f5e3Sopenharmony_ci    try {
2384514f5e3Sopenharmony_ci        boundShrinkTo();
2394514f5e3Sopenharmony_ci        print("Call boundShrinkTo succeed.");
2404514f5e3Sopenharmony_ci    } catch (err) {
2414514f5e3Sopenharmony_ci        print("Call boundShrinkTo failed. err: " + err + ", errCode: " + err.code);
2424514f5e3Sopenharmony_ci    }
2434514f5e3Sopenharmony_ci
2444514f5e3Sopenharmony_ci    const unboundExtendTo = array1.extendTo;
2454514f5e3Sopenharmony_ci    const boundExtendTo = unboundExtendTo.bind(normal);
2464514f5e3Sopenharmony_ci    try {
2474514f5e3Sopenharmony_ci        boundExtendTo();
2484514f5e3Sopenharmony_ci        print("Call boundExtendTo succeed.");
2494514f5e3Sopenharmony_ci    } catch (err) {
2504514f5e3Sopenharmony_ci        print("Call boundExtendTo failed. err: " + err + ", errCode: " + err.code);
2514514f5e3Sopenharmony_ci    }
2524514f5e3Sopenharmony_ci}
2534514f5e3Sopenharmony_ci
2544514f5e3Sopenharmony_ci// SendableMap ut
2554514f5e3Sopenharmony_cifunction bindErrorTestMap() {
2564514f5e3Sopenharmony_ci    print("Start map bindErrorTest");
2574514f5e3Sopenharmony_ci    const map0 = new SendableMap<string>([['key', 'value']]);
2584514f5e3Sopenharmony_ci    const normal = new NormalClass(10);
2594514f5e3Sopenharmony_ci
2604514f5e3Sopenharmony_ci    const unboundClear = map0.clear;
2614514f5e3Sopenharmony_ci    const boundClear = unboundClear.bind(normal);
2624514f5e3Sopenharmony_ci    try {
2634514f5e3Sopenharmony_ci        boundClear();
2644514f5e3Sopenharmony_ci        print("Call boundClear succeed.");
2654514f5e3Sopenharmony_ci    } catch (err) {
2664514f5e3Sopenharmony_ci        print("Call boundClear failed. err: " + err + ", errCode: " + err.code);
2674514f5e3Sopenharmony_ci    }
2684514f5e3Sopenharmony_ci
2694514f5e3Sopenharmony_ci    const unboundDelete = map0.delete;
2704514f5e3Sopenharmony_ci    const boundDelete = unboundDelete.bind(normal);
2714514f5e3Sopenharmony_ci    try {
2724514f5e3Sopenharmony_ci        boundDelete();
2734514f5e3Sopenharmony_ci        print("Call boundDelete succeed.");
2744514f5e3Sopenharmony_ci    } catch (err) {
2754514f5e3Sopenharmony_ci        print("Call boundDelete failed. err: " + err + ", errCode: " + err.code);
2764514f5e3Sopenharmony_ci    }
2774514f5e3Sopenharmony_ci
2784514f5e3Sopenharmony_ci    const unboundEntries = map0.entries;
2794514f5e3Sopenharmony_ci    const boundEntries = unboundEntries.bind(normal);
2804514f5e3Sopenharmony_ci    try {
2814514f5e3Sopenharmony_ci        boundEntries();
2824514f5e3Sopenharmony_ci        print("Call boundEntries succeed.");
2834514f5e3Sopenharmony_ci    } catch (err) {
2844514f5e3Sopenharmony_ci        print("Call boundEntries failed. err: " + err + ", errCode: " + err.code);
2854514f5e3Sopenharmony_ci    }
2864514f5e3Sopenharmony_ci
2874514f5e3Sopenharmony_ci    const unboundForEach = map0.forEach;
2884514f5e3Sopenharmony_ci    const boundForEach = unboundForEach.bind(normal);
2894514f5e3Sopenharmony_ci    try {
2904514f5e3Sopenharmony_ci        boundForEach();
2914514f5e3Sopenharmony_ci        print("Call boundForEach succeed.");
2924514f5e3Sopenharmony_ci    } catch (err) {
2934514f5e3Sopenharmony_ci        print("Call boundForEach failed. err: " + err + ", errCode: " + err.code);
2944514f5e3Sopenharmony_ci    }
2954514f5e3Sopenharmony_ci
2964514f5e3Sopenharmony_ci    const unboundGet = map0.get;
2974514f5e3Sopenharmony_ci    const boundGet = unboundGet.bind(normal);
2984514f5e3Sopenharmony_ci    try {
2994514f5e3Sopenharmony_ci        boundGet();
3004514f5e3Sopenharmony_ci        print("Call boundGet succeed.");
3014514f5e3Sopenharmony_ci    } catch (err) {
3024514f5e3Sopenharmony_ci        print("Call boundGet failed. err: " + err + ", errCode: " + err.code);
3034514f5e3Sopenharmony_ci    }
3044514f5e3Sopenharmony_ci
3054514f5e3Sopenharmony_ci    const unboundHas = map0.has;
3064514f5e3Sopenharmony_ci    const boundHas = unboundHas.bind(normal);
3074514f5e3Sopenharmony_ci    try {
3084514f5e3Sopenharmony_ci        boundHas();
3094514f5e3Sopenharmony_ci        print("Call boundHas succeed.");
3104514f5e3Sopenharmony_ci    } catch (err) {
3114514f5e3Sopenharmony_ci        print("Call boundHas failed. err: " + err + ", errCode: " + err.code);
3124514f5e3Sopenharmony_ci    }
3134514f5e3Sopenharmony_ci
3144514f5e3Sopenharmony_ci    const unboundKeys = map0.keys;
3154514f5e3Sopenharmony_ci    const boundKeys = unboundKeys.bind(normal);
3164514f5e3Sopenharmony_ci    try {
3174514f5e3Sopenharmony_ci        boundKeys();
3184514f5e3Sopenharmony_ci        print("Call boundKeys succeed.");
3194514f5e3Sopenharmony_ci    } catch (err) {
3204514f5e3Sopenharmony_ci        print("Call boundKeys failed. err: " + err + ", errCode: " + err.code);
3214514f5e3Sopenharmony_ci    }
3224514f5e3Sopenharmony_ci
3234514f5e3Sopenharmony_ci    const unboundSet = map0.set;
3244514f5e3Sopenharmony_ci    const boundSet = unboundSet.bind(normal);
3254514f5e3Sopenharmony_ci    try {
3264514f5e3Sopenharmony_ci        boundSet();
3274514f5e3Sopenharmony_ci        print("Call boundSet succeed.");
3284514f5e3Sopenharmony_ci    } catch (err) {
3294514f5e3Sopenharmony_ci        print("Call boundSet failed. err: " + err + ", errCode: " + err.code);
3304514f5e3Sopenharmony_ci    }
3314514f5e3Sopenharmony_ci
3324514f5e3Sopenharmony_ci    const unboundValues = map0.values;
3334514f5e3Sopenharmony_ci    const boundValues = unboundValues.bind(normal);
3344514f5e3Sopenharmony_ci    try {
3354514f5e3Sopenharmony_ci        boundValues();
3364514f5e3Sopenharmony_ci        print("Call boundValues succeed.");
3374514f5e3Sopenharmony_ci    } catch (err) {
3384514f5e3Sopenharmony_ci        print("Call boundValues failed. err: " + err + ", errCode: " + err.code);
3394514f5e3Sopenharmony_ci    }
3404514f5e3Sopenharmony_ci}
3414514f5e3Sopenharmony_ci
3424514f5e3Sopenharmony_ci// SendableSet ut
3434514f5e3Sopenharmony_cifunction bindErrorTestSet() {
3444514f5e3Sopenharmony_ci    print("Start set bindErrorTest");
3454514f5e3Sopenharmony_ci    const set0 = new SendableSet<number>([0, 1, 2]);
3464514f5e3Sopenharmony_ci    const normal = new NormalClass(10);
3474514f5e3Sopenharmony_ci
3484514f5e3Sopenharmony_ci    const unboundAdd = set0.add;
3494514f5e3Sopenharmony_ci    const boundAdd = unboundAdd.bind(normal);
3504514f5e3Sopenharmony_ci    try {
3514514f5e3Sopenharmony_ci        boundAdd();
3524514f5e3Sopenharmony_ci        print("Call boundAdd succeed.");
3534514f5e3Sopenharmony_ci    } catch (err) {
3544514f5e3Sopenharmony_ci        print("Call boundAdd failed. err: " + err + ", errCode: " + err.code);
3554514f5e3Sopenharmony_ci    }
3564514f5e3Sopenharmony_ci
3574514f5e3Sopenharmony_ci    const unboundClear = set0.clear;
3584514f5e3Sopenharmony_ci    const boundClear = unboundClear.bind(normal);
3594514f5e3Sopenharmony_ci    try {
3604514f5e3Sopenharmony_ci        boundClear();
3614514f5e3Sopenharmony_ci        print("Call boundClear succeed.");
3624514f5e3Sopenharmony_ci    } catch (err) {
3634514f5e3Sopenharmony_ci        print("Call boundClear failed. err: " + err + ", errCode: " + err.code);
3644514f5e3Sopenharmony_ci    }
3654514f5e3Sopenharmony_ci
3664514f5e3Sopenharmony_ci    const unboundDelete = set0.delete;
3674514f5e3Sopenharmony_ci    const boundDelete = unboundDelete.bind(normal);
3684514f5e3Sopenharmony_ci    try {
3694514f5e3Sopenharmony_ci        boundDelete();
3704514f5e3Sopenharmony_ci        print("Call boundDelete succeed.");
3714514f5e3Sopenharmony_ci    } catch (err) {
3724514f5e3Sopenharmony_ci        print("Call boundDelete failed. err: " + err + ", errCode: " + err.code);
3734514f5e3Sopenharmony_ci    }
3744514f5e3Sopenharmony_ci
3754514f5e3Sopenharmony_ci    const unboundEntries = set0.entries;
3764514f5e3Sopenharmony_ci    const boundEntries = unboundEntries.bind(normal);
3774514f5e3Sopenharmony_ci    try {
3784514f5e3Sopenharmony_ci        boundEntries();
3794514f5e3Sopenharmony_ci        print("Call boundEntries succeed.");
3804514f5e3Sopenharmony_ci    } catch (err) {
3814514f5e3Sopenharmony_ci        print("Call boundEntries failed. err: " + err + ", errCode: " + err.code);
3824514f5e3Sopenharmony_ci    }
3834514f5e3Sopenharmony_ci
3844514f5e3Sopenharmony_ci    const unboundForEach = set0.forEach;
3854514f5e3Sopenharmony_ci    const boundForEach = unboundForEach.bind(normal);
3864514f5e3Sopenharmony_ci    try {
3874514f5e3Sopenharmony_ci        boundForEach();
3884514f5e3Sopenharmony_ci        print("Call boundForEach succeed.");
3894514f5e3Sopenharmony_ci    } catch (err) {
3904514f5e3Sopenharmony_ci        print("Call boundForEach failed. err: " + err + ", errCode: " + err.code);
3914514f5e3Sopenharmony_ci    }
3924514f5e3Sopenharmony_ci
3934514f5e3Sopenharmony_ci    const unboundHas = set0.has;
3944514f5e3Sopenharmony_ci    const boundHas = unboundHas.bind(normal);
3954514f5e3Sopenharmony_ci    try {
3964514f5e3Sopenharmony_ci        boundHas();
3974514f5e3Sopenharmony_ci        print("Call boundHas succeed.");
3984514f5e3Sopenharmony_ci    } catch (err) {
3994514f5e3Sopenharmony_ci        print("Call boundHas failed. err: " + err + ", errCode: " + err.code);
4004514f5e3Sopenharmony_ci    }
4014514f5e3Sopenharmony_ci
4024514f5e3Sopenharmony_ci    const unboundValues = set0.values;
4034514f5e3Sopenharmony_ci    const boundValues = unboundValues.bind(normal);
4044514f5e3Sopenharmony_ci    try {
4054514f5e3Sopenharmony_ci        boundValues();
4064514f5e3Sopenharmony_ci        print("Call boundValues succeed.");
4074514f5e3Sopenharmony_ci    } catch (err) {
4084514f5e3Sopenharmony_ci        print("Call boundValues failed. err: " + err + ", errCode: " + err.code);
4094514f5e3Sopenharmony_ci    }
4104514f5e3Sopenharmony_ci}
4114514f5e3Sopenharmony_ci
4124514f5e3Sopenharmony_ci// for SendableArray
4134514f5e3Sopenharmony_cifunction createErrorTest(): void {
4144514f5e3Sopenharmony_ci    print("Start createErrorTest");
4154514f5e3Sopenharmony_ci    try {
4164514f5e3Sopenharmony_ci        const arr = new SendableArray<string>(-1);
4174514f5e3Sopenharmony_ci        print("Init with small first element: -1 success.");
4184514f5e3Sopenharmony_ci    } catch (err) {
4194514f5e3Sopenharmony_ci        print("Init with small first element: -1, err: " + err + ", errCode: " + err.code);
4204514f5e3Sopenharmony_ci    }
4214514f5e3Sopenharmony_ci
4224514f5e3Sopenharmony_ci    try {
4234514f5e3Sopenharmony_ci        const arr = new SendableArray<string>(0xffff);
4244514f5e3Sopenharmony_ci        print("Init with big first element: 0xffff success.");
4254514f5e3Sopenharmony_ci    } catch (err) {
4264514f5e3Sopenharmony_ci        print("Init with big first element: 0xffff, err: " + err + ", errCode: " + err.code);
4274514f5e3Sopenharmony_ci    }
4284514f5e3Sopenharmony_ci
4294514f5e3Sopenharmony_ci    try {
4304514f5e3Sopenharmony_ci        const arr = new SendableArray<string>(0xffffffffff);
4314514f5e3Sopenharmony_ci        print("Init exceed max length success.");
4324514f5e3Sopenharmony_ci    } catch (err) {
4334514f5e3Sopenharmony_ci        print("Init exceed max length: err: " + err + ", errCode: " + err.code);
4344514f5e3Sopenharmony_ci    }
4354514f5e3Sopenharmony_ci
4364514f5e3Sopenharmony_ci    try {
4374514f5e3Sopenharmony_ci        const arr = new SendableArray<NormalClass>(new NormalClass(1), new NormalClass(2));
4384514f5e3Sopenharmony_ci        print("Create with non-sendable element success.");
4394514f5e3Sopenharmony_ci    } catch (err) {
4404514f5e3Sopenharmony_ci        print("Create with non-sendable element fail. err: " + err + ", errCode: " + err.code);
4414514f5e3Sopenharmony_ci    }
4424514f5e3Sopenharmony_ci}
4434514f5e3Sopenharmony_ci
4444514f5e3Sopenharmony_cifunction fromErrorTest(): void {
4454514f5e3Sopenharmony_ci    print("Start fromErrorTest");
4464514f5e3Sopenharmony_ci    try {
4474514f5e3Sopenharmony_ci        SendableArray.from<NormalClass>(Array.from([new NormalClass(1), new NormalClass(2)]));
4484514f5e3Sopenharmony_ci        print("Create from non-sendable iterator success.");
4494514f5e3Sopenharmony_ci    } catch (err) {
4504514f5e3Sopenharmony_ci        print("Create from non-sendable iterator fail. err: " + err + ", errCode: " + err.code);
4514514f5e3Sopenharmony_ci    }
4524514f5e3Sopenharmony_ci
4534514f5e3Sopenharmony_ci    try {
4544514f5e3Sopenharmony_ci        SendableArray.from<NormalClass>([new NormalClass(1), new NormalClass(2)]);
4554514f5e3Sopenharmony_ci        print("Create from non-sendable element success.");
4564514f5e3Sopenharmony_ci    } catch (err) {
4574514f5e3Sopenharmony_ci        print("Create from non-sendable element fail. err: " + err + ", errCode: " + err.code);
4584514f5e3Sopenharmony_ci    }
4594514f5e3Sopenharmony_ci    try {
4604514f5e3Sopenharmony_ci        SendableArray.from<number, NormalClass>([1, 2, 3], (x: number) => new NormalClass(x));
4614514f5e3Sopenharmony_ci        print("Create from mapper: non-sendable element success.");
4624514f5e3Sopenharmony_ci    } catch (err) {
4634514f5e3Sopenharmony_ci        print("Create from mapper: non-sendable element fail. err: " + err + ", errCode: " + err.code);
4644514f5e3Sopenharmony_ci    }
4654514f5e3Sopenharmony_ci}
4664514f5e3Sopenharmony_ci
4674514f5e3Sopenharmony_cifunction staticCreateErrorTest(): void {
4684514f5e3Sopenharmony_ci    print("Start staticCreateErrorTest");
4694514f5e3Sopenharmony_ci    try {
4704514f5e3Sopenharmony_ci        SendableArray.create<NormalClass>(4, new NormalClass(1), new NormalClass(2));
4714514f5e3Sopenharmony_ci        print("Static create with non-sendable initialValue success.");
4724514f5e3Sopenharmony_ci    } catch (err) {
4734514f5e3Sopenharmony_ci        print("Static create from non-sendable initialValue fail. err: " + err + ", errCode: " + err.code);
4744514f5e3Sopenharmony_ci    }
4754514f5e3Sopenharmony_ci}
4764514f5e3Sopenharmony_ci
4774514f5e3Sopenharmony_cifunction atErrorTest() {
4784514f5e3Sopenharmony_ci    print("Start atErrorTest");
4794514f5e3Sopenharmony_ci    const array1 = new SendableArray<number>(5, 12, 8, 130, 44);
4804514f5e3Sopenharmony_ci    try {
4814514f5e3Sopenharmony_ci        print("at invalid index success: " + array1.at("hi"));
4824514f5e3Sopenharmony_ci    } catch (err) {
4834514f5e3Sopenharmony_ci        print("at invalid index: err: " + err + ", errCode: " + err.code);
4844514f5e3Sopenharmony_ci    }
4854514f5e3Sopenharmony_ci}
4864514f5e3Sopenharmony_ci
4874514f5e3Sopenharmony_cifunction concatErrorTest(): void {
4884514f5e3Sopenharmony_ci    print("Start concatErrorTest");
4894514f5e3Sopenharmony_ci    let array: SendableArray<number> = new SendableArray<number>(1, 3, 5);
4904514f5e3Sopenharmony_ci    let normalArray = new Array<NormalClass>(new NormalClass(2), new NormalClass(4), new NormalClass(6));
4914514f5e3Sopenharmony_ci
4924514f5e3Sopenharmony_ci    try {
4934514f5e3Sopenharmony_ci        array.concat(normalArray);
4944514f5e3Sopenharmony_ci        print("concat with non-sendable array success.");
4954514f5e3Sopenharmony_ci    } catch (err) {
4964514f5e3Sopenharmony_ci        print("concat with non-sendable array fail.err: " + err + ", errCode: " + err.code);
4974514f5e3Sopenharmony_ci    }
4984514f5e3Sopenharmony_ci
4994514f5e3Sopenharmony_ci    try {
5004514f5e3Sopenharmony_ci        array.concat(new NormalClass(2));
5014514f5e3Sopenharmony_ci        print("concat with non-sendable element success.");
5024514f5e3Sopenharmony_ci    } catch (err) {
5034514f5e3Sopenharmony_ci        print("concat with non-sendable element fail. err: " + err + ", errCode: " + err.code);
5044514f5e3Sopenharmony_ci    }
5054514f5e3Sopenharmony_ci}
5064514f5e3Sopenharmony_ci
5074514f5e3Sopenharmony_cifunction directCallConstructor() {
5084514f5e3Sopenharmony_ci    print("Start directCallConstructor");
5094514f5e3Sopenharmony_ci
5104514f5e3Sopenharmony_ci    try {
5114514f5e3Sopenharmony_ci        SendableArray<number>();
5124514f5e3Sopenharmony_ci        print('direct call SendableArray ctor with empty success.');
5134514f5e3Sopenharmony_ci    } catch (err) {
5144514f5e3Sopenharmony_ci        print('direct call SendableArray ctor with empty fail. err: ' + err + ', errCode: ' + err.code);
5154514f5e3Sopenharmony_ci    }
5164514f5e3Sopenharmony_ci
5174514f5e3Sopenharmony_ci    try {
5184514f5e3Sopenharmony_ci        SendableArray<number>(5);
5194514f5e3Sopenharmony_ci        print('direct call SendableArray ctor with length.');
5204514f5e3Sopenharmony_ci    } catch (err) {
5214514f5e3Sopenharmony_ci        print('direct call SendableArray ctor with length fail. err: ' + err + ', errCode: ' + err.code);
5224514f5e3Sopenharmony_ci    }
5234514f5e3Sopenharmony_ci
5244514f5e3Sopenharmony_ci    try {
5254514f5e3Sopenharmony_ci        SendableArray<number>(5, 10);
5264514f5e3Sopenharmony_ci        print('direct call SendableArray ctor with elements.');
5274514f5e3Sopenharmony_ci    } catch (err) {
5284514f5e3Sopenharmony_ci        print('direct call SendableArray ctor with elements fail. err: ' + err + ', errCode: ' + err.code);
5294514f5e3Sopenharmony_ci    }
5304514f5e3Sopenharmony_ci}
5314514f5e3Sopenharmony_ci
5324514f5e3Sopenharmony_cifunction directCallConstructorMap() {
5334514f5e3Sopenharmony_ci    print("Start map directCallConstructor");
5344514f5e3Sopenharmony_ci
5354514f5e3Sopenharmony_ci    try {
5364514f5e3Sopenharmony_ci        SendableMap<number, number>();
5374514f5e3Sopenharmony_ci        print('direct call SendableMap ctor with empty success.');
5384514f5e3Sopenharmony_ci    } catch (err) {
5394514f5e3Sopenharmony_ci        print('direct call SendableMap ctor with empty fail. err: ' + err + ', errCode: ' + err.code);
5404514f5e3Sopenharmony_ci    }
5414514f5e3Sopenharmony_ci
5424514f5e3Sopenharmony_ci    try {
5434514f5e3Sopenharmony_ci        SendableMap<number, number>(5);
5444514f5e3Sopenharmony_ci        print('direct call SendableMap ctor with length.');
5454514f5e3Sopenharmony_ci    } catch (err) {
5464514f5e3Sopenharmony_ci        print('direct call SendableMap ctor with length fail. err: ' + err + ', errCode: ' + err.code);
5474514f5e3Sopenharmony_ci    }
5484514f5e3Sopenharmony_ci
5494514f5e3Sopenharmony_ci    try {
5504514f5e3Sopenharmony_ci        SendableMap<number, number>([[5, 10]]);
5514514f5e3Sopenharmony_ci        print('direct call SendableMap ctor with elements.');
5524514f5e3Sopenharmony_ci    } catch (err) {
5534514f5e3Sopenharmony_ci        print('direct call SendableMap ctor with elements fail. err: ' + err + ', errCode: ' + err.code);
5544514f5e3Sopenharmony_ci    }
5554514f5e3Sopenharmony_ci}
5564514f5e3Sopenharmony_ci
5574514f5e3Sopenharmony_cifunction directCallConstructorSet() {
5584514f5e3Sopenharmony_ci    print("Start set directCallConstructor");
5594514f5e3Sopenharmony_ci
5604514f5e3Sopenharmony_ci    try {
5614514f5e3Sopenharmony_ci        SendableSet<number>();
5624514f5e3Sopenharmony_ci        print('direct call SendableSet ctor with empty success.');
5634514f5e3Sopenharmony_ci    } catch (err) {
5644514f5e3Sopenharmony_ci        print('direct call SendableSet ctor with empty fail. err: ' + err + ', errCode: ' + err.code);
5654514f5e3Sopenharmony_ci    }
5664514f5e3Sopenharmony_ci
5674514f5e3Sopenharmony_ci    try {
5684514f5e3Sopenharmony_ci        SendableSet<number>(5);
5694514f5e3Sopenharmony_ci        print('direct call SendableSet ctor with length.');
5704514f5e3Sopenharmony_ci    } catch (err) {
5714514f5e3Sopenharmony_ci        print('direct call SendableSet ctor with length fail. err: ' + err + ', errCode: ' + err.code);
5724514f5e3Sopenharmony_ci    }
5734514f5e3Sopenharmony_ci
5744514f5e3Sopenharmony_ci    try {
5754514f5e3Sopenharmony_ci        SendableSet<number>(5, 10);
5764514f5e3Sopenharmony_ci        print('direct call SendableSet ctor with elements.');
5774514f5e3Sopenharmony_ci    } catch (err) {
5784514f5e3Sopenharmony_ci        print('direct call SendableSet ctor with elements fail. err: ' + err + ', errCode: ' + err.code);
5794514f5e3Sopenharmony_ci    }
5804514f5e3Sopenharmony_ci}
5814514f5e3Sopenharmony_ci
5824514f5e3Sopenharmony_cifunction fillErrorTest() {
5834514f5e3Sopenharmony_ci    print("Start Test fillErrorTest")
5844514f5e3Sopenharmony_ci    const array1 = new SendableArray<number>(1, 2, 3, 4);
5854514f5e3Sopenharmony_ci    try {
5864514f5e3Sopenharmony_ci        array1.fill(new NormalClass(2), 2, 4);
5874514f5e3Sopenharmony_ci        print("fill array with non-sendable object and position success.");
5884514f5e3Sopenharmony_ci    } catch (err) {
5894514f5e3Sopenharmony_ci        print("fill array with non-sendable object and position fail. err: " + err + ", errCode: " + err.code);
5904514f5e3Sopenharmony_ci    }
5914514f5e3Sopenharmony_ci
5924514f5e3Sopenharmony_ci    try {
5934514f5e3Sopenharmony_ci        array1.fill(new NormalClass(3), 1);
5944514f5e3Sopenharmony_ci        print("fill array with non-sendable object and start position success.");
5954514f5e3Sopenharmony_ci    } catch (err) {
5964514f5e3Sopenharmony_ci        print("fill array with non-sendable object and start position fail. err: " + err + ", errCode: " + err.code);
5974514f5e3Sopenharmony_ci    }
5984514f5e3Sopenharmony_ci    try {
5994514f5e3Sopenharmony_ci        array1.fill(new NormalClass(4));
6004514f5e3Sopenharmony_ci        print("fill array with non-sendable object success.");
6014514f5e3Sopenharmony_ci    } catch (err) {
6024514f5e3Sopenharmony_ci        print("fill array with non-sendable object fail. err: " + err + ", errCode: " + err.code);
6034514f5e3Sopenharmony_ci    }
6044514f5e3Sopenharmony_ci}
6054514f5e3Sopenharmony_ci
6064514f5e3Sopenharmony_cifunction mapErrorTest() {
6074514f5e3Sopenharmony_ci    print("Start mapErrorTest")
6084514f5e3Sopenharmony_ci    const array = new SendableArray<number>(1, 4, 9, 16);
6094514f5e3Sopenharmony_ci    try {
6104514f5e3Sopenharmony_ci        array.map<NormalClass>((x: number) => new NormalClass(x));
6114514f5e3Sopenharmony_ci        print("map array with non-sendable success.");
6124514f5e3Sopenharmony_ci    } catch (err) {
6134514f5e3Sopenharmony_ci        print("map array with non-sendable fail. err: " + err + ", errCode: " + err.code);
6144514f5e3Sopenharmony_ci    }
6154514f5e3Sopenharmony_ci}
6164514f5e3Sopenharmony_ci
6174514f5e3Sopenharmony_cifunction pushErrorTest() {
6184514f5e3Sopenharmony_ci    print("Start pushErrorTest")
6194514f5e3Sopenharmony_ci    let array: SendableArray<number> = new SendableArray<number>(1, 3, 5);
6204514f5e3Sopenharmony_ci    try {
6214514f5e3Sopenharmony_ci        array.push(new NormalClass(5));
6224514f5e3Sopenharmony_ci        print("push array with non-sendable element success.");
6234514f5e3Sopenharmony_ci    } catch (err) {
6244514f5e3Sopenharmony_ci        print("push array with non-sendable element fail. err: " + err + ", errCode: " + err.code);
6254514f5e3Sopenharmony_ci    }
6264514f5e3Sopenharmony_ci}
6274514f5e3Sopenharmony_ci
6284514f5e3Sopenharmony_cifunction unshiftErrorTest() {
6294514f5e3Sopenharmony_ci    print("Start Test unshiftErrorTest")
6304514f5e3Sopenharmony_ci    const array = new SendableArray<number>(1, 2, 3);
6314514f5e3Sopenharmony_ci    try {
6324514f5e3Sopenharmony_ci        array.unshift(new NormalClass(4), new NormalClass(5));
6334514f5e3Sopenharmony_ci        print("unshift array with non-sendable element success.");
6344514f5e3Sopenharmony_ci    } catch (err) {
6354514f5e3Sopenharmony_ci        print("unshift array with non-sendable element fail. err: " + err + ", errCode: " + err.code);
6364514f5e3Sopenharmony_ci    }
6374514f5e3Sopenharmony_ci}
6384514f5e3Sopenharmony_ci
6394514f5e3Sopenharmony_cifunction extendToErrorTest() {
6404514f5e3Sopenharmony_ci    print("Start Test extendToErrorTest")
6414514f5e3Sopenharmony_ci    const array = new SendableArray<number>(1, 2, 3);
6424514f5e3Sopenharmony_ci    try {
6434514f5e3Sopenharmony_ci        array.extendTo(5, new NormalClass(4));
6444514f5e3Sopenharmony_ci        print("extendTo array with non-sendable element success.");
6454514f5e3Sopenharmony_ci    } catch (err) {
6464514f5e3Sopenharmony_ci        print("extendTo array with non-sendable element fail. err: " + err + ", errCode: " + err.code);
6474514f5e3Sopenharmony_ci    }
6484514f5e3Sopenharmony_ci}
6494514f5e3Sopenharmony_ci
6504514f5e3Sopenharmony_cifunction concurrencyErrorTest() {
6514514f5e3Sopenharmony_ci    const array1 = new SendableArray<number>(1, 2, 3);
6524514f5e3Sopenharmony_ci    try {
6534514f5e3Sopenharmony_ci        array1.forEach((key: number, _: number, array: SendableArray) => {
6544514f5e3Sopenharmony_ci          array.push(5);
6554514f5e3Sopenharmony_ci        });
6564514f5e3Sopenharmony_ci      } catch (err) {
6574514f5e3Sopenharmony_ci        print("add element while iterate array fail. err: " + err + ", errCode: " + err.code);
6584514f5e3Sopenharmony_ci      }
6594514f5e3Sopenharmony_ci      try {
6604514f5e3Sopenharmony_ci        array1.forEach((key: number, _: number, array: SendableArray) => {
6614514f5e3Sopenharmony_ci          if (key % 2 == 0) {
6624514f5e3Sopenharmony_ci            array.pop();
6634514f5e3Sopenharmony_ci          }
6644514f5e3Sopenharmony_ci        });
6654514f5e3Sopenharmony_ci      } catch (err) {
6664514f5e3Sopenharmony_ci        print("pop element while iterate array fail. err: " + err + ", errCode: " + err.code);
6674514f5e3Sopenharmony_ci      }
6684514f5e3Sopenharmony_ci      try {
6694514f5e3Sopenharmony_ci        array1.forEach((key: number, _: number, array: SendableArray) => {
6704514f5e3Sopenharmony_ci          array.shrinkTo(0);
6714514f5e3Sopenharmony_ci        });
6724514f5e3Sopenharmony_ci      } catch (err) {
6734514f5e3Sopenharmony_ci        print("shrink while iterate array fail. err: " + err + ", errCode: " + err.code);
6744514f5e3Sopenharmony_ci      }
6754514f5e3Sopenharmony_ci      try {
6764514f5e3Sopenharmony_ci        array1.forEach((key: number, _: number, array: SendableArray) => {
6774514f5e3Sopenharmony_ci          array.extendTo(array1.length + 1, 100);
6784514f5e3Sopenharmony_ci        });
6794514f5e3Sopenharmony_ci      } catch (err) {
6804514f5e3Sopenharmony_ci        print("extend while iterate array fail. err: " + err + ", errCode: " + err.code);
6814514f5e3Sopenharmony_ci      }
6824514f5e3Sopenharmony_ci}
6834514f5e3Sopenharmony_ci
6844514f5e3Sopenharmony_ci// common bindTest
6854514f5e3Sopenharmony_cibindErrorTest();
6864514f5e3Sopenharmony_ciprint('Start Test SendableMap');
6874514f5e3Sopenharmony_cibindErrorTestMap();
6884514f5e3Sopenharmony_ci
6894514f5e3Sopenharmony_ciprint('Start Test SendableSet');
6904514f5e3Sopenharmony_cibindErrorTestSet();
6914514f5e3Sopenharmony_ci
6924514f5e3Sopenharmony_ciprint('Start Test SendableArray');
6934514f5e3Sopenharmony_cicreateErrorTest();
6944514f5e3Sopenharmony_cifromErrorTest();
6954514f5e3Sopenharmony_ciatErrorTest();
6964514f5e3Sopenharmony_ciconcatErrorTest();
6974514f5e3Sopenharmony_cifillErrorTest()
6984514f5e3Sopenharmony_cimapErrorTest()
6994514f5e3Sopenharmony_cipushErrorTest()
7004514f5e3Sopenharmony_ciunshiftErrorTest()
7014514f5e3Sopenharmony_cistaticCreateErrorTest();
7024514f5e3Sopenharmony_ciextendToErrorTest();
7034514f5e3Sopenharmony_cidirectCallConstructor();
7044514f5e3Sopenharmony_cidirectCallConstructorMap();
7054514f5e3Sopenharmony_cidirectCallConstructorSet();
7064514f5e3Sopenharmony_ciconcurrencyErrorTest();
707