arkcompiler_ets_runtime/test/moduletest/dynamicimportsharedmodule/dynamicimportsharedmodule.ts
DaiHN 6e91640974 Bugfix of import shared-module cross hap and dynamic-importing
issue:  https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/I9IFCJ?from=project-issue

Signed-off-by: DaiHN <daihuina1@huawei.com>
Change-Id: I05226456fc9ac316f81c7c973f5e116a7c108c83
2024-05-06 10:34:45 +08:00

61 lines
1.6 KiB
TypeScript

/*
* Copyright (c) 2024 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/*
* @tc.name:dynamicimportsharedmodule
* @tc.desc:test dynamicimportsharedmodule
* @tc.type: FUNC
* @tc.require: issue#I9IFCJ
*/
// @ts-nocheck
declare function print(str: any): string;
import {strA, strB} from "./string"
class SendableClassA {
static staticField: string = strA;
constructor() {
"use sendable";
}
testZeroLevelContext() {
print(SendableClassA.staticField);
}
testOneLevelContext() {
let x: number = 0;
(()=>{
print("testOneLevelContext");
print(SendableClassA.staticField + strB);
})();
}
testImportFunction() {
let x: number = 0;
(()=>{
print("testImportFunction");
})();
}
}
let sObj = new SendableClassA;
sObj.testZeroLevelContext();
sObj.testOneLevelContext();
sObj.testImportFunction();
import("./shared").then(m=>{
const instance = m.SingleCase.getInstance();
for(let i = 0; i < 5; i++) {
print(instance.incrementCount());
}}).catch(e=>{print(e);})