Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Xts Acts
提交
760aa9c0
X
Xts Acts
项目概览
OpenHarmony
/
Xts Acts
大约 1 年 前同步成功
通知
9
Star
22
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
X
Xts Acts
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
760aa9c0
编写于
1月 13, 2023
作者:
O
openharmony_ci
提交者:
Gitee
1月 13, 2023
浏览文件
操作
浏览文件
下载
差异文件
!7177 modify the module type of actomics module
Merge pull request !7177 from hwx1130639/master
上级
414744a2
e47e2967
变更
33
隐藏空白更改
内联
并排
Showing
33 changed file
with
809 addition
and
666 deletion
+809
-666
commonlibrary/ets_utils/atomics_lib_standard/AppScope/app.json
...nlibrary/ets_utils/atomics_lib_standard/AppScope/app.json
+21
-0
commonlibrary/ets_utils/atomics_lib_standard/AppScope/resources/base/element/string.json
..._lib_standard/AppScope/resources/base/element/string.json
+8
-0
commonlibrary/ets_utils/atomics_lib_standard/AppScope/resources/base/media/app_icon.png
...s_lib_standard/AppScope/resources/base/media/app_icon.png
+0
-0
commonlibrary/ets_utils/atomics_lib_standard/BUILD.gn
commonlibrary/ets_utils/atomics_lib_standard/BUILD.gn
+16
-8
commonlibrary/ets_utils/atomics_lib_standard/Test.json
commonlibrary/ets_utils/atomics_lib_standard/Test.json
+4
-4
commonlibrary/ets_utils/atomics_lib_standard/entry/src/main/ets/Application/AbilityStage.ts
...b_standard/entry/src/main/ets/Application/AbilityStage.ts
+22
-23
commonlibrary/ets_utils/atomics_lib_standard/entry/src/main/ets/MainAbility/MainAbility.ts
...ib_standard/entry/src/main/ets/MainAbility/MainAbility.ts
+51
-0
commonlibrary/ets_utils/atomics_lib_standard/entry/src/main/ets/MainAbility/pages/index.ets
...b_standard/entry/src/main/ets/MainAbility/pages/index.ets
+46
-0
commonlibrary/ets_utils/atomics_lib_standard/entry/src/main/ets/TestAbility/TestAbility.ts
...ib_standard/entry/src/main/ets/TestAbility/TestAbility.ts
+49
-0
commonlibrary/ets_utils/atomics_lib_standard/entry/src/main/ets/TestAbility/pages/index.ets
...b_standard/entry/src/main/ets/TestAbility/pages/index.ets
+48
-0
commonlibrary/ets_utils/atomics_lib_standard/entry/src/main/ets/TestRunner/OpenHarmonyTestRunner.ts
...rd/entry/src/main/ets/TestRunner/OpenHarmonyTestRunner.ts
+78
-0
commonlibrary/ets_utils/atomics_lib_standard/entry/src/main/ets/test/Atomics.test.js
...mics_lib_standard/entry/src/main/ets/test/Atomics.test.js
+218
-218
commonlibrary/ets_utils/atomics_lib_standard/entry/src/main/ets/test/List.test.js
...atomics_lib_standard/entry/src/main/ets/test/List.test.js
+19
-18
commonlibrary/ets_utils/atomics_lib_standard/entry/src/main/ets/workers/worker010.js
...mics_lib_standard/entry/src/main/ets/workers/worker010.js
+24
-24
commonlibrary/ets_utils/atomics_lib_standard/entry/src/main/ets/workers/worker011.js
...mics_lib_standard/entry/src/main/ets/workers/worker011.js
+30
-30
commonlibrary/ets_utils/atomics_lib_standard/entry/src/main/ets/workers/worker012.js
...mics_lib_standard/entry/src/main/ets/workers/worker012.js
+23
-23
commonlibrary/ets_utils/atomics_lib_standard/entry/src/main/ets/workers/worker020.js
...mics_lib_standard/entry/src/main/ets/workers/worker020.js
+25
-25
commonlibrary/ets_utils/atomics_lib_standard/entry/src/main/ets/workers/worker030.js
...mics_lib_standard/entry/src/main/ets/workers/worker030.js
+25
-25
commonlibrary/ets_utils/atomics_lib_standard/entry/src/main/ets/workers/worker031.js
...mics_lib_standard/entry/src/main/ets/workers/worker031.js
+25
-25
commonlibrary/ets_utils/atomics_lib_standard/entry/src/main/module.json
...ets_utils/atomics_lib_standard/entry/src/main/module.json
+40
-0
commonlibrary/ets_utils/atomics_lib_standard/entry/src/main/resources/base/element/color.json
...standard/entry/src/main/resources/base/element/color.json
+8
-0
commonlibrary/ets_utils/atomics_lib_standard/entry/src/main/resources/base/element/string.json
...tandard/entry/src/main/resources/base/element/string.json
+24
-0
commonlibrary/ets_utils/atomics_lib_standard/entry/src/main/resources/base/media/icon.png
...lib_standard/entry/src/main/resources/base/media/icon.png
+0
-0
commonlibrary/ets_utils/atomics_lib_standard/entry/src/main/resources/base/profile/main_pages.json
...ard/entry/src/main/resources/base/profile/main_pages.json
+5
-0
commonlibrary/ets_utils/atomics_lib_standard/src/main/config.json
...brary/ets_utils/atomics_lib_standard/src/main/config.json
+0
-96
commonlibrary/ets_utils/atomics_lib_standard/src/main/js/MainAbility/i18n/en-US.json
...mics_lib_standard/src/main/js/MainAbility/i18n/en-US.json
+0
-11
commonlibrary/ets_utils/atomics_lib_standard/src/main/js/MainAbility/i18n/zh-CN.json
...mics_lib_standard/src/main/js/MainAbility/i18n/zh-CN.json
+0
-11
commonlibrary/ets_utils/atomics_lib_standard/src/main/js/MainAbility/pages/index/index.css
...ib_standard/src/main/js/MainAbility/pages/index/index.css
+0
-39
commonlibrary/ets_utils/atomics_lib_standard/src/main/js/MainAbility/pages/index/index.hml
...ib_standard/src/main/js/MainAbility/pages/index/index.hml
+0
-21
commonlibrary/ets_utils/atomics_lib_standard/src/main/js/TestAbility/i18n/en-US.json
...mics_lib_standard/src/main/js/TestAbility/i18n/en-US.json
+0
-8
commonlibrary/ets_utils/atomics_lib_standard/src/main/js/TestAbility/i18n/zh-CN.json
...mics_lib_standard/src/main/js/TestAbility/i18n/zh-CN.json
+0
-8
commonlibrary/ets_utils/atomics_lib_standard/src/main/js/TestAbility/pages/index/index.hml
...ib_standard/src/main/js/TestAbility/pages/index/index.hml
+0
-21
commonlibrary/ets_utils/atomics_lib_standard/src/main/resources/base/element/string.json
..._lib_standard/src/main/resources/base/element/string.json
+0
-28
未找到文件。
commonlibrary/ets_utils/atomics_lib_standard/AppScope/app.json
0 → 100644
浏览文件 @
760aa9c0
{
"app"
:
{
"bundleName"
:
"com.example.atomicsxts"
,
"vendor"
:
"huawei"
,
"versionCode"
:
1000000
,
"versionName"
:
"1.0.0"
,
"icon"
:
"$media:icon"
,
"label"
:
"$string:app_name"
,
"distributedNotificationEnabled"
:
true
,
"debug"
:
false
,
"description"
:
"$string:app_name"
,
"keepAlive"
:
true
,
"singleUser"
:
true
,
"minAPIVersion"
:
9
,
"targetAPIVersion"
:
9
,
"car"
:
{
"apiCompatibleVersion"
:
9
,
"singleUser"
:
false
}
}
}
commonlibrary/ets_utils/atomics_lib_standard/AppScope/resources/base/element/string.json
0 → 100644
浏览文件 @
760aa9c0
{
"string"
:[
{
"name"
:
"app_name"
,
"value"
:
"AtomicsTest"
}
]
}
\ No newline at end of file
commonlibrary/ets_utils/atomics_lib_standard/
src/main/resources/base/media/
icon.png
→
commonlibrary/ets_utils/atomics_lib_standard/
AppScope/resources/base/media/app_
icon.png
浏览文件 @
760aa9c0
文件已移动
commonlibrary/ets_utils/atomics_lib_standard/BUILD.gn
浏览文件 @
760aa9c0
# Copyright (
C
) 2022 Huawei Device Co., Ltd.
# Copyright (
c
) 2022 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
...
...
@@ -14,23 +14,31 @@
import("//test/xts/tools/build/suite.gni")
ohos_js_hap_suite("atomics_js_hap") {
hap_profile = "./src/main/config.json"
hap_profile = "entry/src/main/module.json"
js_build_mode = "debug"
deps = [
":atomics_js_assets",
":atomics_resources",
]
certificate_profile = "./signature/openharmony_sx.p7b"
ets2abc = true
certificate_profile = "signature/openharmony_sx.p7b"
hap_name = "ActsAtomicsJSTest"
subsystem_name = "commonlibrary"
part_name = "ets_utils"
}
ohos_app_scope("atomics_app_profile") {
app_profile = "AppScope/app.json"
sources = [ "AppScope/resources" ]
}
ohos_js_assets("atomics_js_assets") {
js2abc = true
hap_profile = "./src/main/config.json"
source_dir = "./src/main/js"
source_dir = "entry/src/main/ets"
}
ohos_resources("atomics_resources") {
sources = [ "./src/main/resources" ]
hap_profile = "./src/main/config.json"
sources = [ "entry/src/main/resources" ]
deps = [ ":atomics_app_profile" ]
hap_profile = "entry/src/main/module.json"
}
commonlibrary/ets_utils/atomics_lib_standard/Test.json
浏览文件 @
760aa9c0
{
"description"
:
"Configuration for
startup atomics js api
Tests"
,
"description"
:
"Configuration for
hjunit demo
Tests"
,
"driver"
:
{
"type"
:
"OHJSUnitTest"
,
"test-timeout"
:
"800000"
,
"bundle-name"
:
"com.example.atomicsxts"
,
"
package-name"
:
"com.example.atomicsxts
"
,
"
module-name"
:
"entry
"
,
"shell-timeout"
:
"800000"
},
"kits"
:
[
...
...
@@ -15,5 +15,5 @@
"type"
:
"AppInstallKit"
,
"cleanup-apps"
:
true
}
]
}
\ No newline at end of file
]
}
commonlibrary/ets_utils/atomics_lib_standard/
src/main/js/TestAbility/app.j
s
→
commonlibrary/ets_utils/atomics_lib_standard/
entry/src/main/ets/Application/AbilityStage.t
s
浏览文件 @
760aa9c0
/*
* Copyright (c) 2022 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.
*/
export
default
{
onCreate
()
{
console
.
info
(
"
Application onCreate
"
);
},
onDestroy
()
{
console
.
info
(
"
Application onDestroy
"
);
}
};
/*
* Copyright (c) 2022 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.
*/
import
AbilityStage
from
"
@ohos.app.ability.AbilityStage
"
var
printLog0
=
'
Atomics:AbilityStage:
'
;
export
default
class
MyAbilityStage
extends
AbilityStage
{
onCreate
()
{
console
.
info
(
printLog0
+
"
onCreate
"
);
}
}
\ No newline at end of file
commonlibrary/ets_utils/atomics_lib_standard/
src/main/js/TestAbility/pages/index/index.cs
s
→
commonlibrary/ets_utils/atomics_lib_standard/
entry/src/main/ets/MainAbility/MainAbility.t
s
浏览文件 @
760aa9c0
/*
* Copyright (c) 2021 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.
*/
.container
{
display
:
flex
;
flex-direction
:
column
;
justify-content
:
center
;
align-items
:
center
;
left
:
0px
;
top
:
0px
;
width
:
100%
;
height
:
100%
;
}
.title
{
font-size
:
60px
;
text-align
:
center
;
width
:
100%
;
height
:
40%
;
margin
:
10px
;
}
.btn
{
width
:
50%
;
height
:
100px
;
font-size
:
40px
;
}
@media
screen
and
(
device-type
:
phone
)
and
(
orientation
:
landscape
)
{
.title
{
font-size
:
60px
;
}
}
@media
screen
and
(
device-type
:
tablet
)
and
(
orientation
:
landscape
)
{
.title
{
font-size
:
100px
;
}
}
\ No newline at end of file
/*
* Copyright (c) 2022 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.
*/
import
Ability
from
'
@ohos.app.ability.UIAbility
'
;
var
printLog
=
'
Atomic:MainAbility:
'
;
export
default
class
MainAbility
extends
Ability
{
onCreate
(
want
,
launchParam
)
{
console
.
info
(
printLog
+
'
onCreate
'
);
}
onDestroy
()
{
console
.
info
(
printLog
+
'
onDestroy
'
);
}
onWindowStageCreate
(
windowStage
)
{
// Main window is created, set main page for this ability
console
.
info
(
printLog
+
'
onWindowStageCreate
'
);
windowStage
.
loadContent
(
"
MainAbility/pages/index
"
,
(
err
,
data
)
=>
{
if
(
err
.
code
)
{
console
.
error
(
'
Failed to load the content. Cause:
'
+
JSON
.
stringify
(
err
));
return
;
}
console
.
info
(
'
Succeeded in loading the content. Data:
'
+
JSON
.
stringify
(
data
));
});
}
onWindowStageDestroy
()
{
console
.
info
(
printLog
+
'
onWindowStageDestroy
'
);
}
onForeground
()
{
console
.
info
(
printLog
+
'
onForeground
'
);
}
onBackground
()
{
console
.
info
(
printLog
+
'
onBackground
'
);
}
};
commonlibrary/ets_utils/atomics_lib_standard/
src/main/js/MainAbility/pages/index/index.j
s
→
commonlibrary/ets_utils/atomics_lib_standard/
entry/src/main/ets/MainAbility/pages/index.et
s
浏览文件 @
760aa9c0
/*
* Copyright (C) 2022 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.
*/
import
AbilityDelegatorRegistry
from
'
@ohos.application.abilityDelegatorRegistry
'
import
{
Hypium
}
from
'
@ohos/hypium
'
import
testsuite
from
'
../../../test/List.test
'
import
app
from
'
@system.app
'
import
device
from
'
@system.device
'
import
router
from
'
@system.router
'
export
default
{
data
:
{
title
:
''
},
onInit
()
{
this
.
title
=
this
.
$t
(
'
strings.world
'
);
},
onShow
()
{
console
.
info
(
'
onShow finish
'
)
var
abilityDelegator
=
AbilityDelegatorRegistry
.
getAbilityDelegator
()
var
abilityDelegatorArguments
=
AbilityDelegatorRegistry
.
getArguments
()
console
.
info
(
'
start run testcase!!!
'
)
Hypium
.
hypiumTest
(
abilityDelegator
,
abilityDelegatorArguments
,
testsuite
)
},
touchMove
(
e
)
{
if
(
e
.
direction
===
'
right
'
)
{
this
.
appExit
();
}
},
appExit
()
{
app
.
terminate
()
}
}
/*
* Copyright (c) 2022 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.
*/
import router from '@ohos.router';
import AbilityDelegatorRegistry from '@ohos.application.abilityDelegatorRegistry'
import { Hypium } from '@ohos/hypium'
import testsuite from '../../test/List.test'
@Entry
@Component
struct Index {
@State message: string = 'MainAbility'
aboutToAppear() {
console.info("start run testcase!!!!");
var abilityDelegator: any;
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
var abilityDelegatorArguments: any;
abilityDelegatorArguments = AbilityDelegatorRegistry.getArguments();
console.info('start run testcase!!!');
Hypium.hypiumTest(abilityDelegator, abilityDelegatorArguments, testsuite);
}
build() {
Row() {
Column() {
Text(this.message)
.fontSize(50)
.fontWeight(FontWeight.Bold)
}
.width('100%')
}
.height('100%')
}
}
\ No newline at end of file
commonlibrary/ets_utils/atomics_lib_standard/
src/main/js/MainAbility/app.j
s
→
commonlibrary/ets_utils/atomics_lib_standard/
entry/src/main/ets/TestAbility/TestAbility.t
s
浏览文件 @
760aa9c0
/*
* Copyright (C) 2022 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.
*/
export
default
{
onCreate
()
{
console
.
info
(
'
TestApplication onCreate
'
)
},
onDestroy
()
{
console
.
info
(
"
TestApplication onDestroy
"
);
}
};
/*
* Copyright (c) 2022 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.
*/
import
Ability
from
'
@ohos.app.ability.UIAbility
'
export
default
class
TestAbility
extends
Ability
{
onCreate
(
want
,
launchParam
)
{
console
.
log
(
'
TestAbility onCreate
'
);
}
onDestroy
()
{
console
.
log
(
'
TestAbility onDestroy
'
);
}
onWindowStageCreate
(
windowStage
)
{
console
.
log
(
'
TestAbility onWindowStageCreate
'
);
windowStage
.
loadContent
(
"
TestAbility/pages/index
"
,
(
err
,
data
)
=>
{
if
(
err
.
code
)
{
console
.
error
(
'
Failed to load the content. Cause:
'
+
JSON
.
stringify
(
err
));
return
;
}
console
.
info
(
'
Succeeded in loading the content. Data:
'
+
JSON
.
stringify
(
data
));
});
}
onWindowStageDestroy
()
{
console
.
log
(
'
TestAbility onWindowStageDestroy
'
);
}
onForeground
()
{
console
.
log
(
'
TestAbility onForeground
'
);
}
onBackground
()
{
console
.
log
(
'
TestAbility onBackground
'
);
}
};
\ No newline at end of file
commonlibrary/ets_utils/atomics_lib_standard/
src/main/js/TestAbility/pages/index/index.j
s
→
commonlibrary/ets_utils/atomics_lib_standard/
entry/src/main/ets/TestAbility/pages/index.et
s
浏览文件 @
760aa9c0
/*
* Copyright (c) 2022 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.
*/
export
default
{
data
:
{
title
:
""
},
onInit
()
{
this
.
title
=
this
.
$t
(
'
strings.world
'
);
}
}
/*
* Copyright (c) 2022 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.
*/
import router from '@ohos.router';
@Entry
@Component
struct Index {
aboutToAppear() {
console.info('TestAbility index aboutToAppear')
}
@State message: string = 'Hello World'
build() {
Row() {
Column() {
Text(this.message)
.fontSize(50)
.fontWeight(FontWeight.Bold)
Button() {
Text('next page')
.fontSize(20)
.fontWeight(FontWeight.Bold)
}.type(ButtonType.Capsule)
.margin({
top: 20
})
.backgroundColor('#0D9FFB')
.width('35%')
.height('5%')
.onClick(()=>{
})
}
.width('100%')
}
.height('100%')
}
}
\ No newline at end of file
commonlibrary/ets_utils/atomics_lib_standard/
src/main/js/TestRunner/OpenHarmonyTestRunner.j
s
→
commonlibrary/ets_utils/atomics_lib_standard/
entry/src/main/ets/TestRunner/OpenHarmonyTestRunner.t
s
浏览文件 @
760aa9c0
/*
* Copyright (c) 2022 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.
*/
import
AbilityDelegatorRegistry
from
'
@ohos.application.abilityDelegatorRegistry
'
function
translateParamsToString
(
parameters
)
{
const
keySet
=
new
Set
([
'
-s class
'
,
'
-s notClass
'
,
'
-s suite
'
,
'
-s itName
'
,
'
-s level
'
,
'
-s testType
'
,
'
-s size
'
,
'
-s timeout
'
,
'
-s package
'
,
'
-s dryRun
'
])
let
targetParams
=
''
;
for
(
const
key
in
parameters
)
{
if
(
keySet
.
has
(
key
))
{
targetParams
+=
'
'
+
key
+
'
'
+
parameters
[
key
]
}
}
return
targetParams
.
trim
()
}
export
default
{
onPrepare
()
{
console
.
info
(
'
OpenHarmonyTestRunner OnPrepare
'
)
},
onRun
()
{
console
.
log
(
'
OpenHarmonyTestRunner onRun run
'
)
var
abilityDelegatorArguments
=
AbilityDelegatorRegistry
.
getArguments
()
var
abilityDelegator
=
AbilityDelegatorRegistry
.
getAbilityDelegator
()
var
testAbilityName
=
abilityDelegatorArguments
.
parameters
[
'
-p
'
]
+
'
.MainAbility
'
var
cmd
=
'
aa start -d 0 -a
'
+
testAbilityName
+
'
-b
'
+
abilityDelegatorArguments
.
bundleName
cmd
+=
'
'
+
translateParamsToString
(
abilityDelegatorArguments
.
parameters
)
var
debug
=
abilityDelegatorArguments
.
parameters
[
"
-D
"
]
console
.
info
(
'
debug value :
'
+
debug
)
if
(
debug
==
'
true
'
)
{
cmd
+=
'
-D
'
}
console
.
info
(
'
cmd :
'
+
cmd
)
abilityDelegator
.
executeShellCommand
(
cmd
,
(
err
,
data
)
=>
{
console
.
info
(
'
executeShellCommand : err :
'
+
JSON
.
stringify
(
err
));
console
.
info
(
'
executeShellCommand : data :
'
+
data
.
stdResult
);
console
.
info
(
'
executeShellCommand : data :
'
+
data
.
exitCode
);
})
}
};
/*
* Copyright (c) 2022 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.
*/
import
TestRunner
from
'
@ohos.application.testRunner
'
import
AbilityDelegatorRegistry
from
'
@ohos.application.abilityDelegatorRegistry
'
var
abilityDelegator
=
undefined
var
abilityDelegatorArguments
=
undefined
function
translateParamsToString
(
parameters
)
{
const
keySet
=
new
Set
([
'
-s class
'
,
'
-s notClass
'
,
'
-s suite
'
,
'
-s it
'
,
'
-s level
'
,
'
-s testType
'
,
'
-s size
'
,
'
-s timeout
'
,
'
-s dryRun
'
]);
let
targetParams
=
''
;
for
(
const
key
in
parameters
)
{
if
(
keySet
.
has
(
key
))
{
targetParams
=
`
${
targetParams
}
${
key
}
${
parameters
[
key
]}
`
;
}
}
return
targetParams
.
trim
()
}
async
function
onAbilityCreateCallback
()
{
console
.
log
(
"
onAbilityCreateCallback
"
);
}
async
function
addAbilityMonitorCallback
(
err
:
any
)
{
console
.
info
(
"
addAbilityMonitorCallback :
"
+
JSON
.
stringify
(
err
));
}
export
default
class
OpenHarmonyTestRunner
implements
TestRunner
{
constructor
()
{
}
onPrepare
()
{
console
.
info
(
"
OpenHarmonyTestRunner OnPrepare
"
);
}
async
onRun
()
{
console
.
log
(
'
OpenHarmonyTestRunner onRun run
'
);
abilityDelegatorArguments
=
AbilityDelegatorRegistry
.
getArguments
();
abilityDelegator
=
AbilityDelegatorRegistry
.
getAbilityDelegator
();
var
testAbilityName
=
abilityDelegatorArguments
.
bundleName
+
'
.MainAbility
'
;
let
lMonitor
=
{
abilityName
:
testAbilityName
,
onAbilityCreate
:
onAbilityCreateCallback
,
};
abilityDelegator
.
addAbilityMonitor
(
lMonitor
,
addAbilityMonitorCallback
);
var
cmd
=
'
aa start -d 0 -a com.example.atomicsxts.MainAbility
'
+
'
-b
'
+
abilityDelegatorArguments
.
bundleName
;
cmd
+=
'
'
+
translateParamsToString
(
abilityDelegatorArguments
.
parameters
);
var
debug
=
abilityDelegatorArguments
.
parameters
[
"
-D
"
];
if
(
debug
==
'
true
'
)
{
cmd
+=
'
-D
'
;
}
console
.
info
(
'
cmd :
'
+
cmd
);
abilityDelegator
.
executeShellCommand
(
cmd
,
(
err
:
any
,
d
:
any
)
=>
{
console
.
info
(
'
executeShellCommand : err :
'
+
JSON
.
stringify
(
err
));
console
.
info
(
'
executeShellCommand : data :
'
+
d
.
stdResult
);
console
.
info
(
'
executeShellCommand : data :
'
+
d
.
exitCode
);
})
console
.
info
(
'
OpenHarmonyTestRunner onRun end
'
);
}
};
\ No newline at end of file
commonlibrary/ets_utils/atomics_lib_standard/
src/main/j
s/test/Atomics.test.js
→
commonlibrary/ets_utils/atomics_lib_standard/
entry/src/main/et
s/test/Atomics.test.js
浏览文件 @
760aa9c0
/*
* Copyright (C) 2022 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.
*/
import
app
from
'
@system.app
'
import
worker
from
"
@ohos.worker
"
import
{
describe
,
beforeAll
,
beforeEach
,
afterEach
,
afterAll
,
it
,
expect
}
from
'
@ohos/hypium
'
export
default
function
WaitTest
()
{
describe
(
'
WaitTest
'
,
function
()
{
afterAll
(
function
()
{
console
.
info
(
'
total case over
'
)
})
function
promiseCase
()
{
let
p
=
new
Promise
(
function
(
resolve
,
reject
)
{
setTimeout
(
function
()
{
resolve
()
},
50
)
}).
then
(
undefined
,
(
error
)
=>
{
})
return
p
}
/**
* @tc.name: testNotify001
* @tc.desc: returns a string which is either "ok", "not-equal", or "timed-out".
* @tc.author: jiangkai
*/
it
(
'
testNotify001
'
,
0
,
async
function
(
done
)
{
var
sab
=
new
SharedArrayBuffer
(
20
);
var
int32
=
new
Int32Array
(
sab
);
var
flag
=
false
var
res
=
0
;
var
res1
=
0
;
let
ss
=
new
worker
.
Worker
(
"
workers/worker010.js
"
)
let
tt
=
new
worker
.
Worker
(
"
workers/worker011.js
"
)
let
uu
=
new
worker
.
Worker
(
"
workers/worker012.js
"
)
ss
.
onmessage
=
function
(
e
)
{
if
(
e
.
data
==
"
end
"
)
{
res
++
}
flag
=
true
}
tt
.
onmessage
=
function
(
e
)
{
if
(
e
.
data
==
"
end1
"
)
{
res1
++
}
if
(
e
.
data
==
"
end2
"
)
{
res1
+=
5
;
}
flag
=
true
}
uu
.
onmessage
=
function
(
e
)
{
if
(
e
.
data
==
end
)
{
flag
=
true
}
}
ss
.
onexit
=
function
()
{
flag
=
true
}
tt
.
onexit
=
function
()
{
flag
=
true
}
uu
.
onexit
=
function
()
{
flag
=
true
}
ss
.
postMessage
(
int32
);
while
(
!
flag
)
{
await
promiseCase
()
}
flag
=
false
tt
.
postMessage
(
int32
);
while
(
!
flag
)
{
await
promiseCase
()
}
flag
=
false
uu
.
postMessage
(
int32
);
while
(
!
flag
)
{
await
promiseCase
()
}
Atomics
.
notify
(
int32
,
0
,
1
)
Atomics
.
notify
(
int32
,
2
,
1
)
while
(
res
==
0
||
res1
==
0
){
await
promiseCase
();
}
flag
=
false
ss
.
terminate
()
while
(
!
flag
){
await
promiseCase
();
}
flag
=
false
tt
.
terminate
()
while
(
!
flag
){
await
promiseCase
();
}
flag
=
false
uu
.
terminate
()
while
(
!
flag
){
await
promiseCase
();
}
expect
(
res
).
assertEqual
(
1
)
expect
(
res1
).
assertEqual
(
5
)
done
()
})
/**
* @tc.name: testWait001
* @tc.desc: returns a string which is either "ok", "not-equal", or "timed-out".
* @tc.author: jiangkai
*/
it
(
'
testWait001
'
,
0
,
async
function
(
done
)
{
var
sab
=
new
SharedArrayBuffer
(
20
);
var
flag
=
false
;
var
int32
=
new
Int32Array
(
sab
);
var
res
=
0
;
const
ss
=
new
worker
.
Worker
(
"
workers/worker020.js
"
)
ss
.
onmessage
=
function
(
e
){
if
(
e
.
data
!=
'
wait
'
){
res
=
e
.
data
}
flag
=
true
}
ss
.
onexit
=
function
()
{
flag
=
true
}
ss
.
postMessage
(
int32
);
while
(
!
flag
){
await
promiseCase
();
}
flag
=
false
Atomics
.
store
(
int32
,
0
,
2
);
Atomics
.
load
(
int32
,
0
);
Atomics
.
notify
(
int32
,
0
,
1
)
while
(
!
flag
){
await
promiseCase
();
}
flag
=
false
ss
.
terminate
()
while
(
!
flag
){
await
promiseCase
();
}
expect
(
res
).
assertEqual
(
3
)
done
()
})
/**
* @tc.name: testAdd001
* @tc.desc: returns a string which is either "ok", "not-equal", or "timed-out".
* @tc.author: jiangkai
*/
it
(
'
testAdd001
'
,
0
,
async
function
(
done
)
{
var
sab
=
new
SharedArrayBuffer
(
20
);
var
int32
=
new
Uint32Array
(
sab
);
int32
[
0
]
=
1
var
flag
=
false
var
count
=
0
let
ss
=
new
worker
.
Worker
(
"
workers/worker030.js
"
)
let
tt
=
new
worker
.
Worker
(
"
workers/worker031.js
"
)
ss
.
onmessage
=
function
()
{
count
+=
1
}
tt
.
onmessage
=
function
()
{
count
+=
1
}
ss
.
onexit
=
function
()
{
flag
=
true
}
tt
.
onexit
=
function
()
{
flag
=
true
}
ss
.
postMessage
(
sab
);
tt
.
postMessage
(
sab
);
while
(
count
!=
2
)
{
await
promiseCase
();
}
flag
=
false
ss
.
terminate
()
while
(
!
flag
){
await
promiseCase
();
}
flag
=
false
tt
.
terminate
()
while
(
!
flag
){
await
promiseCase
();
}
expect
(
int32
[
0
]).
assertEqual
(
21
)
done
()
})
})
/*
* Copyright (C) 2022 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.
*/
import
app
from
'
@system.app
'
import
worker
from
"
@ohos.worker
"
import
{
describe
,
beforeAll
,
beforeEach
,
afterEach
,
afterAll
,
it
,
expect
}
from
'
@ohos/hypium
'
export
default
function
WaitTest
()
{
describe
(
'
WaitTest
'
,
function
()
{
afterAll
(
function
()
{
console
.
info
(
'
total case over
'
)
;
})
function
promiseCase
()
{
let
p
=
new
Promise
(
function
(
resolve
,
reject
)
{
setTimeout
(
function
()
{
resolve
()
},
50
)
}).
then
(
undefined
,
(
error
)
=>
{
})
return
p
}
/**
* @tc.name: testNotify001
* @tc.desc: returns a string which is either "ok", "not-equal", or "timed-out".
* @tc.author: jiangkai
*/
it
(
'
testNotify001
'
,
0
,
async
function
(
done
)
{
var
sab
=
new
SharedArrayBuffer
(
20
);
var
int32
=
new
Int32Array
(
sab
);
var
flag
=
false
var
res
=
0
;
var
res1
=
0
;
let
ss
=
new
worker
.
Worker
(
"
entry/ets/workers/worker010.js
"
);
let
tt
=
new
worker
.
Worker
(
"
entry/ets/workers/worker011.js
"
);
let
uu
=
new
worker
.
Worker
(
"
entry/ets/workers/worker012.js
"
);
ss
.
onmessage
=
function
(
e
)
{
if
(
e
.
data
==
"
end
"
)
{
res
++
;
}
flag
=
true
;
}
tt
.
onmessage
=
function
(
e
)
{
if
(
e
.
data
==
"
end1
"
)
{
res1
++
;
}
if
(
e
.
data
==
"
end2
"
)
{
res1
+=
5
;
}
flag
=
true
;
}
uu
.
onmessage
=
function
(
e
)
{
if
(
e
.
data
==
"
end
"
)
{
flag
=
true
;
}
}
ss
.
onexit
=
function
()
{
flag
=
true
;
}
tt
.
onexit
=
function
()
{
flag
=
true
;
}
uu
.
onexit
=
function
()
{
flag
=
true
;
}
ss
.
postMessage
(
int32
);
while
(
!
flag
)
{
await
promiseCase
()
;
}
flag
=
false
;
tt
.
postMessage
(
int32
);
while
(
!
flag
)
{
await
promiseCase
()
;
}
flag
=
false
;
uu
.
postMessage
(
int32
);
while
(
!
flag
)
{
await
promiseCase
()
;
}
Atomics
.
notify
(
int32
,
0
,
1
)
;
Atomics
.
notify
(
int32
,
2
,
1
)
;
while
(
res
==
0
||
res1
==
0
){
await
promiseCase
();
}
flag
=
false
;
ss
.
terminate
()
while
(
!
flag
){
await
promiseCase
();
}
flag
=
false
;
tt
.
terminate
()
;
while
(
!
flag
){
await
promiseCase
();
}
flag
=
false
;
uu
.
terminate
()
;
while
(
!
flag
){
await
promiseCase
();
}
expect
(
res
).
assertEqual
(
1
)
expect
(
res1
).
assertEqual
(
5
)
done
()
})
/**
* @tc.name: testWait001
* @tc.desc: returns a string which is either "ok", "not-equal", or "timed-out".
* @tc.author: jiangkai
*/
it
(
'
testWait001
'
,
0
,
async
function
(
done
)
{
var
sab
=
new
SharedArrayBuffer
(
20
);
var
flag
=
false
;
var
int32
=
new
Int32Array
(
sab
);
var
res
=
0
;
const
ss
=
new
worker
.
Worker
(
"
entry/ets/workers/worker020.js
"
);
ss
.
onmessage
=
function
(
e
){
if
(
e
.
data
!=
'
wait
'
){
res
=
e
.
data
;
}
flag
=
true
;
}
ss
.
onexit
=
function
()
{
flag
=
true
;
}
ss
.
postMessage
(
int32
);
while
(
!
flag
){
await
promiseCase
();
}
flag
=
false
Atomics
.
store
(
int32
,
0
,
2
);
Atomics
.
load
(
int32
,
0
);
Atomics
.
notify
(
int32
,
0
,
1
)
while
(
!
flag
){
await
promiseCase
();
}
flag
=
false
;
ss
.
terminate
()
;
while
(
!
flag
){
await
promiseCase
();
}
expect
(
res
).
assertEqual
(
3
)
done
()
})
/**
* @tc.name: testAdd001
* @tc.desc: returns a string which is either "ok", "not-equal", or "timed-out".
* @tc.author: jiangkai
*/
it
(
'
testAdd001
'
,
0
,
async
function
(
done
)
{
var
sab
=
new
SharedArrayBuffer
(
20
);
var
int32
=
new
Uint32Array
(
sab
);
int32
[
0
]
=
1
;
var
flag
=
false
;
var
count
=
0
;
let
ss
=
new
worker
.
Worker
(
"
entry/ets/workers/worker030.js
"
);
let
tt
=
new
worker
.
Worker
(
"
entry/ets/workers/worker031.js
"
);
ss
.
onmessage
=
function
()
{
count
+=
1
;
}
tt
.
onmessage
=
function
()
{
count
+=
1
;
}
ss
.
onexit
=
function
()
{
flag
=
true
;
}
tt
.
onexit
=
function
()
{
flag
=
true
;
}
ss
.
postMessage
(
sab
);
tt
.
postMessage
(
sab
);
while
(
count
!=
2
)
{
await
promiseCase
();
}
flag
=
false
;
ss
.
terminate
()
;
while
(
!
flag
){
await
promiseCase
();
}
flag
=
false
;
tt
.
terminate
()
;
while
(
!
flag
){
await
promiseCase
();
}
expect
(
int32
[
0
]).
assertEqual
(
21
)
done
()
})
})
}
\ No newline at end of file
commonlibrary/ets_utils/atomics_lib_standard/
src/main/j
s/test/List.test.js
→
commonlibrary/ets_utils/atomics_lib_standard/
entry/src/main/et
s/test/List.test.js
浏览文件 @
760aa9c0
/*
* Copyright (C) 2022 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.
*/
import
WaitTest
from
'
./Atomics.test.js
'
export
default
function
testsuite
()
{
WaitTest
()
/*
* Copyright (c) 2022 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.
*/
import
WaitTest
from
'
./Atomics.test.js
'
export
default
function
testsuite
()
{
WaitTest
();
}
\ No newline at end of file
commonlibrary/ets_utils/atomics_lib_standard/
src/main/js/MainAbility
/workers/worker010.js
→
commonlibrary/ets_utils/atomics_lib_standard/
entry/src/main/ets
/workers/worker010.js
浏览文件 @
760aa9c0
/*
* Copyright (C) 2022 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.
*/
import
worker
from
'
@ohos.worker
'
;
const
parentPort
=
worker
.
parentPort
;
parentPort
.
onmessage
=
function
(
e
)
{
var
int32
=
e
.
data
parentPort
.
postMessage
(
"
success
"
)
console
.
info
(
"
wait expect 'ok':
"
+
Atomics
.
wait
(
int32
,
0
,
0
));
parentPort
.
postMessage
(
"
end
"
)
}
/*
* Copyright (C) 2022 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.
*/
import
worker
from
'
@ohos.worker
'
;
const
parentPort
=
worker
.
parentPort
;
parentPort
.
onmessage
=
function
(
e
)
{
var
int32
=
e
.
data
;
parentPort
.
postMessage
(
"
success
"
)
;
console
.
info
(
"
wait expect 'ok':
"
+
Atomics
.
wait
(
int32
,
0
,
0
));
parentPort
.
postMessage
(
"
end
"
)
;
}
commonlibrary/ets_utils/atomics_lib_standard/
src/main/js/MainAbility
/workers/worker011.js
→
commonlibrary/ets_utils/atomics_lib_standard/
entry/src/main/ets
/workers/worker011.js
浏览文件 @
760aa9c0
/*
* Copyright (C) 2022 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.
*/
import
worker
from
'
@ohos.worker
'
;
const
parentPort
=
worker
.
parentPort
;
parentPort
.
onmessage
=
function
(
e
)
{
let
begTime
=
new
Date
().
getTime
();
var
int32
=
e
.
data
parentPort
.
postMessage
(
"
success
"
)
console
.
info
(
"
wait expect 'timed-out' :
"
+
Atomics
.
wait
(
int32
,
1
,
0
,
3000
));
let
endTime
=
new
Date
().
getTime
();
if
(
endTime
-
begTime
<
3000
)
{
parentPort
.
postMessage
(
"
end1
"
)
}
else
{
parentPort
.
postMessage
(
"
end2
"
)
}
}
/*
* Copyright (C) 2022 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.
*/
import
worker
from
'
@ohos.worker
'
;
const
parentPort
=
worker
.
parentPort
;
parentPort
.
onmessage
=
function
(
e
)
{
let
begTime
=
new
Date
().
getTime
();
var
int32
=
e
.
data
;
parentPort
.
postMessage
(
"
success
"
)
;
console
.
info
(
"
wait expect 'timed-out' :
"
+
Atomics
.
wait
(
int32
,
1
,
0
,
3000
));
let
endTime
=
new
Date
().
getTime
();
if
(
endTime
-
begTime
<
3000
)
{
parentPort
.
postMessage
(
"
end1
"
)
;
}
else
{
parentPort
.
postMessage
(
"
end2
"
)
;
}
}
commonlibrary/ets_utils/atomics_lib_standard/
src/main/js/MainAbility
/workers/worker012.js
→
commonlibrary/ets_utils/atomics_lib_standard/
entry/src/main/ets
/workers/worker012.js
浏览文件 @
760aa9c0
/*
* Copyright (C) 2022 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.
*/
import
worker
from
'
@ohos.worker
'
;
const
parentPort
=
worker
.
parentPort
;
parentPort
.
onmessage
=
function
(
e
)
{
var
int32
=
e
.
data
parentPort
.
postMessage
(
"
success
"
)
console
.
info
(
"
wait expect 'not-equal':
"
+
Atomics
.
wait
(
int32
,
2
,
2
));
parentPort
.
postMessage
(
"
end
"
)
/*
* Copyright (C) 2022 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.
*/
import
worker
from
'
@ohos.worker
'
;
const
parentPort
=
worker
.
parentPort
;
parentPort
.
onmessage
=
function
(
e
)
{
var
int32
=
e
.
data
;
parentPort
.
postMessage
(
"
success
"
)
;
console
.
info
(
"
wait expect 'not-equal':
"
+
Atomics
.
wait
(
int32
,
2
,
2
));
parentPort
.
postMessage
(
"
end
"
)
;
}
\ No newline at end of file
commonlibrary/ets_utils/atomics_lib_standard/
src/main/js/MainAbility
/workers/worker020.js
→
commonlibrary/ets_utils/atomics_lib_standard/
entry/src/main/ets
/workers/worker020.js
浏览文件 @
760aa9c0
/*
* Copyright (C) 2022 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.
*/
import
worker
from
'
@ohos.worker
'
;
const
parentPort
=
worker
.
parentPort
;
parentPort
.
onmessage
=
function
(
e
)
{
var
int32
=
e
.
data
parentPort
.
postMessage
(
"
wait
"
)
Atomics
.
wait
(
int32
,
0
,
0
);
Atomics
.
add
(
int32
,
0
,
1
);
Atomics
.
load
(
int32
,
0
);
parentPort
.
postMessage
(
int32
[
0
])
/*
* Copyright (C) 2022 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.
*/
import
worker
from
'
@ohos.worker
'
;
const
parentPort
=
worker
.
parentPort
;
parentPort
.
onmessage
=
function
(
e
)
{
var
int32
=
e
.
data
;
parentPort
.
postMessage
(
"
wait
"
)
;
Atomics
.
wait
(
int32
,
0
,
0
);
Atomics
.
add
(
int32
,
0
,
1
);
Atomics
.
load
(
int32
,
0
);
parentPort
.
postMessage
(
int32
[
0
])
;
}
\ No newline at end of file
commonlibrary/ets_utils/atomics_lib_standard/
src/main/js/MainAbility
/workers/worker030.js
→
commonlibrary/ets_utils/atomics_lib_standard/
entry/src/main/ets
/workers/worker030.js
浏览文件 @
760aa9c0
/*
* Copyright (C) 2022 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.
*/
import
worker
from
'
@ohos.worker
'
;
const
parentPort
=
worker
.
parentPort
;
parentPort
.
onmessage
=
function
(
e
)
{
const
int32
=
new
Uint32Array
(
e
.
data
);
for
(
let
i
=
0
;
i
<
10
;
++
i
)
{
Atomics
.
add
(
int32
,
0
,
1
);
}
parentPort
.
postMessage
(
"
03
"
)
}
/*
* Copyright (C) 2022 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.
*/
import
worker
from
'
@ohos.worker
'
;
const
parentPort
=
worker
.
parentPort
;
parentPort
.
onmessage
=
function
(
e
)
{
const
int32
=
new
Uint32Array
(
e
.
data
);
for
(
let
i
=
0
;
i
<
10
;
++
i
)
{
Atomics
.
add
(
int32
,
0
,
1
);
}
parentPort
.
postMessage
(
"
03
"
)
;
}
commonlibrary/ets_utils/atomics_lib_standard/
src/main/js/MainAbility
/workers/worker031.js
→
commonlibrary/ets_utils/atomics_lib_standard/
entry/src/main/ets
/workers/worker031.js
浏览文件 @
760aa9c0
/*
* Copyright (C) 2022 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.
*/
import
worker
from
'
@ohos.worker
'
;
const
parentPort
=
worker
.
parentPort
;
parentPort
.
onmessage
=
function
(
e
)
{
const
int32
=
new
Uint32Array
(
e
.
data
);
for
(
let
i
=
0
;
i
<
10
;
++
i
)
{
Atomics
.
add
(
int32
,
0
,
1
);
}
parentPort
.
postMessage
(
"
031
"
)
}
/*
* Copyright (C) 2022 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.
*/
import
worker
from
'
@ohos.worker
'
;
const
parentPort
=
worker
.
parentPort
;
parentPort
.
onmessage
=
function
(
e
)
{
const
int32
=
new
Uint32Array
(
e
.
data
);
for
(
let
i
=
0
;
i
<
10
;
++
i
)
{
Atomics
.
add
(
int32
,
0
,
1
);
}
parentPort
.
postMessage
(
"
031
"
)
;
}
commonlibrary/ets_utils/atomics_lib_standard/entry/src/main/module.json
0 → 100644
浏览文件 @
760aa9c0
{
"module"
:
{
"name"
:
"entry"
,
"type"
:
"entry"
,
"srcEntrance"
:
"./ets/Application/AbilityStage.ts"
,
"description"
:
"$string:entry_desc"
,
"mainElement"
:
"MainAbility"
,
"deviceTypes"
:
[
"default"
,
"tablet"
],
"deliveryWithInstall"
:
true
,
"installationFree"
:
false
,
"pages"
:
"$profile:main_pages"
,
"uiSyntax"
:
"ets"
,
"abilities"
:
[
{
"name"
:
"com.example.atomicsxts.MainAbility"
,
"srcEntrance"
:
"./ets/MainAbility/MainAbility.ts"
,
"description"
:
"$string:MainAbility_desc"
,
"icon"
:
"$media:icon"
,
"label"
:
"$string:MainAbility_label"
,
"startWindowIcon"
:
"$media:icon"
,
"startWindowBackground"
:
"$color:white"
,
"visible"
:
true
,
"orientation"
:
"portrait"
,
"skills"
:
[
{
"entities"
:
[
"entity.system.home"
],
"actions"
:
[
"action.system.home"
]
}
]
}
]
}
}
\ No newline at end of file
commonlibrary/ets_utils/atomics_lib_standard/entry/src/main/resources/base/element/color.json
0 → 100644
浏览文件 @
760aa9c0
{
"color"
:
[
{
"name"
:
"white"
,
"value"
:
"#FFFFFF"
}
]
}
\ No newline at end of file
commonlibrary/ets_utils/atomics_lib_standard/entry/src/main/resources/base/element/string.json
0 → 100644
浏览文件 @
760aa9c0
{
"string"
:
[
{
"name"
:
"entry_desc"
,
"value"
:
"description"
},
{
"name"
:
"MainAbility_desc"
,
"value"
:
"description"
},
{
"name"
:
"MainAbility_label"
,
"value"
:
"label"
},
{
"name"
:
"form_FormAbility_desc"
,
"value"
:
"form_description"
},
{
"name"
:
"form_FormAbility_label"
,
"value"
:
"form_label"
}
]
}
\ No newline at end of file
commonlibrary/ets_utils/atomics_lib_standard/entry/src/main/resources/base/media/icon.png
0 → 100644
浏览文件 @
760aa9c0
6.6 KB
commonlibrary/ets_utils/atomics_lib_standard/entry/src/main/resources/base/profile/main_pages.json
0 → 100644
浏览文件 @
760aa9c0
{
"src"
:
[
"MainAbility/pages/index"
]
}
commonlibrary/ets_utils/atomics_lib_standard/src/main/config.json
已删除
100644 → 0
浏览文件 @
414744a2
{
"app"
:
{
"bundleName"
:
"com.example.atomicsxts"
,
"vendor"
:
"example"
,
"version"
:
{
"code"
:
1000000
,
"name"
:
"1.0.0"
},
"apiVersion"
:
{
"compatible"
:
4
,
"target"
:
5
}
},
"deviceConfig"
:
{},
"module"
:
{
"package"
:
"com.example.atomicsxts"
,
"name"
:
".entry"
,
"mainAbility"
:
".MainAbility"
,
"srcPath"
:
""
,
"deviceType"
:
[
"tablet"
,
"default"
,
"phone"
],
"distro"
:
{
"deliveryWithInstall"
:
true
,
"moduleName"
:
"entry"
,
"moduleType"
:
"entry"
,
"installationFree"
:
false
},
"abilities"
:
[
{
"skills"
:
[
{
"entities"
:
[
"entity.system.home"
],
"actions"
:
[
"action.system.home"
]
}
],
"orientation"
:
"unspecified"
,
"formsEnabled"
:
false
,
"name"
:
".MainAbility"
,
"srcLanguage"
:
"js"
,
"srcPath"
:
"MainAbility"
,
"icon"
:
"$media:icon"
,
"description"
:
"$string:MainAbility_desc"
,
"label"
:
"$string:MainAbility_label"
,
"type"
:
"page"
,
"visible"
:
true
,
"launchType"
:
"standard"
},
{
"orientation"
:
"unspecified"
,
"formsEnabled"
:
false
,
"name"
:
".TestAbility"
,
"srcLanguage"
:
"js"
,
"srcPath"
:
"TestAbility"
,
"icon"
:
"$media:icon"
,
"description"
:
"$string:TestAbility_desc"
,
"label"
:
"$string:TestAbility_label"
,
"type"
:
"page"
,
"visible"
:
true
,
"launchType"
:
"standard"
}
],
"js"
:
[
{
"pages"
:
[
"pages/index/index"
],
"name"
:
"default"
,
"window"
:
{
"designWidth"
:
720
,
"autoDesignWidth"
:
false
}
},
{
"pages"
:
[
"pages/index/index"
],
"name"
:
".TestAbility"
,
"window"
:
{
"designWidth"
:
720
,
"autoDesignWidth"
:
false
}
}
],
"testRunner"
:
{
"name"
:
"OpenHarmonyTestRunner"
,
"srcPath"
:
"TestRunner"
}
}
}
\ No newline at end of file
commonlibrary/ets_utils/atomics_lib_standard/src/main/js/MainAbility/i18n/en-US.json
已删除
100644 → 0
浏览文件 @
414744a2
{
"strings"
:
{
"hello"
:
"Hello"
,
"world"
:
"World"
,
"page"
:
"Second Page"
,
"next"
:
"Next Page"
,
"back"
:
"Back"
},
"Files"
:
{
}
}
\ No newline at end of file
commonlibrary/ets_utils/atomics_lib_standard/src/main/js/MainAbility/i18n/zh-CN.json
已删除
100644 → 0
浏览文件 @
414744a2
{
"strings"
:
{
"hello"
:
"您好"
,
"world"
:
"世界"
,
"page"
:
"第二页"
,
"next"
:
"下一页"
,
"back"
:
"返回"
},
"Files"
:
{
}
}
\ No newline at end of file
commonlibrary/ets_utils/atomics_lib_standard/src/main/js/MainAbility/pages/index/index.css
已删除
100644 → 0
浏览文件 @
414744a2
/*
* Copyright (C) 2022 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.
*/
.container
{
display
:
flex
;
flex-direction
:
column
;
justify-content
:
center
;
align-items
:
center
;
left
:
0px
;
top
:
0px
;
width
:
100%
;
height
:
100%
;
}
.title
{
font-size
:
60px
;
text-align
:
center
;
width
:
100%
;
height
:
40%
;
margin
:
10px
;
}
.btn
{
width
:
50%
;
height
:
100px
;
font-size
:
40px
;
}
commonlibrary/ets_utils/atomics_lib_standard/src/main/js/MainAbility/pages/index/index.hml
已删除
100644 → 0
浏览文件 @
414744a2
<!--
Copyright (C) 2022 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.
-->
<div class="container" onswipe="touchMove">
<text class="title">
{{ $t('strings.hello') }} {{ title }}
</text>
<input class="btn" type="button" value="{{ $t('strings.next') }}" onclick="onclick"></input>
</div>
commonlibrary/ets_utils/atomics_lib_standard/src/main/js/TestAbility/i18n/en-US.json
已删除
100644 → 0
浏览文件 @
414744a2
{
"strings"
:
{
"hello"
:
"Hello"
,
"world"
:
"World"
},
"Files"
:
{
}
}
\ No newline at end of file
commonlibrary/ets_utils/atomics_lib_standard/src/main/js/TestAbility/i18n/zh-CN.json
已删除
100644 → 0
浏览文件 @
414744a2
{
"strings"
:
{
"hello"
:
"您好"
,
"world"
:
"世界"
},
"Files"
:
{
}
}
\ No newline at end of file
commonlibrary/ets_utils/atomics_lib_standard/src/main/js/TestAbility/pages/index/index.hml
已删除
100644 → 0
浏览文件 @
414744a2
<!--
Copyright (c) 2021 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.
-->
<div class="container" onswipe="touchMove">
<text class="title">
{{ $t('strings.hello') }} {{title}}
</text>
<input class="btn" type="button" value="{{ $t('strings.next') }}" onclick="onclick"></input>
</div>
commonlibrary/ets_utils/atomics_lib_standard/src/main/resources/base/element/string.json
已删除
100644 → 0
浏览文件 @
414744a2
{
"string"
:
[
{
"name"
:
"entry_MainAbility"
,
"value"
:
"entry_MainAbility"
},
{
"name"
:
"mainability_description"
,
"value"
:
"JS_Empty Ability"
},
{
"name"
:
"MainAbility_desc"
,
"value"
:
"description"
},
{
"name"
:
"MainAbility_label"
,
"value"
:
"label"
},
{
"name"
:
"TestAbility_desc"
,
"value"
:
"description"
},
{
"name"
:
"TestAbility_label"
,
"value"
:
"label"
}
]
}
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录