diff --git a/resourceschedule/resourceschedule_standard/BUILD.gn b/resourceschedule/resourceschedule_standard/BUILD.gn
index f6856225f1693f3c432e7482728a3c279c8a8bf2..98e9ed0e84967fcba29386e0e323d6641795a956 100644
--- a/resourceschedule/resourceschedule_standard/BUILD.gn
+++ b/resourceschedule/resourceschedule_standard/BUILD.gn
@@ -18,6 +18,7 @@ group("resourceschedule_standard") {
if (is_standard_system) {
deps = [
"backgroundtaskmanager:resourceschedule_backgroundtaskmanager_js_test",
+ "deviceusagestatisticsjsunit:resourceschedule_deviceusagestatisticsjsunit_js_test",
"reminderagent:resourceschedule_reminderagent_js_test",
"workscheduler:resourceschedule_workscheduler_js_test",
]
diff --git a/resourceschedule/resourceschedule_standard/backgroundtaskmanager/src/main/js/default/test/BackgroundTaskMagrJs.test.js b/resourceschedule/resourceschedule_standard/backgroundtaskmanager/src/main/js/default/test/BackgroundTaskMagrJs.test.js
old mode 100755
new mode 100644
index 124f7fcf278ea32688596ab8324e63639eea123f..4e656f86ce1aff88c90eb6944998f529b31e50ef
--- a/resourceschedule/resourceschedule_standard/backgroundtaskmanager/src/main/js/default/test/BackgroundTaskMagrJs.test.js
+++ b/resourceschedule/resourceschedule_standard/backgroundtaskmanager/src/main/js/default/test/BackgroundTaskMagrJs.test.js
@@ -180,4 +180,27 @@ describe("TransientTaskJsTest", function () {
}
done();
})
+
+ /*
+ * @tc.name: TransientTaskJsTest006
+ * @tc.desc: test DelaySuspendInfo actualDealyTime
+ * @tc.type: FUNC
+ * @tc.require:
+ */
+ it("TransientTaskJsTest006", 0, async function (done) {
+ function callback() {}
+ var info = backgroundTaskManager.requestSuspendDelay("test", callback);
+ if (info.requestId != -1) {
+ console.info('TransientTaskJsTest006 DelaySuspendInfo actualDealyTime:' +
+ info.actualDealyTime);
+ expect(info).assertTrue();
+ } else {
+ expect(false).assertTrue();
+ done();
+ }
+
+ setTimeout(() => {
+ done();
+ },500);
+ })
})
diff --git a/resourceschedule/resourceschedule_standard/deviceusagestatisticsjsunit/BUILD.gn b/resourceschedule/resourceschedule_standard/deviceusagestatisticsjsunit/BUILD.gn
new file mode 100644
index 0000000000000000000000000000000000000000..57d154dd4e6347ecd5e1f60758bd56a991d70a5f
--- /dev/null
+++ b/resourceschedule/resourceschedule_standard/deviceusagestatisticsjsunit/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("resourceschedule_deviceusagestatisticsjsunit_js_test") {
+ hap_profile = "./src/main/config.json"
+ deps = [
+ ":resourceschedule_js_assets",
+ ":resourceschedule_js_resources",
+ ]
+ certificate_profile = "./signature/openharmony_sx.p7b"
+ hap_name = "ActsResourcescheduleDeviceUsageStatisticsJsunitTest"
+}
+ohos_js_assets("resourceschedule_js_assets") {
+ source_dir = "./src/main/js/default"
+}
+ohos_resources("resourceschedule_js_resources") {
+ sources = [ "./src/main/resources" ]
+ hap_profile = "./src/main/config.json"
+}
diff --git a/resourceschedule/resourceschedule_standard/deviceusagestatisticsjsunit/Test.json b/resourceschedule/resourceschedule_standard/deviceusagestatisticsjsunit/Test.json
new file mode 100644
index 0000000000000000000000000000000000000000..ccd15b70b20aa63c4f2aa3b5ecd09637b22c96a6
--- /dev/null
+++ b/resourceschedule/resourceschedule_standard/deviceusagestatisticsjsunit/Test.json
@@ -0,0 +1,18 @@
+{
+ "description": "Configuration for resourceschedule js api Tests",
+ "driver": {
+ "type": "JSUnitTest",
+ "test-timeout": "300000",
+ "package": "ohos.acts.resourceschedule.deviceusagestatisticsjsunit.js.function",
+ "shell-timeout": "60000"
+ },
+ "kits": [
+ {
+ "test-file-name": [
+ "ActsResourcescheduleDeviceUsageStatisticsJsunitTest.hap"
+ ],
+ "type": "AppInstallKit",
+ "cleanup-apps": true
+ }
+ ]
+}
diff --git a/resourceschedule/resourceschedule_standard/deviceusagestatisticsjsunit/signature/openharmony_sx.p7b b/resourceschedule/resourceschedule_standard/deviceusagestatisticsjsunit/signature/openharmony_sx.p7b
new file mode 100644
index 0000000000000000000000000000000000000000..9be1e98fa4c0c28ca997ed660112fa16b194f0f5
Binary files /dev/null and b/resourceschedule/resourceschedule_standard/deviceusagestatisticsjsunit/signature/openharmony_sx.p7b differ
diff --git a/resourceschedule/resourceschedule_standard/deviceusagestatisticsjsunit/src/main/config.json b/resourceschedule/resourceschedule_standard/deviceusagestatisticsjsunit/src/main/config.json
new file mode 100644
index 0000000000000000000000000000000000000000..cfc62d42085ae74c9d0e6f6a4b12e1a528837bd6
--- /dev/null
+++ b/resourceschedule/resourceschedule_standard/deviceusagestatisticsjsunit/src/main/config.json
@@ -0,0 +1,60 @@
+{
+ "app": {
+ "bundleName": "ohos.acts.resourceschedule.deviceusagestatisticsjsunit.js.function",
+ "vendor": "example",
+ "version": {
+ "code": 1,
+ "name": "1.0"
+ },
+ "apiVersion": {
+ "compatible": 4,
+ "target": 5
+ }
+ },
+ "deviceConfig": {},
+ "module": {
+ "package": "ohos.acts.resourceschedule.deviceusagestatisticsjsunit.js.function",
+ "name": ".MyApplication",
+ "deviceType": [
+ "phone"
+ ],
+ "distro": {
+ "deliveryWithInstall": true,
+ "moduleName": "entry",
+ "moduleType": "entry"
+ },
+ "abilities": [
+ {
+ "visible": true,
+ "skills": [
+ {
+ "entities": [
+ "entity.system.home"
+ ],
+ "actions": [
+ "action.system.home"
+ ]
+ }
+ ],
+ "name": "ohos.acts.resourceschedule.deviceusagestatisticsjsunit.js.function.MainAbility",
+ "icon": "$media:icon",
+ "description": "$string:mainability_description",
+ "label": "$string:app_name",
+ "type": "page",
+ "launchType": "standard"
+ }
+ ],
+ "js": [
+ {
+ "pages": [
+ "pages/index/index"
+ ],
+ "name": "default",
+ "window": {
+ "designWidth": 720,
+ "autoDesignWidth": false
+ }
+ }
+ ]
+ }
+}
diff --git a/resourceschedule/resourceschedule_standard/deviceusagestatisticsjsunit/src/main/js/default/app.js b/resourceschedule/resourceschedule_standard/deviceusagestatisticsjsunit/src/main/js/default/app.js
new file mode 100644
index 0000000000000000000000000000000000000000..e423f4bce4698ec1d7dc86c3eea3990a5e7b1085
--- /dev/null
+++ b/resourceschedule/resourceschedule_standard/deviceusagestatisticsjsunit/src/main/js/default/app.js
@@ -0,0 +1,23 @@
+/*
+ * 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('AceApplication onCreate');
+ },
+ onDestroy() {
+ console.info('AceApplication onDestroy');
+ }
+};
diff --git a/resourceschedule/resourceschedule_standard/deviceusagestatisticsjsunit/src/main/js/default/i18n/en-US.json b/resourceschedule/resourceschedule_standard/deviceusagestatisticsjsunit/src/main/js/default/i18n/en-US.json
new file mode 100644
index 0000000000000000000000000000000000000000..e63c70d978a3a53be988388c87182f81785e170c
--- /dev/null
+++ b/resourceschedule/resourceschedule_standard/deviceusagestatisticsjsunit/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/resourceschedule/resourceschedule_standard/deviceusagestatisticsjsunit/src/main/js/default/i18n/zh-CN.json b/resourceschedule/resourceschedule_standard/deviceusagestatisticsjsunit/src/main/js/default/i18n/zh-CN.json
new file mode 100644
index 0000000000000000000000000000000000000000..096c4d3d6046124485b28f71efab32009529c20d
--- /dev/null
+++ b/resourceschedule/resourceschedule_standard/deviceusagestatisticsjsunit/src/main/js/default/i18n/zh-CN.json
@@ -0,0 +1,6 @@
+{
+ "strings": {
+ "hello": "您好",
+ "world": "鸿蒙"
+ }
+}
\ No newline at end of file
diff --git a/resourceschedule/resourceschedule_standard/deviceusagestatisticsjsunit/src/main/js/default/pages/index/index.css b/resourceschedule/resourceschedule_standard/deviceusagestatisticsjsunit/src/main/js/default/pages/index/index.css
new file mode 100644
index 0000000000000000000000000000000000000000..6fda792753f2e15f22b529c7b90a82185b2770bf
--- /dev/null
+++ b/resourceschedule/resourceschedule_standard/deviceusagestatisticsjsunit/src/main/js/default/pages/index/index.css
@@ -0,0 +1,9 @@
+.container {
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+}
+
+.title {
+ font-size: 100px;
+}
diff --git a/resourceschedule/resourceschedule_standard/deviceusagestatisticsjsunit/src/main/js/default/pages/index/index.hml b/resourceschedule/resourceschedule_standard/deviceusagestatisticsjsunit/src/main/js/default/pages/index/index.hml
new file mode 100644
index 0000000000000000000000000000000000000000..f64b040a5ae394dbaa5e185e1ecd4f4556b92184
--- /dev/null
+++ b/resourceschedule/resourceschedule_standard/deviceusagestatisticsjsunit/src/main/js/default/pages/index/index.hml
@@ -0,0 +1,5 @@
+
+
+ {{ $t('strings.hello') }} {{ title }}
+
+
diff --git a/resourceschedule/resourceschedule_standard/deviceusagestatisticsjsunit/src/main/js/default/pages/index/index.js b/resourceschedule/resourceschedule_standard/deviceusagestatisticsjsunit/src/main/js/default/pages/index/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..0c564bb030d56eb17a14063cee23df41abced5ba
--- /dev/null
+++ b/resourceschedule/resourceschedule_standard/deviceusagestatisticsjsunit/src/main/js/default/pages/index/index.js
@@ -0,0 +1,45 @@
+/*
+ * 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: ""
+ },
+ onInit() {
+ this.title = this.$t('strings.world');
+ },
+ onShow() {
+ console.info('onShow finish')
+ const core = Core.getInstance()
+ const expectExtend = new ExpectExtend({
+ 'id': 'extend'
+ })
+ core.addService('expect', expectExtend)
+ core.init()
+
+ const configService = core.getDefaultService('config')
+ configService.setConfig(this)
+
+ require('../../test/List.test')
+ core.execute()
+ },
+ onReady() {
+ },
+}
diff --git a/resourceschedule/resourceschedule_standard/deviceusagestatisticsjsunit/src/main/js/default/test/DeviceUsageStatisticsJsunit.test.js b/resourceschedule/resourceschedule_standard/deviceusagestatisticsjsunit/src/main/js/default/test/DeviceUsageStatisticsJsunit.test.js
new file mode 100644
index 0000000000000000000000000000000000000000..baf38e2652003901bb7a3cf736761c44a7b8f67b
--- /dev/null
+++ b/resourceschedule/resourceschedule_standard/deviceusagestatisticsjsunit/src/main/js/default/test/DeviceUsageStatisticsJsunit.test.js
@@ -0,0 +1,923 @@
+/*
+ * 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 bundleState from '@ohos.bundleState'
+
+import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from 'deccjsunit/index'
+
+describe("DeviceUsageStatisticsJsTest", function () {
+ beforeAll(function() {
+
+ /*
+ * @tc.setup: setup invoked before all testcases
+ */
+ console.info('beforeAll called')
+ })
+
+ afterAll(function() {
+
+ /*
+ * @tc.teardown: teardown invoked after all testcases
+ */
+ console.info('afterAll called')
+ })
+
+ beforeEach(function() {
+
+ /*
+ * @tc.setup: setup invoked before each testcases
+ */
+ console.info('beforeEach called')
+ })
+
+ afterEach(function() {
+
+ /*
+ * @tc.teardown: teardown invoked after each testcases
+ */
+ console.info('afterEach caled')
+ })
+
+ /*
+ * @tc.name: DeviceUsageStatisticsJsTest001
+ * @tc.desc: test isIdleState promise.
+ * @tc.type: FUNC
+ * @tc.require:
+ */
+ it("DeviceUsageStatisticsJsTest001", 0, async function (done) {
+ console.info('----------------------DeviceUsageStatisticsJsTest001---------------------------');
+ let bundleName = 'com.explace.deviceUsageStatistics';
+ bundleState.isIdleState(bundleName).then((res) => {
+ console.info('BUNDLE_ACTIVE isIdleState promise success.');
+ expect(true).assertEqual(true);
+ }).catch((err) => {
+ expect(false).assertEqual(true);
+ console.info('BUNDLE_ACTIVE isIdleState promise failure.');
+ });
+
+ setTimeout(()=>{
+ done();
+ }, 500);
+ })
+
+ /*
+ * @tc.name: DeviceUsageStatisticsJsTest002
+ * @tc.desc: test isIdleState callback.
+ * @tc.type: FUNC
+ * @tc.require:
+ */
+ it("DeviceUsageStatisticsJsTest002", 0, async function (done) {
+ console.info('----------------------DeviceUsageStatisticsJsTest002---------------------------');
+ let bundleName = 'com.explace.deviceUsageStatistics';
+ bundleState.isIdleState(bundleName, (err, res) => {
+ if(err.code === 0) {
+ console.info('BUNDLE_ACTIVE isIdleState callback success.');
+ expect(true).assertEqual(true);
+ } else {
+ expect(false).assertEqual(true);
+ console.info('BUNDLE_ACTIVE isIdleState callback failure.');
+ }
+ });
+
+ setTimeout(()=>{
+ done();
+ }, 500);
+ })
+
+ /*
+ * @tc.name: DeviceUsageStatisticsJsTest003
+ * @tc.desc: test queryAppUsagePriorityGroup promise.
+ * @tc.type: FUNC
+ * @tc.require:
+ */
+ it("DeviceUsageStatisticsJsTest003", 0, async function (done) {
+ console.info('----------------------DeviceUsageStatisticsJsTest003---------------------------');
+ bundleState.queryAppUsagePriorityGroup().then( res => {
+ console.info('BUNDLE_ACTIVE queryAppUsagePriorityGroup promise success.');
+ expect(true).assertEqual(true)
+ }).catch( err => {
+ expect(false).assertEqual(true)
+ console.info('BUNDLE_ACTIVE queryAppUsagePriorityGroup promise failure.');
+ });
+
+ setTimeout(()=>{
+ done();
+ }, 500);
+ })
+
+ /*
+ * @tc.name: DeviceUsageStatisticsJsTest004
+ * @tc.desc: test queryAppUsagePriorityGroup callback.
+ * @tc.type: FUNC
+ * @tc.require:
+ */
+ it("DeviceUsageStatisticsJsTest004", 0, async function (done) {
+ console.info('----------------------DeviceUsageStatisticsJsTest004---------------------------');
+ bundleState.queryAppUsagePriorityGroup((err, res) => {
+ if(err.code === 0) {
+ console.info('BUNDLE_ACTIVE queryAppUsagePriorityGroup callback success.');
+ expect(true).assertEqual(true)
+ } else {
+ expect(false).assertEqual(true)
+ console.info('BUNDLE_ACTIVE queryAppUsagePriorityGroup callback failure.');
+ }
+ });
+
+ setTimeout(()=>{
+ done();
+ }, 500);
+ })
+
+ /*
+ * @tc.name: DeviceUsageStatisticsJsTest005
+ * @tc.desc: test queryBundleActiveStates promise.
+ * @tc.type: FUNC
+ * @tc.require:
+ */
+ it("DeviceUsageStatisticsJsTest005", 0, async function (done) {
+ console.info('----------------------DeviceUsageStatisticsJsTest005---------------------------');
+ let beginTime = 0;
+ let endTime = 20000000000000;
+ bundleState.queryBundleActiveStates(beginTime, endTime).then((res) => {
+ console.info('BUNDLE_ACTIVE queryBundleActiveStates promise success.');
+ expect(true).assertEqual(true);
+ }).catch((err) => {
+ expect(false).assertEqual(true);
+ console.info('BUNDLE_ACTIVE queryBundleActiveStates promise failure.');
+ });
+
+ setTimeout(()=>{
+ done();
+ }, 500);
+ })
+
+ /*
+ * @tc.name: DeviceUsageStatisticsJsTest006
+ * @tc.desc: test queryBundleActiveStates callback.
+ * @tc.type: FUNC
+ * @tc.require:
+ */
+ it("DeviceUsageStatisticsJsTest006", 0, async function (done) {
+ console.info('----------------------DeviceUsageStatisticsJsTest006---------------------------');
+ let beginTime = 0;
+ let endTime = 20000000000000;
+ bundleState.queryBundleActiveStates(beginTime, endTime, (err, res) => {
+ if(err.code === 0) {
+ console.info('BUNDLE_ACTIVE queryBundleActiveStates callback success.');
+ expect(true).assertEqual(true);
+ } else {
+ expect(false).assertEqual(true);
+ console.info('BUNDLE_ACTIVE queryBundleActiveStates callback failure.');
+ }
+ });
+
+ setTimeout(()=>{
+ done();
+ }, 500);
+ })
+
+ /*
+ * @tc.name: DeviceUsageStatisticsJsTest007
+ * @tc.desc: test queryBundleStateInfos promise.
+ * @tc.type: FUNC
+ * @tc.require:
+ */
+ it("DeviceUsageStatisticsJsTest007", 0, async function (done) {
+ console.info('----------------------DeviceUsageStatisticsJsTest007---------------------------');
+ let beginTime = 0;
+ let endTime = 20000000000000;
+ bundleState.queryBundleStateInfos(beginTime, endTime).then((res) => {
+ console.info('BUNDLE_ACTIVE queryBundleStateInfos promise success.');
+ expect(true).assertEqual(true);
+ }).catch((err) => {
+ expect(false).assertEqual(true);
+ console.info('BUNDLE_ACTIVE queryBundleStateInfos promise failure.');
+ });
+
+ setTimeout(()=>{
+ done();
+ }, 500);
+ })
+
+ /*
+ * @tc.name: DeviceUsageStatisticsJsTest008
+ * @tc.desc: test queryBundleStateInfos callback.
+ * @tc.type: FUNC
+ * @tc.require:
+ */
+ it("DeviceUsageStatisticsJsTest008", 0, async function (done) {
+ console.info('----------------------DeviceUsageStatisticsJsTest008---------------------------');
+ let beginTime = 0;
+ let endTime = 20000000000000;
+ bundleState.queryBundleStateInfos(beginTime, endTime, (err, res) => {
+ if(err.code === 0) {
+ console.info('BUNDLE_ACTIVE queryBundleStateInfos callback success.');
+ expect(true).assertEqual(true);
+ } else {
+ expect(false).assertEqual(true);
+ console.info('BUNDLE_ACTIVE queryBundleStateInfos callback failure.');
+ }
+ });
+
+ setTimeout(()=>{
+ done();
+ }, 500);
+ })
+
+ /*
+ * @tc.name: DeviceUsageStatisticsJsTest009
+ * @tc.desc: test queryCurrentBundleActiveStates promise.
+ * @tc.type: FUNC
+ * @tc.require:
+ */
+ it("DeviceUsageStatisticsJsTest009", 0, async function (done) {
+ console.info('----------------------DeviceUsageStatisticsJsTest009---------------------------');
+ let beginTime = 0;
+ let endTime = 20000000000000;
+ bundleState.queryCurrentBundleActiveStates(beginTime, endTime).then((res) => {
+ console.info('BUNDLE_ACTIVE queryCurrentBundleActiveStates promise success.');
+ expect(true).assertEqual(true);
+ }).catch((err) => {
+ expect(false).assertEqual(true);
+ console.info('BUNDLE_ACTIVE queryCurrentBundleActiveStates promise failure.');
+ });
+
+ setTimeout(()=>{
+ done();
+ }, 500);
+ })
+
+ /*
+ * @tc.name: DeviceUsageStatisticsJsTest010
+ * @tc.desc: test queryCurrentBundleActiveStates callback.
+ * @tc.type: FUNC
+ * @tc.require:
+ */
+ it("DeviceUsageStatisticsJsTest010", 0, async function (done) {
+ console.info('----------------------DeviceUsageStatisticsJsTest010---------------------------');
+ let beginTime = 0;
+ let endTime = 20000000000000;
+ bundleState.queryCurrentBundleActiveStates(beginTime, endTime, (err, res) => {
+ if(err.code === 0) {
+ console.info('BUNDLE_ACTIVE queryCurrentBundleActiveStates callback success.');
+ expect(true).assertEqual(true);
+ } else {
+ expect(false).assertEqual(true);
+ console.info('BUNDLE_ACTIVE queryCurrentBundleActiveStates callback failure.');
+ }
+ });
+
+ setTimeout(()=>{
+ done();
+ }, 500);
+ })
+
+ /*
+ * @tc.name: DeviceUsageStatisticsJsTest011
+ * @tc.desc: test queryBundleStateInfoByInterval promise.
+ * @tc.type: FUNC
+ * @tc.require:
+ */
+ it("DeviceUsageStatisticsJsTest011", 0, async function (done) {
+ console.info('----------------------DeviceUsageStatisticsJsTest011---------------------------');
+ let intervalType = 0;
+ let beginTime = 0;
+ let endTime = 20000000000000;
+ bundleState.queryBundleStateInfoByInterval(intervalType, beginTime, endTime).then((res) => {
+ console.info('BUNDLE_ACTIVE queryBundleStateInfoByInterval promise success.');
+ expect(true).assertEqual(true);
+ }).catch((err) => {
+ expect(false).assertEqual(true);
+ console.info('BUNDLE_ACTIVE queryBundleStateInfoByInterval promise failure.');
+ });
+
+ setTimeout(()=>{
+ done();
+ }, 500);
+ })
+
+ /*
+ * @tc.name: DeviceUsageStatisticsJsTest012
+ * @tc.desc: test queryBundleStateInfoByInterval callback.
+ * @tc.type: FUNC
+ * @tc.require:
+ */
+ it("DeviceUsageStatisticsJsTest012", 0, async function (done) {
+ console.info('----------------------DeviceUsageStatisticsJsTest012---------------------------');
+ let intervalType = 0;
+ let beginTime = 0;
+ let endTime = 20000000000000;
+ bundleState.queryBundleStateInfoByInterval(intervalType, beginTime, endTime, (err, res) => {
+ if(err.code === 0) {
+ console.info('BUNDLE_ACTIVE queryBundleStateInfoByInterval callback success.');
+ expect(true).assertEqual(true);
+ } else {
+ expect(false).assertEqual(true);
+ console.info('BUNDLE_ACTIVE queryBundleStateInfoByInterval callback failure.');
+ }
+ });
+
+ setTimeout(()=>{
+ done();
+ }, 500);
+ })
+
+ /*
+ * @tc.name: DeviceUsageStatisticsJsTest013
+ * @tc.desc: test intervalType BY_OPTIMIZED
+ * @tc.type: FUNC
+ * @tc.require:
+ */
+ it("DeviceUsageStatisticsJsTest013", 0, function (done) {
+ console.info('----------------------DeviceUsageStatisticsJsTest013---------------------------');
+ let value1 = bundleState.intervalType.BY_OPTIMIZED;
+ expect(value1).assertEqual(0)
+ done();
+ })
+
+ /*
+ * @tc.name: DeviceUsageStatisticsJsTest014
+ * @tc.desc: test intervalType BY_DAILY
+ * @tc.type: FUNC
+ * @tc.require:
+ */
+ it("DeviceUsageStatisticsJsTest014", 0, function (done) {
+ console.info('----------------------DeviceUsageStatisticsJsTest014---------------------------');
+ let value1 = bundleState.intervalType.BY_DAILY;
+ expect(value1).assertEqual(1)
+ done();
+ })
+
+ /*
+ * @tc.name: DeviceUsageStatisticsJsTest015
+ * @tc.desc: test intervalType BY_WEEKLY
+ * @tc.type: FUNC
+ * @tc.require:
+ */
+ it("DeviceUsageStatisticsJsTest015", 0, function (done) {
+ console.info('----------------------DeviceUsageStatisticsJsTest015---------------------------');
+ let value1 = bundleState.intervalType.BY_WEEKLY;
+ expect(value1).assertEqual(2)
+ done();
+ })
+
+ /*
+ * @tc.name: DeviceUsageStatisticsJsTest016
+ * @tc.desc: test intervalType BY_MONTHLY
+ * @tc.type: FUNC
+ * @tc.require:
+ */
+ it("DeviceUsageStatisticsJsTest016", 0, function (done) {
+ console.info('----------------------DeviceUsageStatisticsJsTest016---------------------------');
+ let value1 = bundleState.intervalType.BY_MONTHLY;
+ expect(value1).assertEqual(3)
+ done();
+ })
+
+ /*
+ * @tc.name: DeviceUsageStatisticsJsTest017
+ * @tc.desc: test intervalType BY_ANNUALLY
+ * @tc.type: FUNC
+ * @tc.require:
+ */
+ it("DeviceUsageStatisticsJsTest017", 0, function (done) {
+ console.info('----------------------DeviceUsageStatisticsJsTest017---------------------------');
+ let value1 = bundleState.intervalType.BY_ANNUALLY;
+ expect(value1).assertEqual(4)
+ done();
+ })
+
+ /*
+ * @tc.name: DeviceUsageStatisticsJsTest018
+ * @tc.desc: test BundleStateInfo id.
+ * @tc.type: FUNC
+ * @tc.require:
+ */
+ it("DeviceUsageStatisticsJsTest018", 0, async function (done) {
+ console.info('----------------------DeviceUsageStatisticsJsTest018---------------------------');
+ let intervalType = 1;
+ let beginTime = 1000;
+ let endTime = 20000000000000;
+ bundleState.queryBundleStateInfoByInterval(intervalType, beginTime, endTime, (err, res) => {
+ if(err.code === 0) {
+ expect(true).assertEqual(true);
+ if(res === undefined) {
+ res = [{id: 1}];
+ }
+ console.log('test BundleStateInfo id :' + res[0].id)
+ } else {
+ expect(false).assertEqual(true);
+ }
+ });
+
+ setTimeout(()=>{
+ done();
+ }, 500);
+ })
+
+ /*
+ * @tc.name: DeviceUsageStatisticsJsTest019
+ * @tc.desc: test BundleStateInfo bundleName.
+ * @tc.type: FUNC
+ * @tc.require:
+ */
+ it("DeviceUsageStatisticsJsTest019", 0, async function (done) {
+ console.info('----------------------DeviceUsageStatisticsJsTest019---------------------------');
+ let intervalType = 1;
+ let beginTime = 100;
+ let endTime = 20000000000000;
+ bundleState.queryBundleStateInfoByInterval(intervalType, beginTime, endTime, (err, res) => {
+ if(err.code === 0) {
+ expect(true).assertEqual(true);
+ if(res === undefined) {
+ res = [{bundleName: 'www.explace.com'}];
+ }
+ console.log('test BundleStateInfo bundleName :' + res[0].bundleName)
+ } else {
+ expect(false).assertEqual(true);
+ }
+ });
+
+ setTimeout(()=>{
+ done();
+ }, 500);
+ })
+
+ /*
+ * @tc.name: DeviceUsageStatisticsJsTest020
+ * @tc.desc: test BundleStateInfo infosEndTime.
+ * @tc.type: FUNC
+ * @tc.require:
+ */
+ it("DeviceUsageStatisticsJsTest020", 0, async function (done) {
+ console.info('----------------------DeviceUsageStatisticsJsTest020---------------------------');
+ let intervalType = 1;
+ let beginTime = 1001;
+ let endTime = 20000000000000;
+ bundleState.queryBundleStateInfoByInterval(intervalType, beginTime, endTime, (err, res) => {
+ if(err.code === 0) {
+ expect(true).assertEqual(true);
+ if(res === undefined) {
+ res = [{infosEndTime: 0}];
+ }
+ console.log('test BundleStateInfo infosEndTime :' + res[0].infosEndTime)
+ } else {
+ expect(false).assertEqual(true);
+ }
+ });
+
+ setTimeout(()=>{
+ done();
+ }, 500);
+ })
+
+ /*
+ * @tc.name: DeviceUsageStatisticsJsTest021
+ * @tc.desc: test BundleStateInfo abilityPrevSeenTime.
+ * @tc.type: FUNC
+ * @tc.require:
+ */
+ it("DeviceUsageStatisticsJsTest021", 0, async function (done) {
+ console.info('----------------------DeviceUsageStatisticsJsTest021---------------------------');
+ let intervalType = 1;
+ let beginTime = 1001;
+ let endTime = 20000000000000;
+ bundleState.queryBundleStateInfoByInterval(intervalType, beginTime, endTime, (err, res) => {
+ if(err.code === 0) {
+ expect(true).assertEqual(true);
+ if(res === undefined) {
+ res = [{abilityPrevSeenTime: 0}];
+ }
+ console.log('test BundleStateInfo abilityPrevSeenTime :' + res[0].abilityPrevSeenTime)
+ } else {
+ expect(false).assertEqual(true);
+ }
+ });
+
+ setTimeout(()=>{
+ done();
+ }, 500);
+ })
+
+ /*
+ * @tc.name: DeviceUsageStatisticsJsTest022
+ * @tc.desc: test BundleStateInfo abilitySeenTotalTime.
+ * @tc.type: FUNC
+ * @tc.require:
+ */
+ it("DeviceUsageStatisticsJsTest022", 0, async function (done) {
+ console.info('----------------------DeviceUsageStatisticsJsTest022---------------------------');
+ let intervalType = 1;
+ let beginTime = 1001;
+ let endTime = 20000000000000;
+ bundleState.queryBundleStateInfoByInterval(intervalType, beginTime, endTime, (err, res) => {
+ if(err.code === 0) {
+ expect(true).assertEqual(true);
+ if(res === undefined) {
+ res = [{abilitySeenTotalTime: 0}];
+ }
+ console.log('test BundleStateInfo abilitySeenTotalTime :' + res[0].abilitySeenTotalTime)
+ } else {
+ expect(false).assertEqual(true);
+ }
+ });
+
+ setTimeout(()=>{
+ done();
+ }, 500);
+ })
+
+ /*
+ * @tc.name: DeviceUsageStatisticsJsTest023
+ * @tc.desc: test BundleStateInfo fgAbilityAccessTotalTime.
+ * @tc.type: FUNC
+ * @tc.require:
+ */
+ it("DeviceUsageStatisticsJsTest023", 0, async function (done) {
+ console.info('----------------------DeviceUsageStatisticsJsTest023---------------------------');
+ let intervalType = 1;
+ let beginTime = 1001;
+ let endTime = 20000000000000;
+ bundleState.queryBundleStateInfoByInterval(intervalType, beginTime, endTime, (err, res) => {
+ if(err.code === 0) {
+ expect(true).assertEqual(true);
+ if(res === undefined) {
+ res = [{fgAbilityAccessTotalTime: 0}];
+ }
+ console.log('test BundleStateInfo fgAbilityAccessTotalTime :' + res[0].fgAbilityAccessTotalTime)
+ } else {
+ expect(false).assertEqual(true);
+ }
+ });
+
+ setTimeout(()=>{
+ done();
+ }, 500);
+ })
+
+ /*
+ * @tc.name: DeviceUsageStatisticsJsTest024
+ * @tc.desc: test BundleStateInfo fgAbilityPrevAccessTime.
+ * @tc.type: FUNC
+ * @tc.require:
+ */
+ it("DeviceUsageStatisticsJsTest024", 0, async function (done) {
+ console.info('----------------------DeviceUsageStatisticsJsTest024---------------------------');
+ let intervalType = 1;
+ let beginTime = 1001;
+ let endTime = 20000000000000;
+ bundleState.queryBundleStateInfoByInterval(intervalType, beginTime, endTime, (err, res) => {
+ if(err.code === 0) {
+ expect(true).assertEqual(true);
+ if(res === undefined) {
+ res = [{fgAbilityPrevAccessTime: 0}];
+ }
+ console.log('test BundleStateInfo fgAbilityPrevAccessTime :' + res[0].fgAbilityPrevAccessTime)
+ } else {
+ expect(false).assertEqual(true);
+ }
+ });
+
+ setTimeout(()=>{
+ done();
+ }, 500);
+ })
+
+ /*
+ * @tc.name: DeviceUsageStatisticsJsTest025
+ * @tc.desc: test BundleStateInfo abilityPrevAccessTime.
+ * @tc.type: FUNC
+ * @tc.require:
+ */
+ it("DeviceUsageStatisticsJsTest025", 0, async function (done) {
+ console.info('----------------------DeviceUsageStatisticsJsTest025---------------------------');
+ let intervalType = 1;
+ let beginTime = 1001;
+ let endTime = 20000000000000;
+ bundleState.queryBundleStateInfoByInterval(intervalType, beginTime, endTime, (err, res) => {
+ if(err.code === 0) {
+ expect(true).assertEqual(true);
+ if(res === undefined) {
+ res = [{abilityPrevAccessTime: 0}];
+ }
+ console.log('test BundleStateInfo abilityPrevAccessTime :' + res[0].abilityPrevAccessTime)
+ } else {
+ expect(false).assertEqual(true);
+ }
+ });
+
+ setTimeout(()=>{
+ done();
+ }, 500);
+ })
+
+ /*
+ * @tc.name: DeviceUsageStatisticsJsTest026
+ * @tc.desc: test BundleStateInfo infosBeginTime.
+ * @tc.type: FUNC
+ * @tc.require:
+ */
+ it("DeviceUsageStatisticsJsTest026", 0, async function (done) {
+ console.info('----------------------DeviceUsageStatisticsJsTest026---------------------------');
+ let intervalType = 1;
+ let beginTime = 1001;
+ let endTime = 20000000000000;
+ bundleState.queryBundleStateInfoByInterval(intervalType, beginTime, endTime, (err, res) => {
+ if(err.code === 0) {
+ expect(true).assertEqual(true);
+ if(res === undefined) {
+ res = [{infosBeginTime: 0}];
+ }
+ console.log('test BundleStateInfo infosBeginTime :' + res[0].infosBeginTime)
+ } else {
+ expect(false).assertEqual(true);
+ }
+ });
+
+ setTimeout(()=>{
+ done();
+ }, 500);
+ })
+
+ /*
+ * @tc.name: DeviceUsageStatisticsJsTest027
+ * @tc.desc: test BundleStateInfo abilityInFgTotalTime.
+ * @tc.type: FUNC
+ * @tc.require:
+ */
+ it("DeviceUsageStatisticsJsTest027", 0, async function (done) {
+ console.info('----------------------DeviceUsageStatisticsJsTest027---------------------------');
+ let intervalType = 1;
+ let beginTime = 1001;
+ let endTime = 20000000000000;
+ bundleState.queryBundleStateInfoByInterval(intervalType, beginTime, endTime, (err, res) => {
+ if(err.code === 0) {
+ expect(true).assertEqual(true);
+ if(res === undefined) {
+ res = [{abilityInFgTotalTime: 0}];
+ }
+ console.log('test BundleStateInfo abilityInFgTotalTime :' + res[0].abilityInFgTotalTime)
+ } else {
+ expect(false).assertEqual(true);
+ }
+ });
+
+ setTimeout(()=>{
+ done();
+ }, 500);
+ })
+
+ /*
+ * @tc.name: DeviceUsageStatisticsJsTest028
+ * @tc.desc: test BundleActiveState bundleName.
+ * @tc.type: FUNC
+ * @tc.require:
+ */
+ it("DeviceUsageStatisticsJsTest028", 0, async function (done) {
+ console.info('----------------------DeviceUsageStatisticsJsTest028---------------------------');
+ let beginTime = 10;
+ let endTime = 20000000000000;
+ bundleState.queryCurrentBundleActiveStates(beginTime, endTime, (err, res) => {
+ if(err.code === 0) {
+ expect(true).assertEqual(true);
+ if(res === undefined) {
+ res = [{bundleName: 'www.baidu.com'}];
+ }
+ console.log('test BundleActiveState bundleName :' + res[0].bundleName)
+ } else {
+ expect(false).assertEqual(true);
+ }
+ });
+
+ setTimeout(()=>{
+ done();
+ }, 500);
+ })
+
+ /*
+ * @tc.name: DeviceUsageStatisticsJsTest029
+ * @tc.desc: test BundleActiveState stateType.
+ * @tc.type: FUNC
+ * @tc.require:
+ */
+ it("DeviceUsageStatisticsJsTest029", 0, async function (done) {
+ console.info('----------------------DeviceUsageStatisticsJsTest029---------------------------');
+ let beginTime = 10;
+ let endTime = 20000000000000;
+ bundleState.queryCurrentBundleActiveStates(beginTime, endTime, (err, res) => {
+ if(err.code === 0) {
+ expect(true).assertEqual(true);
+ if(res === undefined) {
+ res = [{stateType: 0}];
+ }
+ console.log('test BundleActiveState stateType :' + res[0].stateType)
+ } else {
+ expect(false).assertEqual(true);
+ }
+ });
+
+ setTimeout(()=>{
+ done();
+ }, 500);
+ })
+
+ /*
+ * @tc.name: DeviceUsageStatisticsJsTest030
+ * @tc.desc: test BundleActiveState stateOccurredTime.
+ * @tc.type: FUNC
+ * @tc.require:
+ */
+ it("DeviceUsageStatisticsJsTest030", 0, async function (done) {
+ console.info('----------------------DeviceUsageStatisticsJsTest030---------------------------');
+ let beginTime = 10;
+ let endTime = 20000000000000;
+ bundleState.queryCurrentBundleActiveStates(beginTime, endTime, (err, res) => {
+ if(err.code === 0) {
+ expect(true).assertEqual(true);
+ if(res === undefined) {
+ res = [{stateOccurredTime: 0}];
+ }
+ console.log('test BundleActiveState stateOccurredTime :' + res[0].stateOccurredTime)
+ } else {
+ expect(false).assertEqual(true);
+ }
+ });
+
+ setTimeout(()=>{
+ done();
+ }, 500);
+ })
+
+ /*
+ * @tc.name: DeviceUsageStatisticsJsTest031
+ * @tc.desc: test BundleActiveState appUsagePriorityGroup.
+ * @tc.type: FUNC
+ * @tc.require:
+ */
+ it("DeviceUsageStatisticsJsTest031", 0, async function (done) {
+ console.info('----------------------DeviceUsageStatisticsJsTest031---------------------------');
+ let beginTime = 10;
+ let endTime = 20000000000000;
+ bundleState.queryCurrentBundleActiveStates(beginTime, endTime, (err, res) => {
+ if(err.code === 0) {
+ expect(true).assertEqual(true);
+ if(res === undefined) {
+ res = [{appUsagePriorityGroup: 0}];
+ }
+ console.log('test BundleActiveState appUsagePriorityGroup :' + res[0].appUsagePriorityGroup)
+ } else {
+ expect(false).assertEqual(true);
+ }
+ });
+
+ setTimeout(()=>{
+ done();
+ }, 500);
+ })
+
+ /*
+ * @tc.name: DeviceUsageStatisticsJsTest032
+ * @tc.desc: test BundleActiveState indexOfLink.
+ * @tc.type: FUNC
+ * @tc.require:
+ */
+ it("DeviceUsageStatisticsJsTest032", 0, async function (done) {
+ console.info('----------------------DeviceUsageStatisticsJsTest032---------------------------');
+ let beginTime = 10;
+ let endTime = 20000000000000;
+ bundleState.queryCurrentBundleActiveStates(beginTime, endTime, (err, res) => {
+ if(err.code === 0) {
+ expect(true).assertEqual(true);
+ if(res === undefined) {
+ res = [{indexOfLink: 'id'}];
+ }
+ console.log('test BundleActiveState indexOfLink :' + res[0].indexOfLink)
+ } else {
+ expect(false).assertEqual(true);
+ }
+ });
+
+ setTimeout(()=>{
+ done();
+ }, 500);
+ })
+
+ /*
+ * @tc.name: DeviceUsageStatisticsJsTest033
+ * @tc.desc: test BundleActiveState nameOfClass.
+ * @tc.type: FUNC
+ * @tc.require:
+ */
+ it("DeviceUsageStatisticsJsTest033", 0, async function (done) {
+ console.info('----------------------DeviceUsageStatisticsJsTest033---------------------------');
+ let beginTime = 10;
+ let endTime = 20000000000000;
+ bundleState.queryCurrentBundleActiveStates(beginTime, endTime, (err, res) => {
+ if(err.code === 0) {
+ expect(true).assertEqual(true);
+ if(res === undefined) {
+ res = [{nameOfClass: 'BundleStates'}];
+ }
+ console.log('test BundleActiveState nameOfClass :' + res[0].nameOfClass)
+ } else {
+ expect(false).assertEqual(true);
+ }
+ });
+
+ setTimeout(()=>{
+ done();
+ }, 500);
+ })
+
+ /*
+ * @tc.name: DeviceUsageStatisticsJsTest034
+ * @tc.desc: test BundleActiveinfoResponse BundleStateinfo key.
+ * @tc.type: FUNC
+ * @tc.require:
+ */
+ it("DeviceUsageStatisticsJsTest034", 0, async function (done) {
+ console.info('----------------------DeviceUsageStatisticsJsTest034---------------------------');
+ let beginTime = 10;
+ let endTime = 20000000000000;
+ bundleState.queryCurrentBundleActiveStates(beginTime, endTime).then((res) => {
+ expect(true).assertEqual(true);
+ let bundleStateInfo1 = {
+ bundleName: 'www.explace.com',
+ abilityPrevAccessTime: 0,
+ abilityInFgTotalTime: 0
+ };
+ let bundleStateInfo2 = {
+ bundleName: 'www.baidu.com',
+ abilityPrevAccessTime: 1,
+ abilityInFgTotalTime: 1
+ };
+ if(res === undefined) {
+ res = [];
+ res['www.explace.com'] = bundleStateInfo1;
+ res['www.baidu.com'] = bundleStateInfo2;
+ for(let k in res) {
+ console.log('test BundleStateInfo key :' + k + ',value is :' + JSON.stringify(res[k]));
+ }
+ }
+ }).catch((err) => {
+ expect(false).assertEqual(true);
+ });
+
+ setTimeout(()=>{
+ done();
+ }, 500);
+ })
+
+ /*
+ * @tc.name: DeviceUsageStatisticsJsTest035
+ * @tc.desc: test BundleStateInfo merge.
+ * @tc.type: FUNC
+ * @tc.require:
+ */
+ it("DeviceUsageStatisticsJsTest035", 0, async function (done) {
+ console.info('----------------------DeviceUsageStatisticsJsTest035---------------------------');
+ let beginTime = 1001;
+ let endTime = 20000000000000;
+ bundleState.queryCurrentBundleActiveStates(0, beginTime, endTime, (err, res) => {
+ if(err.code === 0) {
+ expect(true).assertEqual(true);
+ if(res === undefined) {
+ let bundleStateInfo = {
+ bundleName: 'www.explace.com',
+ abilityPrevAccessTime: 0,
+ abilityInFgTotalTime: 0
+ };
+ res = [{
+ bundleName: 'www.explace.com',
+ abilityPrevAccessTime: 0,
+ abilityInFgTotalTime: 0,
+ merge : function (toMerge) {
+ return 'is function,toMerge :' + JSON.stringify(toMerge);
+ }
+ }]
+ console.log('test bundleStateInfo merge' + res[0].merge(bundleStateInfo));
+ } else {
+ console.log('test bundleStateInfo merge')
+ }
+ } else {
+ expect(false).assertEqual(true);
+ }
+ });
+
+ setTimeout(()=>{
+ done();
+ }, 500);
+ })
+})
\ No newline at end of file
diff --git a/resourceschedule/resourceschedule_standard/deviceusagestatisticsjsunit/src/main/js/default/test/List.test.js b/resourceschedule/resourceschedule_standard/deviceusagestatisticsjsunit/src/main/js/default/test/List.test.js
new file mode 100644
index 0000000000000000000000000000000000000000..3e1449ca4b050e485abdd078570a67959dd6068c
--- /dev/null
+++ b/resourceschedule/resourceschedule_standard/deviceusagestatisticsjsunit/src/main/js/default/test/List.test.js
@@ -0,0 +1,20 @@
+/*
+ * 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.
+ */
+
+require('./DeviceUsageStatisticsJsunit.test.js')
+
+
+
+
diff --git a/resourceschedule/resourceschedule_standard/deviceusagestatisticsjsunit/src/main/resources/base/element/string.json b/resourceschedule/resourceschedule_standard/deviceusagestatisticsjsunit/src/main/resources/base/element/string.json
new file mode 100644
index 0000000000000000000000000000000000000000..9704818460bd1101c3343815f4c53b4750198c65
--- /dev/null
+++ b/resourceschedule/resourceschedule_standard/deviceusagestatisticsjsunit/src/main/resources/base/element/string.json
@@ -0,0 +1,12 @@
+{
+ "string": [
+ {
+ "name": "app_name",
+ "value": "ResourcescheduleJSApiTest"
+ },
+ {
+ "name": "mainability_description",
+ "value": "JS_Phone_Empty Feature Ability"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/resourceschedule/resourceschedule_standard/deviceusagestatisticsjsunit/src/main/resources/base/media/icon.png b/resourceschedule/resourceschedule_standard/deviceusagestatisticsjsunit/src/main/resources/base/media/icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..ce307a8827bd75456441ceb57d530e4c8d45d36c
Binary files /dev/null and b/resourceschedule/resourceschedule_standard/deviceusagestatisticsjsunit/src/main/resources/base/media/icon.png differ
diff --git a/resourceschedule/resourceschedule_standard/workscheduler/src/main/js/default/test/WorkScheduler.test.js b/resourceschedule/resourceschedule_standard/workscheduler/src/main/js/default/test/WorkScheduler.test.js
index d2a544a1aaa54a57a3812adb93e60c84a4fca2cb..0586a5e07b1e0080cfc0dd7e8412dbd0281f116d 100644
--- a/resourceschedule/resourceschedule_standard/workscheduler/src/main/js/default/test/WorkScheduler.test.js
+++ b/resourceschedule/resourceschedule_standard/workscheduler/src/main/js/default/test/WorkScheduler.test.js
@@ -13,6 +13,7 @@
* limitations under the License.
*/
import workScheduler from '@ohos.workScheduler'
+import workSchedulerCallback from '@ohos.workSchedulerExtensionAbility'
import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from 'deccjsunit/index'
@@ -887,4 +888,143 @@ describe("WorkSchedulerJsTest", function () {
expect(res).assertEqual(false)
done();
})
+
+ /*
+ * @tc.name: WorkSchedulerJsTest046
+ * @tc.desc: test workScheduler workInfo networkType
+ * @tc.type: FUNC
+ * @tc.require:
+ */
+ it("WorkSchedulerJsTest046", 0, async function (done) {
+ console.info('----------------------WorkSchedulerJsTest046---------------------------');
+ let workInfo = {
+ workId: 7,
+ bundleName: "ohos.acts.resourceschedule.workscheduler.js.function",
+ abilityName: "com.mytest.abilityName",
+ networkType: NETWORK_TYPE_ANY
+ }
+ let res = workScheduler.startWork(workInfo);
+ expect(res).assertEqual(true);
+ console.info("workSchedulerLog workInfo networkType :" + workInfo.networkType)
+ done();
+ })
+
+ /*
+ * @tc.name: WorkSchedulerJsTest047
+ * @tc.desc: test workScheduler workInfo ChargingType
+ * @tc.type: FUNC
+ * @tc.require:
+ */
+ it("WorkSchedulerJsTest047", 0, async function (done) {
+ console.info('----------------------WorkSchedulerJsTest047---------------------------');
+ let workInfo = {
+ workId: 5,
+ bundleName: "ohos.acts.resourceschedule.workscheduler.js.function",
+ abilityName: "com.mytest.abilityName",
+ chargerType: workScheduler.ChargingType.CHARGING_PLUGGED_AC
+ }
+ let res = workScheduler.startWork(workInfo);
+ expect(res).assertEqual(true);
+ console.info("workSchedulerLog workInfo ChargingType :" + workScheduler.ChargingType.CHARGING_PLUGGED_AC)
+ done();
+ })
+
+ /*
+ * @tc.name: WorkSchedulerJsTest048
+ * @tc.desc: test workScheduler workInfo BatteryStatus
+ * @tc.type: FUNC
+ * @tc.require:
+ */
+ it("WorkSchedulerJsTest048", 0, async function (done) {
+ console.info('----------------------WorkSchedulerJsTest048---------------------------');
+ let workInfo = {
+ workId: 5,
+ bundleName: "ohos.acts.resourceschedule.workscheduler.js.function",
+ abilityName: "com.mytest.abilityName",
+ batteryStatus: workScheduler.BatteryStatus.BATTERY_STATUS_LOW
+ }
+ let res = workScheduler.startWork(workInfo);
+ expect(res).assertEqual(true);
+ console.info("workSchedulerLog workInfo BatteryStatus :" + workScheduler.BatteryStatus.BATTERY_STATUS_LOW)
+ done();
+ })
+
+ /*
+ * @tc.name: WorkSchedulerJsTest049
+ * @tc.desc: test WorkSchedulerExtensoinAbility onWorkStart
+ * @tc.type: FUNC
+ * @tc.require:
+ */
+ it("WorkSchedulerJsTest049", 0, async function (done) {
+ console.info('----------------------WorkSchedulerJsTest049---------------------------');
+ let workInfo = {
+ workId: 2,
+ bundleName: "ohos.acts.resourceschedule.workscheduler.js.function",
+ abilityName: "com.mytest.abilityName",
+ }
+ let res = workScheduler.onWorkStart(workInfo);
+ expect(res).assertEqual(true);
+ done();
+ })
+
+ /*
+ * @tc.name: WorkSchedulerJsTest050
+ * @tc.desc: test WorkSchedulerExtensoinAbility onWorkStop
+ * @tc.type: FUNC
+ * @tc.require:
+ */
+ it("WorkSchedulerJsTest050", 0, async function (done) {
+ console.info('----------------------WorkSchedulerJsTest050---------------------------');
+ let workInfo = {
+ workId: 2,
+ bundleName: "ohos.acts.resourceschedule.workscheduler.js.function",
+ abilityName: "com.mytest.abilityName",
+ }
+ let res = workSchedulerCallback.onWorkStop(workInfo);
+ if(res === true) {
+ let stopRes = WorkSchedulerCallback.onWorkStop(workInfo,false);
+ expect(stopRes).assertEqual(true);
+ } else {
+ expect(false).assertEqual(true);
+ }
+ done();
+ })
+
+ /*
+ * @tc.name: WorkSchedulerJsTest051
+ * @tc.desc: test workScheduler bundleName
+ * @tc.type: FUNC
+ * @tc.require:
+ */
+ it("WorkSchedulerJsTest051", 0, async function (done) {
+ console.info('----------------------WorkSchedulerJsTest051---------------------------');
+ let workInfo = {
+ workId: 4,
+ bundleName: "ohos.acts.resourceschedule.workscheduler.js.function",
+ abilityName: "com.mytest.abilityName",
+ }
+ var res = workScheduler.startWork(workInfo);
+ expect(res).assertEqual(true);
+ console.log("workScheduler workInfo bundleName :" + info.bundleName)
+ done();
+ })
+
+ /*
+ * @tc.name: WorkSchedulerJsTest052
+ * @tc.desc: test workScheduler workInfo abilityName
+ * @tc.type: FUNC
+ * @tc.require:
+ */
+ it("WorkSchedulerJsTest052", 0, async function (done) {
+ console.info('----------------------WorkSchedulerJsTest052---------------------------');
+ let workInfo = {
+ workId: 4,
+ bundleName: "ohos.acts.resourceschedule.workscheduler.js.function",
+ abilityName: "com.mytest.abilityName",
+ }
+ var res = workScheduler.startWork(workInfo);
+ expect(res).assertEqual(true);
+ console.log("workScheduler workInfo abilityName :" + info.abilityName)
+ done();
+ })
})
\ No newline at end of file