diff --git a/aafwk/aafwk_standard/ActsDataAbilityJsTest/BUILD.gn b/aafwk/aafwk_standard/ActsDataAbilityJsTest/BUILD.gn
new file mode 100644
index 0000000000000000000000000000000000000000..4a46b4f8901b6f46467910b6525bfad6ab8b4baa
--- /dev/null
+++ b/aafwk/aafwk_standard/ActsDataAbilityJsTest/BUILD.gn
@@ -0,0 +1,31 @@
+# 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.
+
+import("//test/xts/tools/build/suite.gni")
+
+ohos_js_hap_suite("ActsDataAbilityJsTest") {
+ hap_name = "ActsDataAbilityJsTest"
+ hap_profile = "./entry/src/main/config.json"
+ deps = [
+ ":hjs_demo_js_assets",
+ ":hjs_demo_resources",
+ ]
+ certificate_profile = "./signature/openharmony_sx.p7b"
+}
+ohos_js_assets("hjs_demo_js_assets") {
+ source_dir = "./entry/src/main/js/default"
+}
+ohos_resources("hjs_demo_resources") {
+ sources = [ "./entry/src/main/js/resources" ]
+ hap_profile = "./entry/src/main/config.json"
+}
diff --git a/aafwk/aafwk_standard/ActsDataAbilityJsTest/Test.json b/aafwk/aafwk_standard/ActsDataAbilityJsTest/Test.json
new file mode 100644
index 0000000000000000000000000000000000000000..509e844d9c101a5f83a4ee3a1aed3a719a56419d
--- /dev/null
+++ b/aafwk/aafwk_standard/ActsDataAbilityJsTest/Test.json
@@ -0,0 +1,18 @@
+{
+ "description": "Configuration for hjsunit Tests",
+ "driver": {
+ "type": "JSUnitTest",
+ "test-timeout": "100000",
+ "package": "com.example.actsdataabilityjstest",
+ "shell-timeout": "60000"
+ },
+ "kits": [
+ {
+ "test-file-name": [
+ "ActsDataAbilityJsTest.hap"
+ ],
+ "type": "AppInstallKit",
+ "cleanup-apps": true
+ }
+ ]
+}
diff --git a/aafwk/aafwk_standard/ActsDataAbilityJsTest/entry/src/main/config.json b/aafwk/aafwk_standard/ActsDataAbilityJsTest/entry/src/main/config.json
new file mode 100644
index 0000000000000000000000000000000000000000..25305ed8b2d0feff47d9bbae6994283b3964eade
--- /dev/null
+++ b/aafwk/aafwk_standard/ActsDataAbilityJsTest/entry/src/main/config.json
@@ -0,0 +1,107 @@
+{
+ "app": {
+ "bundleName": "com.example.actsdataabilityjstest",
+ "vendor": "example",
+ "version": {
+ "code": 1,
+ "name": "1.0"
+ },
+ "apiVersion": {
+ "compatible": 4,
+ "target": 5,
+ "releaseType": "Beta1"
+ }
+ },
+ "deviceConfig": {},
+ "module": {
+ "package": "com.example.actsdataabilityjstest",
+ "name": ".MyApplication",
+ "deviceType": [
+ "phone"
+ ],
+ "distro": {
+ "deliveryWithInstall": true,
+ "moduleName": "entry",
+ "moduleType": "entry"
+ },
+ "abilities": [
+ {
+ "skills": [
+ {
+ "entities": [
+ "entity.system.home"
+ ],
+ "actions": [
+ "action.system.home"
+ ]
+ }
+ ],
+ "name": "com.example.actsdataabilityjstest.MainAbility",
+ "icon": "$media:icon",
+ "description": "$string:mainability_description",
+ "label": "$string:app_name",
+ "type": "page",
+ "launchType": "singleton",
+ "visible": true
+ }
+ ],
+ "reqPermissions": [
+ {
+ "name":"ohos.permission.GET_BUNDLE_INFO_PRIVILEGED",
+ "reason":"need use ohos.permission.GET_BUNDLE_INFO_PRIVILEGED"
+ },
+ {
+ "name":"ohos.permission.GET_BUNDLE_INFO",
+ "reason":"need use ohos.permission.GET_BUNDLE_INFO"
+ },
+ {
+ "name":"ohos.permission.CHANGE_ABILITY_ENABLED_STATE",
+ "reason":"need use ohos.permission.CHANGE_ABILITY_ENABLED_STATE"
+ },
+ {
+ "name":"ohos.permission.REMOVE_CACHE_FILES",
+ "reason":"need use ohos.permission.REMOVE_CACHE_FILES"
+ },
+ {
+ "name":"ohos.permission.LISTEN_BUNDLE_CHANGE",
+ "reason":"need use ohos.permission.LISTEN_BUNDLE_CHANGE"
+ },
+ {
+ "name":"ohos.permission.INSTALL_BUNDLE",
+ "reason":"need use ohos.permission.INSTALL_BUNDLE"
+ },
+ {
+ "name":"ohos.permission.MANAGE_MISSIONS",
+ "reason":"need use ohos.permission.MANAGE_MISSIONS"
+ },
+ {
+ "name":"ohos.permission.GET_RUNNING_INFO",
+ "reason":"need use ohos.permission.GET_RUNNING_INFO"
+ },
+ {
+ "name":"ohos.permission.CLEAN_BACKGROUND_PROCESSES",
+ "reason":"need use ohos.permission.CLEAN_BACKGROUND_PROCESSES"
+ },
+ {
+ "name":"ohos.permission.CLEAN_APPLICATION_DATA",
+ "reason":"need use ohos.permission.CLEAN_APPLICATION_DATA"
+ },
+ {
+ "name":"ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS",
+ "reason":"need use ohos.permission.GET_RUNNING_INFO"
+ }
+ ],
+ "js": [
+ {
+ "pages": [
+ "pages/index/index"
+ ],
+ "name": "default",
+ "window": {
+ "designWidth": 720,
+ "autoDesignWidth": false
+ }
+ }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/aafwk/aafwk_standard/ActsDataAbilityJsTest/entry/src/main/js/default/app.js b/aafwk/aafwk_standard/ActsDataAbilityJsTest/entry/src/main/js/default/app.js
new file mode 100644
index 0000000000000000000000000000000000000000..042038cfc6360ed972035a85e944904021ffb1d6
--- /dev/null
+++ b/aafwk/aafwk_standard/ActsDataAbilityJsTest/entry/src/main/js/default/app.js
@@ -0,0 +1,28 @@
+/*
+ * 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.
+ */
+export default {
+ onCreate() {
+ console.info('ActsProcessManageJsTest onCreate');
+ },
+ onDestroy() {
+ console.info('ActsProcessManageJsTest onDestroy');
+ },
+ onShow() {
+ console.info('ActsProcessManageJsTest onShow');
+ },
+ onHide() {
+ console.info('ActsProcessManageJsTest onHide');
+ }
+};
diff --git a/aafwk/aafwk_standard/ActsDataAbilityJsTest/entry/src/main/js/default/i18n/en-US.json b/aafwk/aafwk_standard/ActsDataAbilityJsTest/entry/src/main/js/default/i18n/en-US.json
new file mode 100644
index 0000000000000000000000000000000000000000..e63c70d978a3a53be988388c87182f81785e170c
--- /dev/null
+++ b/aafwk/aafwk_standard/ActsDataAbilityJsTest/entry/src/main/js/default/i18n/en-US.json
@@ -0,0 +1,6 @@
+{
+ "strings": {
+ "hello": "Hello",
+ "world": "World"
+ }
+}
\ No newline at end of file
diff --git a/aafwk/aafwk_standard/ActsDataAbilityJsTest/entry/src/main/js/default/i18n/zh-CN.json b/aafwk/aafwk_standard/ActsDataAbilityJsTest/entry/src/main/js/default/i18n/zh-CN.json
new file mode 100644
index 0000000000000000000000000000000000000000..de6ee5748322f44942c1b003319d8e66c837675f
--- /dev/null
+++ b/aafwk/aafwk_standard/ActsDataAbilityJsTest/entry/src/main/js/default/i18n/zh-CN.json
@@ -0,0 +1,6 @@
+{
+ "strings": {
+ "hello": "您好",
+ "world": "世界"
+ }
+}
\ No newline at end of file
diff --git a/aafwk/aafwk_standard/ActsDataAbilityJsTest/entry/src/main/js/default/pages/index/index.css b/aafwk/aafwk_standard/ActsDataAbilityJsTest/entry/src/main/js/default/pages/index/index.css
new file mode 100644
index 0000000000000000000000000000000000000000..cfd4c53e39aecb2d83a0fbdec971eca4041c8a3a
--- /dev/null
+++ b/aafwk/aafwk_standard/ActsDataAbilityJsTest/entry/src/main/js/default/pages/index/index.css
@@ -0,0 +1,14 @@
+.container {
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+}
+
+.title {
+ font-size: 100px;
+}
+
+.btn {
+ width: 200px;
+ height: 80px;
+}
diff --git a/aafwk/aafwk_standard/ActsDataAbilityJsTest/entry/src/main/js/default/pages/index/index.hml b/aafwk/aafwk_standard/ActsDataAbilityJsTest/entry/src/main/js/default/pages/index/index.hml
new file mode 100644
index 0000000000000000000000000000000000000000..83c5e0fcabbb1d5df26d69f4a5c2031c1e65b70a
--- /dev/null
+++ b/aafwk/aafwk_standard/ActsDataAbilityJsTest/entry/src/main/js/default/pages/index/index.hml
@@ -0,0 +1,6 @@
+
+
+ {{ $t('strings.hello') }} {{ title }}
+
+
+
diff --git a/aafwk/aafwk_standard/ActsDataAbilityJsTest/entry/src/main/js/default/pages/index/index.js b/aafwk/aafwk_standard/ActsDataAbilityJsTest/entry/src/main/js/default/pages/index/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..8d0e011ec04e9ffc7bf198f067f8768141aa2c9a
--- /dev/null
+++ b/aafwk/aafwk_standard/ActsDataAbilityJsTest/entry/src/main/js/default/pages/index/index.js
@@ -0,0 +1,84 @@
+/*
+ * 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.
+ */
+import { Core, ExpectExtend } from 'deccjsunit/index'
+
+const injectRef = Object.getPrototypeOf(global) || global
+injectRef.regeneratorRuntime = require('@babel/runtime/regenerator')
+
+export default {
+ data: {
+ title: "",
+ testTime: 0
+ },
+ onInit() {
+ console.info('Acts_DataAbilityJSTest onInit');
+ this.title = this.$t('strings.world');
+ },
+ onShow() {
+ console.info('Acts_DataAbilityJSTest onShow');
+ console.info('Acts_DataAbilityJSTest testTime' + this.testTime);
+ if (this.testTime == 0) {
+ const core = Core.getInstance()
+ const expectExtend = new ExpectExtend({
+ 'id': 'extend'
+ })
+ core.addService('expect', expectExtend)
+ core.init()
+ const configService = core.getDefaultService('config')
+ this.timeout = 30000;
+ configService.setConfig(this)
+
+ require('../../../test/List.test')
+ core.execute()
+ }
+ this.testTime++;
+ },
+ onReady() {
+ console.info('Acts_DataAbilityJSTest onReady');
+ },
+ onActive() {
+ console.info('Acts_DataAbilityJSTest onActive');
+ },
+ onInactive() {
+ console.info('Acts_DataAbilityJSTest onInactive');
+ },
+ onHide() {
+ console.info('Acts_DataAbilityJSTest onHide');
+ },
+ onDestroy() {
+ console.info('Acts_DataAbilityJSTest onDestroy');
+ },
+ onBackPress() {
+ console.info('Acts_DataAbilityJSTest onBackPress');
+ },
+ onNewRequest() {
+ console.info('Acts_DataAbilityJSTest onNewRequest');
+ },
+ onStartContinuation() {
+ console.info('Acts_DataAbilityJSTest onStartContinuation');
+ },
+ onSaveData(value) {
+ console.info('Acts_DataAbilityJSTest onSaveData:' + JSON.stringify(value));
+ },
+ onRestoreData(value) {
+ console.info('Acts_DataAbilityJSTest onRestoreData:' + JSON.stringify(value));
+ },
+ onCompleteContinuation(code) {
+ console.info('Acts_DataAbilityJSTest onCompleteContinuation:' + JSON.stringify(code));
+ },
+ onConfigurationUpdated(configuration) {
+ console.info('Acts_DataAbilityJSTest onConfigurationUpdated:' + JSON.stringify(configuration));
+ }
+}
diff --git a/aafwk/aafwk_standard/ActsDataAbilityJsTest/entry/src/main/js/resources/base/element/string.json b/aafwk/aafwk_standard/ActsDataAbilityJsTest/entry/src/main/js/resources/base/element/string.json
new file mode 100644
index 0000000000000000000000000000000000000000..03574a36c533357eef7fc0acc5e21af14f4e5f67
--- /dev/null
+++ b/aafwk/aafwk_standard/ActsDataAbilityJsTest/entry/src/main/js/resources/base/element/string.json
@@ -0,0 +1,12 @@
+{
+ "string": [
+ {
+ "name": "app_name",
+ "value": "actsparticleabilitytest"
+ },
+ {
+ "name": "mainability_description",
+ "value": "JS_Phone_Empty Feature Ability"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/aafwk/aafwk_standard/ActsDataAbilityJsTest/entry/src/main/js/resources/base/media/icon.png b/aafwk/aafwk_standard/ActsDataAbilityJsTest/entry/src/main/js/resources/base/media/icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..ce307a8827bd75456441ceb57d530e4c8d45d36c
Binary files /dev/null and b/aafwk/aafwk_standard/ActsDataAbilityJsTest/entry/src/main/js/resources/base/media/icon.png differ
diff --git a/aafwk/aafwk_standard/ActsDataAbilityJsTest/entry/src/main/js/test/ActsDataAbilityJsTest.test.js b/aafwk/aafwk_standard/ActsDataAbilityJsTest/entry/src/main/js/test/ActsDataAbilityJsTest.test.js
new file mode 100644
index 0000000000000000000000000000000000000000..29f1944296fffe47b945f07dc69afe36ff879dcc
--- /dev/null
+++ b/aafwk/aafwk_standard/ActsDataAbilityJsTest/entry/src/main/js/test/ActsDataAbilityJsTest.test.js
@@ -0,0 +1,705 @@
+/*
+ * 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.
+ */
+import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from "deccjsunit/index"
+import featureAbility from '@ohos.ability.featureAbility'
+import ohosDataAbility from '@ohos.data.dataability'
+
+describe('ActsDataAbilityJsTest', function () {
+let dataAbilityUri = ("dataability:///com.example.myapplication.DataAbility");
+let DAHelper;
+let gSetTimeout = 500;
+var valueBucket = {
+ "name": "ActsDataAbilityHelperTest",
+ "age": 24,
+ "salary": 2024.20,
+}
+
+beforeAll(async (done) => {
+ console.debug('= ACTS_beforeAll 1425 ====: ' + DAHelper + " ,JSON. " + JSON.stringify(DAHelper));
+ if(DAHelper == null){
+ console.debug('ACTS_beforeAll DAHelper ====>: DAHelper == null');
+ }
+ } catch (err) {
+ console.error('=ACTS_beforeAll acquireDataAbilityHelper catch(err)====>:' + err);
+ }
+ console.debug('= ACTS_beforeAll ==== {
+ console.debug('= ACTS_beforeEach ==== {
+ console.debug('= ACTS_afterEach ==== {
+ console.debug('= ACTS_afterAll ====: ' + DAHelper)
+ try {
+ await DAHelper.insert(dataAbilityUri, valueBucket,
+ (err, data) => {
+ console.debug("=ACTS_Insert_0400 err,data=======>"
+ + ("json err【") + JSON.stringify(err) + (" 】json data【") + JSON.stringify(data) + (" 】;"));
+ expect(data).assertEqual(1);
+ console.log('ACTS_Insert_0400====:' + err);
+ console.log('ACTS_Insert_0400====: ' + DAHelper)
+ var valueBucketArray = new Array({ "name": "ActsDataAbilityHelperTest", "age": 24, "salary": 2024.20, },
+ { "name": "ActsDataAbilityHelperTest", "age": 24, "salary": 2024.20, },
+ { "name": "ActsDataAbilityHelperTest", "age": 24, "salary": 2024.20, })
+ try {
+ await DAHelper.batchInsert(
+ dataAbilityUri,
+ valueBucketArray,
+ (err, data) => {
+ console.debug("=ACTS_BatchInsert_0600 err,data=======>"
+ + ("json err【") + JSON.stringify(err) + (" 】json data【") + JSON.stringify(data) + (" 】;"));
+ expect(data).assertEqual(3);
+ console.log('ACTS_BatchInsert_0600====:' + err);
+ console.log('ACTS_BatchInsert_0600==== {
+ console.debug("=ACTS_Query_0400 query err,data=======>"
+ + ("json err【") + JSON.stringify(err) + (" 】json data【")
+ + JSON.stringify(data) + (" 】;") + " , " + data);
+ expect(typeof (data)).assertEqual("object");
+ console.log('ACTS_Query_0400====:' + err);
+ console.log('ACTS_Query_0400====: ' + DAHelper)
+ try {
+ let predicates = new ohosDataAbility.DataAbilityPredicates();
+ predicates.equalTo('contact_id', 1);
+ predicates.limitAs(10);
+ predicates.orderByAsc("order_by_class");
+ predicates.offsetAs(1);
+ console.debug("=ACTS_Update_0400 predicates====>"
+ + ("json predicates 【") + JSON.stringify(predicates) + (" 】") + " , " + predicates);
+ await DAHelper.update(
+ dataAbilityUri,
+ valueBucket,
+ predicates,
+ (err, data) => {
+ console.debug("=ACTS_Update_0400 err,data=======>"
+ + ("json err【") + JSON.stringify(err) + (" 】json data【") + JSON.stringify(data) + (" 】;"));
+ expect(data).assertEqual(1);
+ console.log('ACTS_Update_0400====:' + err);
+ console.log('ACTS_Update_0400====: ' + DAHelper)
+ try {
+ let predicates = new ohosDataAbility.DataAbilityPredicates();
+ predicates.equalTo('contact_id', 1);
+ predicates.limitAs(10);
+ predicates.orderByAsc("order_by_class");
+ predicates.offsetAs(1);
+ console.debug("=ACTS_Delete_0400 predicates====>"
+ + ("json predicates 【") + JSON.stringify(predicates) + (" 】") + " , " + predicates);
+ await DAHelper.delete(
+ dataAbilityUri,
+ predicates,
+ (err, data) => {
+ console.debug("=ACTS_Delete_0400 err,data=======>"
+ + ("json err【") + JSON.stringify(err) + (" 】json data【") + JSON.stringify(data) + (" 】;"));
+ expect(data).assertEqual(0);
+ console.log('ACTS_Delete_0400====:' + err);
+ console.log('ACTS_Delete_0400====: ' + DAHelper)
+ let mimeTypeFilter = '*/*'
+ try {
+ await DAHelper.getFileTypes(
+ dataAbilityUri,
+ mimeTypeFilter,
+ (err, data) => {
+ console.debug("=ACTS_GetFileTypes_0200 getFileTypes err,data=======>"
+ + ("json err【") + JSON.stringify(err) + (" 】json data【") + JSON.stringify(data) + (" 】;"));
+ console.log('=ACTS_GetFileTypes_0200 data.length ====>: ' + data.length);
+ for (var i = 0; i < data.length; i++) {
+ expect(typeof (data[i])).assertEqual("string");
+ console.log('=ACTS_GetFileTypes_0200 for data ====>: ' + err.code +
+ " data[" + i + "]: " + data[i]);
+ if (i == 0) {
+ expect(data[i]).assertEqual("hap");
+ } else if (i == 1) {
+ expect(data[i]).assertEqual("jpg");
+ } else if (i == 2) {
+ expect(data[i]).assertEqual("image/png");
+ }
+ }
+ console.log('ACTS_GetFileTypes_0200====:' + err);
+ console.log('ACTS_GetFileTypes_0200====: ' + DAHelper)
+ try {
+ await DAHelper.getType(
+ dataAbilityUri,
+ (err, data) => {
+ console.debug("=ACTS_GetType_0200 err,data=======>"
+ + ("json err【") + JSON.stringify(err) + (" 】json data【") + JSON.stringify(data) + (" 】;"));
+ expect(data).assertEqual(dataAbilityUri);
+ console.log('ACTS_GetType_0200====:' + err);
+ console.log('ACTS_GetType_0200====: ' + DAHelper)
+ var mode = "r";
+ try {
+ DAHelper.openFile(
+ dataAbilityUri,
+ mode,
+ (err, data) => {
+ console.debug("=ACTS_OpenFile_0700 err,data=======>"
+ + ("json err【") + JSON.stringify(err) + (" 】json data【") + JSON.stringify(data) + (" 】;"));
+ expect(typeof (data)).assertEqual("number");
+ console.log('DataAbilityHelper ACTS_OpenFile_0700 OpenFile asyncCallback errCode ====>: '
+ + err.code + " data: " + data);
+ ret = true
+ done();
+ },
+ );
+ } catch (err) {
+ console.error('=ACTS_OpenFile_0700 getType AsyncCallback catch(err)====>:' + err);
+ ret = false
+ done();
+ }
+ setTimeout(function () {
+ console.log('setTimeout function====<');
+ }, gSetTimeout);
+ console.log('ACTS_OpenFile_0700====: ' + DAHelper)
+ try {
+ DAHelper.normalizeUri(
+ dataAbilityUri,
+ (err, data) => {
+ console.debug("=ACTS_NormalizeUri_0200 err,data=======>"
+ + ("json err【") + JSON.stringify(err) + (" 】json data【") + JSON.stringify(data) + (" 】;"));
+ expect(data).assertEqual(dataAbilityUri);
+ console.log('ACTS_NormalizeUri_0200====:' + err);
+ console.log('ACTS_NormalizeUri_0200====: ' + DAHelper)
+ try {
+ DAHelper.denormalizeUri(
+ dataAbilityUri,
+ (err, data) => {
+ console.debug("=ACTS_DenormalizeUri_0200 err,data=======>"
+ + ("json err【") + JSON.stringify(err) + (" 】json data【") + JSON.stringify(data) + (" 】;"));
+ expect(data).assertEqual(dataAbilityUri);
+ console.log('ACTS_DenormalizeUri_0200====:' + err);
+ console.log('ACTS_DenormalizeUri_0200==== {
+ console.debug("=ACTS_OnOff_0100 err=======>"
+ + ("err【") + JSON.stringify(err) + (" 】") + " , " + err);
+ expect(err.code).assertEqual(0);
+ }
+ );
+ }
+ } catch (err) {
+ console.error('=ACTS_OnOff_0100 catch(err)====>:' + err);
+ console.log('ACTS_OnOff_0100====");
+ expect(false).assertTrue();
+ clearTimeout(currentAlertTimeout);
+ console.log('ACTS_OnOff_0200==== {
+ if (err.code != 0) {
+ console.debug("=ACTS_OnOff_0200 err=======>"
+ + ("err【") + JSON.stringify(err) + (" 】") + " , " + err);
+ expect(false).assertTrue();
+ console.log('ACTS_OnOff_0200==== {
+ expect(err.code).assertEqual(0);
+ console.log('ACTS_OnOff_0200====:' + err);
+ console.log('ACTS_OnOff_0200==== {
+ console.debug("=ACTS_ExecuteBatch_Insert_0400 executeBatch err,data====>"
+ + ("json err【") + JSON.stringify(err) + (" 】json data【") + JSON.stringify(data)
+ + (" 】;") + data.length);
+ expect(err.code).assertEqual(0);
+ expect(data.length).assertEqual(0);
+ console.debug('ACTS_ExecuteBatch_Insert_0400====:'
+ + ("json err 【") + JSON.stringify(err) + (" 】 ,") + err);
+ console.debug('ACTS_ExecuteBatch_Insert_0400==== {
+ console.debug("=ACTS_ExecuteBatch_Update_0400 executeBatch err,data====>"
+ + ("json err【") + JSON.stringify(err) + (" 】json data【")
+ + JSON.stringify(DataAbilityResult) + (" 】;") + DataAbilityResult.length);
+ for (var i = 0; i < DataAbilityResult.length; i++) {
+ console.debug('=ACTS_ExecuteBatch_Update_0400 for data[' + i + '].uri ====>: '
+ + DataAbilityResult[i].uri)
+ expect(DataAbilityResult[i].uri).assertEqual(dataAbilityUri);
+ console.debug('=ACTS_ExecuteBatch_Update_0400 for data[' + i + '].count ====>: '
+ + DataAbilityResult[i].count)
+ expect(DataAbilityResult[i].count).assertEqual(1);
+ }
+ console.debug('ACTS_ExecuteBatch_Update_0400====:'
+ + ("json err 【") + JSON.stringify(err) + (" 】 ,") + err);
+ console.debug('ACTS_ExecuteBatch_Update_0400==== {
+ console.debug("=ACTS_ExecuteBatch_Assert_0400 executeBatch err,data====>"
+ + ("json err【") + JSON.stringify(err) + (" 】json data【") + JSON.stringify(data)
+ + (" 】;") + data.length);
+ expect(data.length).assertEqual(0);
+ console.debug('ACTS_ExecuteBatch_Assert_0400====:'
+ + ("json err 【") + JSON.stringify(err) + (" 】 ,") + err);
+ console.debug('ACTS_ExecuteBatch_Assert_0400==== {
+ console.debug("=ACTS_ExecuteBatch_Delete_0400 executeBatch err,data====>"
+ + ("json err【") + JSON.stringify(err) + (" 】json data【") + JSON.stringify(DataAbilityResult)
+ + (" 】;") + DataAbilityResult.length);
+ for (var i = 0; i < DataAbilityResult.length; i++) {
+ console.debug('=ACTS_ExecuteBatch_Delete_0400 for data[' + i + '].uri ====>: '
+ + DataAbilityResult[i].uri)
+ expect(DataAbilityResult[i].uri).assertEqual(dataAbilityUri);
+ console.debug('=ACTS_ExecuteBatch_Delete_0400 for data[' + i + '].count ====>: '
+ + DataAbilityResult[i].count)
+ expect(DataAbilityResult[i].count).assertEqual(1);
+ }
+ console.debug('ACTS_ExecuteBatch_Delete_0400====:'
+ + ("json err 【") + JSON.stringify(err) + (" 】 ,") + err);
+ console.debug('ACTS_ExecuteBatch_Delete_0400====: ' + rDAHelper + " ,JSON. " + JSON.stringify(rDAHelper));
+ expect(typeof (rDAHelper)).assertEqual("object");
+ rDAHelper.release().then((data) => {
+ console.debug("=ACTS_Release_0100 then data====>"
+ + ("json data 【") + JSON.stringify(data) + (" 】") + " , " + data);
+ expect(data).assertEqual(true);
+ console.log('ACTS_Release_0100==== {
+ console.debug("=ACTS_Release_0100 catch err ====>"
+ + ("json err 【") + JSON.stringify(err) + (" 】 "));
+ expect(false).assertTrue();
+ console.log('ACTS_Release_0100====:' + err);
+ console.log('ACTS_Release_0100====