diff --git a/theme/BUILD.gn b/theme/BUILD.gn index 163c39526d738fb0d25fe4047c457a7dc075bc1f..519590ac16fae421e89145a7f8f7cda80f8573f4 100644 --- a/theme/BUILD.gn +++ b/theme/BUILD.gn @@ -16,6 +16,7 @@ group("theme") { testonly = true deps = [ "screenlock_ets:ActsScreenLockETSApiTest", + "wallpaper_authority_ets:ActsWallpapernAuthorityETSApiTest", "wallpaper_ets:ActsWallpaperETSApiTest", ] } diff --git a/theme/wallpaper_authority_ets/BUILD.gn b/theme/wallpaper_authority_ets/BUILD.gn new file mode 100644 index 0000000000000000000000000000000000000000..f73d9d0258bdf5c02e316f85cd24ba3650cf30a2 --- /dev/null +++ b/theme/wallpaper_authority_ets/BUILD.gn @@ -0,0 +1,39 @@ +# 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("//build/ohos.gni") +import("//test/xts/tools/build/suite.gni") +ohos_js_hap_suite("ActsWallpapernAuthorityETSApiTest") { + hap_profile = "./entry/src/main/config.json" + deps = [ + ":wallPaper_ets_assets", + ":wallPaper_ets_resources", + ":wallPaper_ets_test_assets", + ] + ets2abc = true + subsystem_name = "theme" + part_name = "wallpaper_mgr" + certificate_profile = "./signature/ActsWallpapernAuthorityETSApiTest.p7b" + hap_name = "ActsWallpapernAuthorityETSApiTest" +} + +ohos_js_assets("wallPaper_ets_assets") { + source_dir = "./entry/src/main/ets/MainAbility" +} +ohos_js_assets("wallPaper_ets_resources") { + source_dir = "./entry/src/main/ets/TestAbility" +} +ohos_resources("wallPaper_ets_test_assets") { + sources = [ "./entry/src/main/resources" ] + hap_profile = "./entry/src/main/config.json" +} diff --git a/theme/wallpaper_authority_ets/Test.json b/theme/wallpaper_authority_ets/Test.json new file mode 100644 index 0000000000000000000000000000000000000000..7dc089c4bef498e9c35f7c29fd8ff8c20c3d7c1b --- /dev/null +++ b/theme/wallpaper_authority_ets/Test.json @@ -0,0 +1,29 @@ +{ + "description": "Configuration for wallpaper js api Tests", + "driver": { + "type": "OHJSUnitTest", + "test-timeout": "600000", + "bundle-name": "com.acts.theme.wallpaperauthoritytest", + "package-name": "com.acts.theme.wallpaperauthoritytest", + "shell-timeout": "600000" + }, + "kits": [ + { + "test-file-name": [ + "ActsWallpapernAuthorityETSApiTest.hap" + ], + "type": "AppInstallKit", + "cleanup-apps": true + }, + { + "type": "PushKit", + "pre-push": [ + "mount -o rw,remount /", + "mkdir -p /data/app/el2/100/base/com.acts.theme.wallpaperauthoritytest/haps" + ], + "push": [ + "./resource/wallpaper/wp.png ->/data/app/el2/100/base/com.acts.theme.wallpaperauthoritytest/haps/wp.png" + ] + } + ] +} diff --git a/theme/wallpaper_authority_ets/entry/src/main/config.json b/theme/wallpaper_authority_ets/entry/src/main/config.json new file mode 100644 index 0000000000000000000000000000000000000000..c06505b2293c54dca3c7b8cf9bd114c0c8e329ef --- /dev/null +++ b/theme/wallpaper_authority_ets/entry/src/main/config.json @@ -0,0 +1,122 @@ +{ + "app": { + "bundleName": "com.acts.theme.wallpaperauthoritytest", + "vendor": "open", + "version": { + "code": 1000000, + "name": "1.0.0" + }, + "apiVersion": { + "compatible": 7, + "releaseType": "Release", + "target": 9 + } + }, + "deviceConfig": {}, + "module": { + "package": "com.acts.theme.wallpaperauthoritytest", + "name": ".MyApplication", + "mainAbility": "com.acts.theme.wallpaperauthoritytest.MainAbility", + + "deviceType": [ + "tablet", + "default" + ], + "distro": { + "deliveryWithInstall": true, + "moduleName": "entry", + "moduleType": "entry", + "installationFree": false + }, + "abilities": [ + { + "skills": [ + { + "entities": [ + "entity.system.home" + ], + "actions": [ + "action.system.home" + ] + } + ], + "orientation": "unspecified", + "visible": true, + "srcPath": "MainAbility", + "name": ".MainAbility", + "srcLanguage": "ets", + "icon": "$media:icon", + "description": "$string:description_mainability", + "formsEnabled": false, + "label": "$string:entry_MainAbility", + "type": "page", + "launchType": "standard" + }, + { + "orientation": "unspecified", + "visible": true, + "srcPath": "TestAbility", + "name": ".TestAbility", + "srcLanguage": "ets", + "icon": "$media:icon", + "description": "$string:TestAbility_desc", + "formsEnabled": false, + "label": "$string:TestAbility_label", + "type": "page", + "launchType": "standard" + } + ], + "reqPermissions": [ + { + "name": "ohos.permission.SET_WALLPAPER", + "reason": "need use ohos.permission.SET_WALLPAPER", + "usedScene": { + "ability": [ + "com.acts.theme.wallpapertest.MainAbility" + ], + "when": "inuse" + } + }, + { + "name": "ohos.permission.GET_WALLPAPER", + "reason": "need use ohos.permission.GET_WALLPAPER", + "usedScene": { + "ability": [ + "com.acts.theme.wallpapertest.MainAbility" + ], + "when": "inuse" + } + } + ], + "js": [ + { + "mode": { + "syntax": "ets", + "type": "pageAbility" + }, + "pages": [ + "pages/index" + ], + "name": ".MainAbility", + "window": { + "designWidth": 720, + "autoDesignWidth": false + } + }, + { + "mode": { + "syntax": "ets", + "type": "pageAbility" + }, + "pages": [ + "pages/index" + ], + "name": ".TestAbility", + "window": { + "designWidth": 720, + "autoDesignWidth": false + } + } + ] + } +} \ No newline at end of file diff --git a/theme/wallpaper_authority_ets/entry/src/main/ets/MainAbility/app.ets b/theme/wallpaper_authority_ets/entry/src/main/ets/MainAbility/app.ets new file mode 100644 index 0000000000000000000000000000000000000000..9080beefa549c73cb75d6642f751cc16d07d76f4 --- /dev/null +++ b/theme/wallpaper_authority_ets/entry/src/main/ets/MainAbility/app.ets @@ -0,0 +1,33 @@ +// @ts-nocheck +/** + * 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'; + +export default { + onCreate() { + console.info('Application onCreate'); + var abilityDelegator: any; + abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); + var abilityDelegatorArguments: any; + abilityDelegatorArguments = AbilityDelegatorRegistry.getArguments(); + console.info('start run testcase!!!'); + Hypium.hypiumTest(abilityDelegator, abilityDelegatorArguments, testsuite); + }, + onDestroy() { + console.info('Application onDestroy'); + }, +} \ No newline at end of file diff --git a/theme/wallpaper_authority_ets/entry/src/main/ets/MainAbility/pages/index.ets b/theme/wallpaper_authority_ets/entry/src/main/ets/MainAbility/pages/index.ets new file mode 100644 index 0000000000000000000000000000000000000000..f8b6a7796b643c061927c3c5421a5a4dffbc6b3f --- /dev/null +++ b/theme/wallpaper_authority_ets/entry/src/main/ets/MainAbility/pages/index.ets @@ -0,0 +1,38 @@ +// @ts-nocheck +/** + * 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. + */ + +@Entry +@Component +struct MyComponent { + aboutToAppear() { + } + + + build() { + Flex({ + direction: FlexDirection.Column, + alignItems: ItemAlign.Center, + justifyContent: FlexAlign.Center + }) { + Text('WALLPAPERNORMAL ETS TEST') + .fontSize(50) + .fontWeight(FontWeight.Bold) + } + .width('100%') + .height('100%') + } +} + diff --git a/theme/wallpaper_authority_ets/entry/src/main/ets/TestAbility/app.ets b/theme/wallpaper_authority_ets/entry/src/main/ets/TestAbility/app.ets new file mode 100644 index 0000000000000000000000000000000000000000..9080beefa549c73cb75d6642f751cc16d07d76f4 --- /dev/null +++ b/theme/wallpaper_authority_ets/entry/src/main/ets/TestAbility/app.ets @@ -0,0 +1,33 @@ +// @ts-nocheck +/** + * 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'; + +export default { + onCreate() { + console.info('Application onCreate'); + var abilityDelegator: any; + abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); + var abilityDelegatorArguments: any; + abilityDelegatorArguments = AbilityDelegatorRegistry.getArguments(); + console.info('start run testcase!!!'); + Hypium.hypiumTest(abilityDelegator, abilityDelegatorArguments, testsuite); + }, + onDestroy() { + console.info('Application onDestroy'); + }, +} \ No newline at end of file diff --git a/theme/wallpaper_authority_ets/entry/src/main/ets/TestAbility/pages/index.ets b/theme/wallpaper_authority_ets/entry/src/main/ets/TestAbility/pages/index.ets new file mode 100644 index 0000000000000000000000000000000000000000..b2497c3b2774b09a40f0db535735f3dbe5e6cb6e --- /dev/null +++ b/theme/wallpaper_authority_ets/entry/src/main/ets/TestAbility/pages/index.ets @@ -0,0 +1,50 @@ +// @ts-nocheck +/** + * 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 '@system.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 diff --git a/theme/wallpaper_authority_ets/entry/src/main/ets/TestRunner/OpenHarmonyTestRunner.ts b/theme/wallpaper_authority_ets/entry/src/main/ets/TestRunner/OpenHarmonyTestRunner.ts new file mode 100644 index 0000000000000000000000000000000000000000..4c5e400d881169620bc9412b82979dd0eb4fe937 --- /dev/null +++ b/theme/wallpaper_authority_ets/entry/src/main/ets/TestRunner/OpenHarmonyTestRunner.ts @@ -0,0 +1,78 @@ +// @ts-nocheck +/** + * 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 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 itName', + '-s level', '-s testType', '-s size', '-s timeout', + '-s package' + ]) + let targetParams = ''; + for (const key in parameters) { + if (keySet.has(key)) { + 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'); + } + + onRun() { + console.log('OpenHarmonyTestRunner onRun run'); + abilityDelegatorArguments = AbilityDelegatorRegistry.getArguments(); + abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); + + let lMonitor = { + abilityName: testAbilityName, + onAbilityCreate: onAbilityCreateCallback, + }; + var testAbilityName = abilityDelegatorArguments.parameters['-p'] + '.MainAbility'; + abilityDelegator.addAbilityMonitor(lMonitor, addAbilityMonitorCallback); + var cmd = 'aa start -d 0 -a ' + testAbilityName + ' -b ' + abilityDelegatorArguments.bundleName; + cmd += ' '+translateParamsToString(abilityDelegatorArguments.parameters); + 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 call abilityDelegator.getAppContext'); + var context = abilityDelegator.getAppContext(); + console.info('getAppContext : ' + JSON.stringify(context)); + console.info('OpenHarmonyTestRunner onRun end'); + } +}; \ No newline at end of file diff --git a/theme/wallpaper_authority_ets/entry/src/main/ets/test/List.test.ets b/theme/wallpaper_authority_ets/entry/src/main/ets/test/List.test.ets new file mode 100644 index 0000000000000000000000000000000000000000..f1269cd76c033ab710089f345ab3e5131f30b356 --- /dev/null +++ b/theme/wallpaper_authority_ets/entry/src/main/ets/test/List.test.ets @@ -0,0 +1,20 @@ +/* + * 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 wallpaperAuthorityJSUnit from './wallpaperauthorityTest'; + +export default function testsuite() { + wallpaperAuthorityJSUnit(); +} \ No newline at end of file diff --git a/theme/wallpaper_authority_ets/entry/src/main/ets/test/wallpaperauthorityTest.ets b/theme/wallpaper_authority_ets/entry/src/main/ets/test/wallpaperauthorityTest.ets new file mode 100644 index 0000000000000000000000000000000000000000..4bbc4d4d9fef230d1c13310913f6446292a58b21 --- /dev/null +++ b/theme/wallpaper_authority_ets/entry/src/main/ets/test/wallpaperauthorityTest.ets @@ -0,0 +1,445 @@ +/* + * 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 wallpaper from '@ohos.wallpaper'; +import image from '@ohos.multimedia.image'; +import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium'; + +const WALLPAPER_SYSTEM = 0; +const WALLPAPER_LOCKSCREEN = 1; +let imageSourceSystem = '/data/storage/el2/base/haps/wp.png'; +let imageSourceLockscreen = '/data/storage/el2/base/haps/wp.png'; + +export default function wallpaperAuthorityJSUnit() { + describe('wallpaperAuthorityJSUnit', function () { + + /* + * @tc.number testGetColorsCallbackSystem101 + * @tc.name Test getColors() to obtains the wallpaper colors for the wallpaper of the specified type. + * @tc.desc Function test + * @tc.level 0 + */ + it('testGetColorsCallbackSystem101', 0, async function (done) { + console.info('--------------testGetColorsCallbackSystem101 start-----------------'); + await wallpaper.setWallpaper(imageSourceLockscreen, wallpaper.WallpaperType.WALLPAPER_SYSTEM); + wallpaper.getColors(WALLPAPER_SYSTEM, (err, RgbaColors) => { + try { + if (err) { + console.info('====>testGetColorsCallbackSystem101 fail: ' + JSON.stringify(err)); + expect(null).assertFail(); + done(); + } + console.info('====>testGetColorsCallbackSystem101 succesful RgbaColors: ' + JSON.stringify(RgbaColors)); + expect(Number.isInteger(RgbaColors[0].red)).assertTrue(); + expect(Number.isInteger(RgbaColors[0].green)).assertTrue(); + expect(Number.isInteger(RgbaColors[0].blue)).assertTrue(); + expect(Number.isInteger(RgbaColors[0].alpha)).assertTrue(); + done(); + } catch (err) { + console.info('====>testGetColorsCallbackSystem101 catch err: ' + JSON.stringify(err)); + done(); + }; + }); + console.info('--------------testGetColorsCallbackSystem101 end-----------------'); + }); + + /* + * @tc.number testGetColorsPromiseSystem101 + * @tc.name Test getColors() to obtains the wallpaper colors for the wallpaper of the specified type. + * @tc.desc Function test + * @tc.level 0 + */ + it('testGetColorsPromiseSystem101', 0, async function (done) { + console.info('--------------testGetColorsPromiseSystem101 start-----------------'); + await wallpaper.setWallpaper(imageSourceLockscreen, wallpaper.WallpaperType.WALLPAPER_SYSTEM); + await wallpaper.getColors(WALLPAPER_SYSTEM).then((RgbaColors) => { + console.info('====>testGetColorsPromiseSystem101 succesful RgbaColors: ' + JSON.stringify(RgbaColors)); + expect(Number.isInteger(RgbaColors[0].red)).assertTrue(); + expect(Number.isInteger(RgbaColors[0].green)).assertTrue(); + expect(Number.isInteger(RgbaColors[0].blue)).assertTrue(); + expect(Number.isInteger(RgbaColors[0].alpha)).assertTrue(); + done(); + }).catch((err) => { + console.info('====>testGetColorsPromiseSystem101 fail: ' + JSON.stringify(err)); + expect().assertFail(); + done(); + }); + console.info('--------------testGetColorsPromiseSystem101 end-----------------'); + }); + + /* + * @tc.number testGetColorsCallbackLock102 + * @tc.name Test getColors() to obtains the wallpaper colors for the wallpaper of the specified type. + * @tc.desc Function test + * @tc.level 0 + */ + it('testGetColorsCallbackLock102', 0, async function (done) { + console.info('--------------testGetColorsCallbackLock102 start-----------------'); + await wallpaper.setWallpaper(imageSourceLockscreen, wallpaper.WallpaperType.WALLPAPER_LOCKSCREEN); + wallpaper.getColors(WALLPAPER_LOCKSCREEN, (err, RgbaColors) => { + try { + if (err) { + console.info('====>testGetColorsCallbackLock102 fail: ' + JSON.stringify(err)); + expect(null).assertFail(); + done(); + } + console.info('====>testGetColorsCallbackLock102 succesful RgbaColors: ' + JSON.stringify(RgbaColors)); + expect(Number.isInteger(RgbaColors[0].red)).assertTrue(); + expect(Number.isInteger(RgbaColors[0].green)).assertTrue(); + expect(Number.isInteger(RgbaColors[0].blue)).assertTrue(); + expect(Number.isInteger(RgbaColors[0].alpha)).assertTrue(); + done(); + } catch (err) { + console.info('====>testGetColorsCallbackLock102 catch err: ' + JSON.stringify(err)); + done(); + }; + }); + console.info('--------------testGetColorsCallbackLock102 end-----------------'); + }); + + /* + * @tc.number testGetColorsPromiseLock102 + * @tc.name Test getColors() to obtains the wallpaper colors for the wallpaper of the specified type. + * @tc.desc Function test + * @tc.level 0 + */ + it('testGetColorsPromiseLock102', 0, async function (done) { + console.info('--------------testGetColorsPromiseLock102 start-----------------'); + await wallpaper.setWallpaper(imageSourceLockscreen, wallpaper.WallpaperType.WALLPAPER_LOCKSCREEN); + await wallpaper.getColors(WALLPAPER_LOCKSCREEN).then((RgbaColors) => { + console.info('====>testGetColorsPromiseLock102 succesful RgbaColors: ' + JSON.stringify(RgbaColors)); + expect(Number.isInteger(RgbaColors[0].red)).assertTrue(); + expect(Number.isInteger(RgbaColors[0].green)).assertTrue(); + expect(Number.isInteger(RgbaColors[0].blue)).assertTrue(); + expect(Number.isInteger(RgbaColors[0].alpha)).assertTrue(); + done(); + }).catch((err) => { + console.info('====>testGetColorsPromiseLock102 fail: ' + JSON.stringify(err)); + expect().assertFail(); + done(); + }); + console.info('--------------testGetColorsPromiseLock102 end-----------------'); + }) + + /* + * @tc.number testResetCallbackSystem101 + * @tc.name Test reset() to removes a wallpaper of the specified type and reset the default one. + * @tc.desc Function test + * @tc.level 0 + */ + it('testResetCallbackSystem101', 0, async function (done) { + console.info('--------------testResetCallbackSystem101 start-----------------'); + wallpaper.reset(WALLPAPER_SYSTEM, (err, data) => { + try { + if (err) { + console.info('====>testResetCallbackSystem101 fail: ' + JSON.stringify(err)); + expect().assertFail(); + done(); + } + console.info('====>testResetCallbackSystem101 successful data: ' + JSON.stringify(data)); + expect(true).assertTrue(); + done(); + } catch (err) { + console.info('====>testResetCallbackSystem101 catch err : ' + JSON.stringify(err)); + done(); + } + }) + console.info('--------------testResetCallbackSystem101 end-----------------'); + }); + + /* + * @tc.number testResetPromiseSystem101 + * @tc.name Test reset() to removes a wallpaper of the specified type and reset the default one. + * @tc.desc Function test + * @tc.level 0 + */ + it('testResetPromiseSystem101', 0, async function (done) { + console.info('--------------testResetPromiseSystem101 start-----------------'); + await wallpaper.reset(WALLPAPER_SYSTEM).then((data) => { + console.info('====>testResetPromiseSystem101 successful data : ' + JSON.stringify(data)); + expect(true).assertTrue(); + done(); + }).catch((err) => { + console.info('====>testResetPromiseSystem101 err : ' + JSON.stringify(err)); + expect().assertFail(); + done(); + }); + console.info('--------------testResetPromiseSystem101 end-----------------'); + }); + + /* + * @tc.number testResetCallbackLock102 + * @tc.name Test reset() to removes a wallpaper of the specified type and reset the default one. + * @tc.desc Function test + * @tc.level 0 + */ + it('testResetCallbackLock102', 0, async function (done) { + console.info('--------------testResetCallbackLock102 start-----------------'); + wallpaper.reset(WALLPAPER_LOCKSCREEN, (err, data) => { + try { + if (err) { + console.info('====>testResetCallbackLock102 fail: ' + JSON.stringify(err)); + expect().assertFail(); + done(); + } + console.info('====>testResetCallbackLock102 successful data: ' + JSON.stringify(data)); + expect(true).assertTrue(); + done(); + } catch (err) { + console.info('====>testResetCallbackLock102 catch err : ' + JSON.stringify(err)); + done(); + } + }) + console.info('--------------testResetCallbackLock102 end-----------------'); + }); + + /* + * @tc.number testResetPromiseLock102 + * @tc.name Test reset() to removes a wallpaper of the specified type and reset the default one. + * @tc.desc Function test + * @tc.level 0 + */ + it('testResetPromiseLock102', 0, async function (done) { + console.info('--------------testResetPromiseLock102 start-----------------'); + await wallpaper.reset(WALLPAPER_LOCKSCREEN).then((data) => { + console.info('====>testResetPromiseLock102 successful data : ' + JSON.stringify(data)); + expect(true).assertTrue(); + done(); + }).catch((err) => { + console.info('====>testResetPromiseLock102 err : ' + JSON.stringify(err)); + expect().assertFail(); + done(); + }); + console.info('--------------testResetPromiseLock102 end-----------------'); + }); + + /* + * @tc.number testSetWallpaperURLPromiseLock104 + * @tc.name Test setPixelMap() to sets a wallpaper of the specified type based on the uri path from a + JPEG or PNG file or the pixel map of a PNG file. + * @tc.desc Function test + * @tc.level 0 + */ + it('testSetWallpaperURLPromiseLock104', 0, async function (done) { + console.info('--------------------testSetWallpaperURLPromiseLock104 start------------------' ); + await wallpaper.setWallpaper(imageSourceLockscreen, WALLPAPER_LOCKSCREEN).then((data) => { + console.info('====>testSetWallpaperURLPromiseLock104 successful data : ' + data); + expect(true).assertTrue(); + done(); + }).catch((err) => { + console.info('====>testSetWallpaperURLPromiseLock104 fail: ' + err); + expect().assertFail(); + done(); + }); + console.info('--------------------testSetWallpaperURLPromiseLock104 end------------------' ); + }); + + /* + * @tc.number testSetWallpaperURLCallbackSystem103 + * @tc.name Test setWallpaper() to sets a wallpaper of the specified type based on the uri path from a + JPEG or PNG file or the pixel map of a PNG file. + * @tc.desc Function test + * @tc.level 0 + */ + it('testSetWallpaperURLCallbackSystem103', 0, async function (done) { + console.info('--------------------testSetWallpaperURLCallbackSystem103 start------------------' ); + wallpaper.setWallpaper(imageSourceSystem, WALLPAPER_SYSTEM, (err, data) => { + try{ + if (err) { + console.info('====->testSetWallpaperURLCallbackSystem103 err : ' + err); + expect().assertFail(); + done(); + } + console.info('====>testSetWallpaperURLCallbackSystem103 successful data: ' + data); + expect(true).assertTrue(); + done(); + }catch(error){ + console.info('testSetWallpaperURLCallbackSystem103 catch error: ' + error); + done(); + } + }); + console.info('--------------------testSetWallpaperURLCallbackSystem103 end------------------' ); + }); + + /* + * @tc.number testSetWallpaperURLPromiseSystem103 + * @tc.name Test setWallpaper() to sets a wallpaper of the specified type based on the uri path from a + JPEG or PNG file or the pixel map of a PNG file. + * @tc.desc Function test + * @tc.level 0 + */ + it('testSetWallpaperURLPromiseSystem103', 0, async function (done) { + console.info('--------------------testSetWallpaperURLPromiseSystem103 start------------------' ); + await wallpaper.setWallpaper(imageSourceLockscreen, WALLPAPER_LOCKSCREEN).then((data) => { + console.info('====>testSetWallpaperURLPromiseSystem103 successful data : ' + data); + expect(true).assertTrue(); + done(); + }).catch((err) => { + console.info('====>testSetWallpaperURLPromiseSystem103 fail: ' + err); + expect().assertFail(); + done(); + }); + console.info('--------------------testSetWallpaperURLPromiseSystem103 end------------------' ); + }); + + /* + * @tc.number testSetWallpaperURLCallbackLock104 + * @tc.name Test setWallpaper() to sets a wallpaper of the specified type based on the uri path from a + JPEG or PNG file or the pixel map of a PNG file. + * @tc.desc Function test + * @tc.level 0 + */ + it('testSetWallpaperURLCallbackLock104', 0, async function (done) { + console.info('--------------------testSetWallpaperURLCallbackLock104 start------------------' ); + wallpaper.setWallpaper(imageSourceSystem, WALLPAPER_LOCKSCREEN, (err, data) => { + try{ + if (err) { + console.info('====->testSetWallpaperURLCallbackLock104 err : ' + err); + expect().assertFail(); + done(); + } + console.info('====>testSetWallpaperURLCallbackLock104 successful data: ' + data); + expect(true).assertTrue(); + done(); + }catch(error){ + console.info('testSetWallpaperURLCallbackLock104 catch error: ' + error); + done(); + } + }); + console.info('--------------------testSetWallpaperURLCallbackLock104 end------------------' ); + }); + + /* + * @tc.number testOnCallback101 + * @tc.name Test on_colorChange to registers a listener for wallpaper color changes to + receive notifications about the changes. + * @tc.desc Function test + * @tc.level 0 + */ + it('testOnCallback101', 0, async function (done) { + console.info('--------------testOnCallback101 start-----------------'); + let wallpaperPath = "/data/storage/el2/base/haps/wp.png"; + await wallpaper.reset(wallpaper.WallpaperType.WALLPAPER_LOCKSCREEN) + try { + wallpaper.on('colorChange', async (colors, wallpaperType) => { + try { + console.info('====>testOnCallback101 colors: ' + JSON.stringify(colors)); + console.info('====>testOnCallback101 wallpaperType: ' + JSON.stringify(wallpaperType)); + expect(colors != null).assertTrue(); + expect(wallpaperType != null).assertTrue(); + wallpaper.off('colorChange') + console.info('====>testOnCallback101 off'); + done(); + } catch (err) { + console.info('====>testOnCallback101 setWallpaper or other err : ' + JSON.stringify(err)); + done(); + } + }); + } catch (err) { + console.info('====>testOnCallback101 catch err : ' + JSON.stringify(err)); + done(); + } + await wallpaper.setWallpaper(wallpaperPath, wallpaper.WallpaperType.WALLPAPER_LOCKSCREEN) + console.info('====>testOnCallback10 setWallpaper successful'); + console.info('--------------testOnCallback101 end-----------------'); + }); + + /* + * @tc.number testOffCallback101 + * @tc.name Test on_colorChange to registers a listener for wallpaper color changes to + receive notifications about the changes. + * @tc.desc Function test + * @tc.level 0 + */ + it('testOffCallback101', 0, async function (done) { + console.info('--------------testOffCallback101 start-----------------'); + let wallpaperPath = "/data/storage/el2/base/haps/wp.png"; + let callbackTimes = 0; + await wallpaper.reset(wallpaper.WallpaperType.WALLPAPER_SYSTEM) + try { + wallpaper.on('colorChange', async (colors, wallpaperType) => { + try { + console.info('====>testOffCallback101 colors: ' + JSON.stringify(colors)); + console.info('====>testOffCallback101 wallpaperType: ' + JSON.stringify(wallpaperType)); + callbackTimes = callbackTimes + 1; + console.info('====>testOffCallback101 on callbackTime: ' + callbackTimes); + expect(callbackTimes == 1).assertTrue(); + wallpaper.off('colorChange'); + await wallpaper.reset(wallpaper.WallpaperType.WALLPAPER_LOCKSCREEN) + await wallpaper.setWallpaper(wallpaperPath, wallpaper.WallpaperType.WALLPAPER_LOCKSCREEN) + console.info('====>testOffCallback101 setWallpaper successful'); + console.info('--------------testOffCallback101 end-----------------'); + done(); + } catch (err) { + console.info('====>testOffCallback101 setWallpaper or other err : ' + JSON.stringify(err)); + done(); + } + }); + } catch (err) { + console.info('====>testOffCallback101 catch err : ' + JSON.stringify(err)); + done(); + } + await wallpaper.setWallpaper(wallpaperPath, wallpaper.WallpaperType.WALLPAPER_SYSTEM) + }); + + /* + * @tc.number testGetFileCallback101 + * @tc.name Obtains a file of the wallpaper of the specified type. + * @tc.desc Function test + * @tc.level 0 + */ + it('testGetFileCallback101', 0, async function (done) { + console.info('--------------testGetFileCallback101 start-----------------'); + wallpaper.getFile(WALLPAPER_SYSTEM, (err, data) => { + try { + if (err) { + console.info('====>testGetFileCallback101 fail: ' + JSON.stringify(err)); + expect().assertFail(); + done(); + } + console.info('====>testGetFileCallback101 successful data: ' + JSON.stringify(data)); + expect(Number.isInteger(data)).assertTrue(); + done(); + } catch (err) { + console.info('====>testGetFileCallback101 catch err : ' + JSON.stringify(err)); + done(); + } + }); + console.info('--------------testGetFileCallback101 end-----------------'); + }); + + /* + * @tc.number testGetFilePromise101 + * @tc.name Obtains a file of the wallpaper of the specified type. + * @tc.desc Function test + * @tc.level 0 + */ + it('testGetFilePromise101', 0, async function (done) { + console.info('--------------testGetFilePromise101 start-----------------'); + await wallpaper.setWallpaper(imageSourceLockscreen, wallpaper.WallpaperType.WALLPAPER_LOCKSCREEN); + await wallpaper.getFile(WALLPAPER_LOCKSCREEN).then((data) => { + console.info('====>testGetFilePromise101 successful data : ' + JSON.stringify(data)); + expect(Number.isInteger(data)).assertTrue(); + done(); + }).catch((err) => { + console.info('====>testGetFilePromise101 err : ' + JSON.stringify(err)); + expect().assertFail(); + done(); + }); + console.info('--------------testGetFilePromise101 end-----------------'); + }); + + + }); +}; diff --git a/theme/wallpaper_authority_ets/entry/src/main/resources/base/element/string.json b/theme/wallpaper_authority_ets/entry/src/main/resources/base/element/string.json new file mode 100644 index 0000000000000000000000000000000000000000..b4a5ae57372f1750f02909dc4de65b91cca56a78 --- /dev/null +++ b/theme/wallpaper_authority_ets/entry/src/main/resources/base/element/string.json @@ -0,0 +1,20 @@ +{ + "string": [ + { + "name": "entry_MainAbility", + "value": "ActsWallpapernAuthorityETSApiTest" + }, + { + "name": "description_mainability", + "value": "ETS_Empty Ability" + }, + { + "name": "TestAbility_desc", + "value": "description" + }, + { + "name": "TestAbility_label", + "value": "label" + } + ] +} \ No newline at end of file diff --git a/theme/wallpaper_authority_ets/entry/src/main/resources/base/media/icon.png b/theme/wallpaper_authority_ets/entry/src/main/resources/base/media/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ce307a8827bd75456441ceb57d530e4c8d45d36c Binary files /dev/null and b/theme/wallpaper_authority_ets/entry/src/main/resources/base/media/icon.png differ diff --git a/theme/wallpaper_authority_ets/signature/ActsWallpapernAuthorityETSApiTest.p7b b/theme/wallpaper_authority_ets/signature/ActsWallpapernAuthorityETSApiTest.p7b new file mode 100644 index 0000000000000000000000000000000000000000..5fccdcae52284b213e88da65250f5d971b2e8725 Binary files /dev/null and b/theme/wallpaper_authority_ets/signature/ActsWallpapernAuthorityETSApiTest.p7b differ diff --git a/theme/wallpaper_ets/entry/src/main/config.json b/theme/wallpaper_ets/entry/src/main/config.json index 632ef1bab44c72971aebf16230bda2b990b6dbb7..8ffa156261357aa3f9c4df93f33354a92b286839 100644 --- a/theme/wallpaper_ets/entry/src/main/config.json +++ b/theme/wallpaper_ets/entry/src/main/config.json @@ -20,10 +20,7 @@ "deviceType": [ "tablet", - "default", - "phone", - "tv", - "wearable" + "default" ], "distro": { "deliveryWithInstall": true, @@ -69,28 +66,6 @@ "launchType": "standard" } ], - "reqPermissions": [ - { - "name": "ohos.permission.SET_WALLPAPER", - "reason": "need use ohos.permission.SET_WALLPAPER", - "usedScene": { - "ability": [ - "com.acts.theme.wallpapertest.MainAbility" - ], - "when": "inuse" - } - }, - { - "name": "ohos.permission.GET_WALLPAPER", - "reason": "need use ohos.permission.GET_WALLPAPER", - "usedScene": { - "ability": [ - "com.acts.theme.wallpapertest.MainAbility" - ], - "when": "inuse" - } - } - ], "js": [ { "mode": { diff --git a/theme/wallpaper_ets/entry/src/main/ets/test/List.test.ets b/theme/wallpaper_ets/entry/src/main/ets/test/List.test.ets index 11551f27afcd509cd044a008546cec7ca9adf953..7b163c54b99ad5a0ee41599918a6b4f7bf39b41e 100644 --- a/theme/wallpaper_ets/entry/src/main/ets/test/List.test.ets +++ b/theme/wallpaper_ets/entry/src/main/ets/test/List.test.ets @@ -14,7 +14,9 @@ */ import wallpaperJSUnit from './wallpaperTest'; +import wallpaperNoPermissionTest from './wallpapernopermissionTest'; export default function testsuite() { wallpaperJSUnit(); + wallpaperNoPermissionTest(); } \ No newline at end of file diff --git a/theme/wallpaper_ets/entry/src/main/ets/test/wallpaperTest.ets b/theme/wallpaper_ets/entry/src/main/ets/test/wallpaperTest.ets index c291746e1aa334d4822b0c9fccec3b93733ef102..5b956380b0c6b3b48b0fbc3ff6372198f436df96 100644 --- a/theme/wallpaper_ets/entry/src/main/ets/test/wallpaperTest.ets +++ b/theme/wallpaper_ets/entry/src/main/ets/test/wallpaperTest.ets @@ -54,114 +54,6 @@ export default function wallpaperJSUnit() { console.info('--------------testWALLPAPER_LOCKSCREEN end-----------------'); }); - /* - * @tc.number testGetColorsCallbackSystem101 - * @tc.name Test getColors() to obtains the wallpaper colors for the wallpaper of the specified type. - * @tc.desc Function test - * @tc.level 0 - */ - it('testGetColorsCallbackSystem101', 0, async function (done) { - console.info('--------------testGetColorsCallbackSystem101 start-----------------'); - await wallpaper.setWallpaper(imageSourceLockscreen, wallpaper.WallpaperType.WALLPAPER_SYSTEM); - wallpaper.getColors(WALLPAPER_SYSTEM, (err, RgbaColors) => { - try { - if (err) { - console.info('====>testGetColorsCallbackSystem101 fail: ' + JSON.stringify(err)); - expect(null).assertFail(); - done(); - } - console.info('====>testGetColorsCallbackSystem101 succesful RgbaColors: ' + JSON.stringify(RgbaColors)); - expect(Number.isInteger(RgbaColors[0].red)).assertTrue(); - expect(Number.isInteger(RgbaColors[0].green)).assertTrue(); - expect(Number.isInteger(RgbaColors[0].blue)).assertTrue(); - expect(Number.isInteger(RgbaColors[0].alpha)).assertTrue(); - done(); - } catch (err) { - console.info('====>testGetColorsCallbackSystem101 catch err: ' + JSON.stringify(err)); - done(); - }; - }); - console.info('--------------testGetColorsCallbackSystem101 end-----------------'); - }); - - /* - * @tc.number testGetColorsPromiseSystem101 - * @tc.name Test getColors() to obtains the wallpaper colors for the wallpaper of the specified type. - * @tc.desc Function test - * @tc.level 0 - */ - it('testGetColorsPromiseSystem101', 0, async function (done) { - console.info('--------------testGetColorsPromiseSystem101 start-----------------'); - await wallpaper.setWallpaper(imageSourceLockscreen, wallpaper.WallpaperType.WALLPAPER_SYSTEM); - await wallpaper.getColors(WALLPAPER_SYSTEM).then((RgbaColors) => { - console.info('====>testGetColorsPromiseSystem101 succesful RgbaColors: ' + JSON.stringify(RgbaColors)); - expect(Number.isInteger(RgbaColors[0].red)).assertTrue(); - expect(Number.isInteger(RgbaColors[0].green)).assertTrue(); - expect(Number.isInteger(RgbaColors[0].blue)).assertTrue(); - expect(Number.isInteger(RgbaColors[0].alpha)).assertTrue(); - done(); - }).catch((err) => { - console.info('====>testGetColorsPromiseSystem101 fail: ' + JSON.stringify(err)); - expect().assertFail(); - done(); - }); - console.info('--------------testGetColorsPromiseSystem101 end-----------------'); - }); - - /* - * @tc.number testGetColorsCallbackLock102 - * @tc.name Test getColors() to obtains the wallpaper colors for the wallpaper of the specified type. - * @tc.desc Function test - * @tc.level 0 - */ - it('testGetColorsCallbackLock102', 0, async function (done) { - console.info('--------------testGetColorsCallbackLock102 start-----------------'); - await wallpaper.setWallpaper(imageSourceLockscreen, wallpaper.WallpaperType.WALLPAPER_LOCKSCREEN); - wallpaper.getColors(WALLPAPER_LOCKSCREEN, (err, RgbaColors) => { - try { - if (err) { - console.info('====>testGetColorsCallbackLock102 fail: ' + JSON.stringify(err)); - expect(null).assertFail(); - done(); - } - console.info('====>testGetColorsCallbackLock102 succesful RgbaColors: ' + JSON.stringify(RgbaColors)); - expect(Number.isInteger(RgbaColors[0].red)).assertTrue(); - expect(Number.isInteger(RgbaColors[0].green)).assertTrue(); - expect(Number.isInteger(RgbaColors[0].blue)).assertTrue(); - expect(Number.isInteger(RgbaColors[0].alpha)).assertTrue(); - done(); - } catch (err) { - console.info('====>testGetColorsCallbackLock102 catch err: ' + JSON.stringify(err)); - done(); - }; - }); - console.info('--------------testGetColorsCallbackLock102 end-----------------'); - }); - - /* - * @tc.number testGetColorsPromiseLock102 - * @tc.name Test getColors() to obtains the wallpaper colors for the wallpaper of the specified type. - * @tc.desc Function test - * @tc.level 0 - */ - it('testGetColorsPromiseLock102', 0, async function (done) { - console.info('--------------testGetColorsPromiseLock102 start-----------------'); - await wallpaper.setWallpaper(imageSourceLockscreen, wallpaper.WallpaperType.WALLPAPER_LOCKSCREEN); - await wallpaper.getColors(WALLPAPER_LOCKSCREEN).then((RgbaColors) => { - console.info('====>testGetColorsPromiseLock102 succesful RgbaColors: ' + JSON.stringify(RgbaColors)); - expect(Number.isInteger(RgbaColors[0].red)).assertTrue(); - expect(Number.isInteger(RgbaColors[0].green)).assertTrue(); - expect(Number.isInteger(RgbaColors[0].blue)).assertTrue(); - expect(Number.isInteger(RgbaColors[0].alpha)).assertTrue(); - done(); - }).catch((err) => { - console.info('====>testGetColorsPromiseLock102 fail: ' + JSON.stringify(err)); - expect().assertFail(); - done(); - }); - console.info('--------------testGetColorsPromiseLock102 end-----------------'); - }) - /* * @tc.number testGetIdCallbackSystem101 * @tc.name Test getId() to the ID of the wallpaper of the specified type. @@ -442,313 +334,7 @@ export default function wallpaperJSUnit() { console.info('--------------testIsOperationAllowedPromise101 end-----------------'); }); - /* - * @tc.number testResetCallbackSystem101 - * @tc.name Test reset() to removes a wallpaper of the specified type and reset the default one. - * @tc.desc Function test - * @tc.level 0 - */ - it('testResetCallbackSystem101', 0, async function (done) { - console.info('--------------testResetCallbackSystem101 start-----------------'); - wallpaper.reset(WALLPAPER_SYSTEM, (err, data) => { - try { - if (err) { - console.info('====>testResetCallbackSystem101 fail: ' + JSON.stringify(err)); - expect().assertFail(); - done(); - } - console.info('====>testResetCallbackSystem101 successful data: ' + JSON.stringify(data)); - expect(true).assertTrue(); - done(); - } catch (err) { - console.info('====>testResetCallbackSystem101 catch err : ' + JSON.stringify(err)); - done(); - } - }) - console.info('--------------testResetCallbackSystem101 end-----------------'); - }); - - /* - * @tc.number testResetPromiseSystem101 - * @tc.name Test reset() to removes a wallpaper of the specified type and reset the default one. - * @tc.desc Function test - * @tc.level 0 - */ - it('testResetPromiseSystem101', 0, async function (done) { - console.info('--------------testResetPromiseSystem101 start-----------------'); - await wallpaper.reset(WALLPAPER_SYSTEM).then((data) => { - console.info('====>testResetPromiseSystem101 successful data : ' + JSON.stringify(data)); - expect(true).assertTrue(); - done(); - }).catch((err) => { - console.info('====>testResetPromiseSystem101 err : ' + JSON.stringify(err)); - expect().assertFail(); - done(); - }); - console.info('--------------testResetPromiseSystem101 end-----------------'); - }); - /* - * @tc.number testResetCallbackLock102 - * @tc.name Test reset() to removes a wallpaper of the specified type and reset the default one. - * @tc.desc Function test - * @tc.level 0 - */ - it('testResetCallbackLock102', 0, async function (done) { - console.info('--------------testResetCallbackLock102 start-----------------'); - wallpaper.reset(WALLPAPER_LOCKSCREEN, (err, data) => { - try { - if (err) { - console.info('====>testResetCallbackLock102 fail: ' + JSON.stringify(err)); - expect().assertFail(); - done(); - } - console.info('====>testResetCallbackLock102 successful data: ' + JSON.stringify(data)); - expect(true).assertTrue(); - done(); - } catch (err) { - console.info('====>testResetCallbackLock102 catch err : ' + JSON.stringify(err)); - done(); - } - }) - console.info('--------------testResetCallbackLock102 end-----------------'); - }); - - /* - * @tc.number testResetPromiseLock102 - * @tc.name Test reset() to removes a wallpaper of the specified type and reset the default one. - * @tc.desc Function test - * @tc.level 0 - */ - it('testResetPromiseLock102', 0, async function (done) { - console.info('--------------testResetPromiseLock102 start-----------------'); - await wallpaper.reset(WALLPAPER_LOCKSCREEN).then((data) => { - console.info('====>testResetPromiseLock102 successful data : ' + JSON.stringify(data)); - expect(true).assertTrue(); - done(); - }).catch((err) => { - console.info('====>testResetPromiseLock102 err : ' + JSON.stringify(err)); - expect().assertFail(); - done(); - }); - console.info('--------------testResetPromiseLock102 end-----------------'); - }); - - /* - * @tc.number testSetWallpaperURLPromiseLock104 - * @tc.name Test setPixelMap() to sets a wallpaper of the specified type based on the uri path from a - JPEG or PNG file or the pixel map of a PNG file. - * @tc.desc Function test - * @tc.level 0 - */ - it('testSetWallpaperURLPromiseLock104', 0, async function (done) { - console.info('--------------------testSetWallpaperURLPromiseLock104 start------------------' ); - await wallpaper.setWallpaper(imageSourceLockscreen, WALLPAPER_LOCKSCREEN).then((data) => { - console.info('====>testSetWallpaperURLPromiseLock104 successful data : ' + data); - expect(true).assertTrue(); - done(); - }).catch((err) => { - console.info('====>testSetWallpaperURLPromiseLock104 fail: ' + err); - expect().assertFail(); - done(); - }); - console.info('--------------------testSetWallpaperURLPromiseLock104 end------------------' ); - }); - - /* - * @tc.number testSetWallpaperURLCallbackSystem103 - * @tc.name Test setWallpaper() to sets a wallpaper of the specified type based on the uri path from a - JPEG or PNG file or the pixel map of a PNG file. - * @tc.desc Function test - * @tc.level 0 - */ - it('testSetWallpaperURLCallbackSystem103', 0, async function (done) { - console.info('--------------------testSetWallpaperURLCallbackSystem103 start------------------' ); - wallpaper.setWallpaper(imageSourceSystem, WALLPAPER_SYSTEM, (err, data) => { - try{ - if (err) { - console.info('====->testSetWallpaperURLCallbackSystem103 err : ' + err); - expect().assertFail(); - done(); - } - console.info('====>testSetWallpaperURLCallbackSystem103 successful data: ' + data); - expect(true).assertTrue(); - done(); - }catch(error){ - console.info('testSetWallpaperURLCallbackSystem103 catch error: ' + error); - done(); - } - }); - console.info('--------------------testSetWallpaperURLCallbackSystem103 end------------------' ); - }); - - /* - * @tc.number testSetWallpaperURLPromiseSystem103 - * @tc.name Test setWallpaper() to sets a wallpaper of the specified type based on the uri path from a - JPEG or PNG file or the pixel map of a PNG file. - * @tc.desc Function test - * @tc.level 0 - */ - it('testSetWallpaperURLPromiseSystem103', 0, async function (done) { - console.info('--------------------testSetWallpaperURLPromiseSystem103 start------------------' ); - await wallpaper.setWallpaper(imageSourceLockscreen, WALLPAPER_LOCKSCREEN).then((data) => { - console.info('====>testSetWallpaperURLPromiseSystem103 successful data : ' + data); - expect(true).assertTrue(); - done(); - }).catch((err) => { - console.info('====>testSetWallpaperURLPromiseSystem103 fail: ' + err); - expect().assertFail(); - done(); - }); - console.info('--------------------testSetWallpaperURLPromiseSystem103 end------------------' ); - }); - - /* - * @tc.number testSetWallpaperURLCallbackLock104 - * @tc.name Test setWallpaper() to sets a wallpaper of the specified type based on the uri path from a - JPEG or PNG file or the pixel map of a PNG file. - * @tc.desc Function test - * @tc.level 0 - */ - it('testSetWallpaperURLCallbackLock104', 0, async function (done) { - console.info('--------------------testSetWallpaperURLCallbackLock104 start------------------' ); - wallpaper.setWallpaper(imageSourceSystem, WALLPAPER_LOCKSCREEN, (err, data) => { - try{ - if (err) { - console.info('====->testSetWallpaperURLCallbackLock104 err : ' + err); - expect().assertFail(); - done(); - } - console.info('====>testSetWallpaperURLCallbackLock104 successful data: ' + data); - expect(true).assertTrue(); - done(); - }catch(error){ - console.info('testSetWallpaperURLCallbackLock104 catch error: ' + error); - done(); - } - }); - console.info('--------------------testSetWallpaperURLCallbackLock104 end------------------' ); - }); - - /* - * @tc.number testOnCallback101 - * @tc.name Test on_colorChange to registers a listener for wallpaper color changes to - receive notifications about the changes. - * @tc.desc Function test - * @tc.level 0 - */ - it('testOnCallback101', 0, async function (done) { - console.info('--------------testOnCallback101 start-----------------'); - let wallpaperPath = "/data/storage/el2/base/haps/wp.png"; - await wallpaper.reset(wallpaper.WallpaperType.WALLPAPER_LOCKSCREEN) - try { - wallpaper.on('colorChange', async (colors, wallpaperType) => { - try { - console.info('====>testOnCallback101 colors: ' + JSON.stringify(colors)); - console.info('====>testOnCallback101 wallpaperType: ' + JSON.stringify(wallpaperType)); - expect(colors != null).assertTrue(); - expect(wallpaperType != null).assertTrue(); - wallpaper.off('colorChange') - console.info('====>testOnCallback101 off'); - done(); - } catch (err) { - console.info('====>testOnCallback101 setWallpaper or other err : ' + JSON.stringify(err)); - done(); - } - }); - } catch (err) { - console.info('====>testOnCallback101 catch err : ' + JSON.stringify(err)); - done(); - } - await wallpaper.setWallpaper(wallpaperPath, wallpaper.WallpaperType.WALLPAPER_LOCKSCREEN) - console.info('====>testOnCallback10 setWallpaper successful'); - console.info('--------------testOnCallback101 end-----------------'); - }); - - /* - * @tc.number testOffCallback101 - * @tc.name Test on_colorChange to registers a listener for wallpaper color changes to - receive notifications about the changes. - * @tc.desc Function test - * @tc.level 0 - */ - it('testOffCallback101', 0, async function (done) { - console.info('--------------testOffCallback101 start-----------------'); - let wallpaperPath = "/data/storage/el2/base/haps/wp.png"; - let callbackTimes = 0; - await wallpaper.reset(wallpaper.WallpaperType.WALLPAPER_SYSTEM) - try { - wallpaper.on('colorChange', async (colors, wallpaperType) => { - try { - console.info('====>testOffCallback101 colors: ' + JSON.stringify(colors)); - console.info('====>testOffCallback101 wallpaperType: ' + JSON.stringify(wallpaperType)); - callbackTimes = callbackTimes + 1; - console.info('====>testOffCallback101 on callbackTime: ' + callbackTimes); - expect(callbackTimes == 1).assertTrue(); - wallpaper.off('colorChange'); - await wallpaper.reset(wallpaper.WallpaperType.WALLPAPER_LOCKSCREEN) - await wallpaper.setWallpaper(wallpaperPath, wallpaper.WallpaperType.WALLPAPER_LOCKSCREEN) - console.info('====>testOffCallback101 setWallpaper successful'); - console.info('--------------testOffCallback101 end-----------------'); - done(); - } catch (err) { - console.info('====>testOffCallback101 setWallpaper or other err : ' + JSON.stringify(err)); - done(); - } - }); - } catch (err) { - console.info('====>testOffCallback101 catch err : ' + JSON.stringify(err)); - done(); - } - await wallpaper.setWallpaper(wallpaperPath, wallpaper.WallpaperType.WALLPAPER_SYSTEM) - }); - - /* - * @tc.number testGetFileCallback101 - * @tc.name Obtains a file of the wallpaper of the specified type. - * @tc.desc Function test - * @tc.level 0 - */ - it('testGetFileCallback101', 0, async function (done) { - console.info('--------------testGetFileCallback101 start-----------------'); - wallpaper.getFile(WALLPAPER_SYSTEM, (err, data) => { - try { - if (err) { - console.info('====>testGetFileCallback101 fail: ' + JSON.stringify(err)); - expect().assertFail(); - done(); - } - console.info('====>testGetFileCallback101 successful data: ' + JSON.stringify(data)); - expect(Number.isInteger(data)).assertTrue(); - done(); - } catch (err) { - console.info('====>testGetFileCallback101 catch err : ' + JSON.stringify(err)); - done(); - } - }); - console.info('--------------testGetFileCallback101 end-----------------'); - }); - - /* - * @tc.number testGetFilePromise101 - * @tc.name Obtains a file of the wallpaper of the specified type. - * @tc.desc Function test - * @tc.level 0 - */ - it('testGetFilePromise101', 0, async function (done) { - console.info('--------------testGetFilePromise101 start-----------------'); - await wallpaper.setWallpaper(imageSourceLockscreen, wallpaper.WallpaperType.WALLPAPER_LOCKSCREEN); - await wallpaper.getFile(WALLPAPER_LOCKSCREEN).then((data) => { - console.info('====>testGetFilePromise101 successful data : ' + JSON.stringify(data)); - expect(Number.isInteger(data)).assertTrue(); - done(); - }).catch((err) => { - console.info('====>testGetFilePromise101 err : ' + JSON.stringify(err)); - expect().assertFail(); - done(); - }); - console.info('--------------testGetFilePromise101 end-----------------'); - }); }); }; diff --git a/theme/wallpaper_ets/entry/src/main/ets/test/wallpapernopermissionTest.ets b/theme/wallpaper_ets/entry/src/main/ets/test/wallpapernopermissionTest.ets new file mode 100644 index 0000000000000000000000000000000000000000..b341a8bcaa6dad54aee01f0501a62ed4144c4c85 --- /dev/null +++ b/theme/wallpaper_ets/entry/src/main/ets/test/wallpapernopermissionTest.ets @@ -0,0 +1,326 @@ +/* + * 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 wallpaper from '@ohos.wallpaper'; +import image from '@ohos.multimedia.image'; +import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from 'deccjsunit/index'; + +const WALLPAPER_SYSTEM = 0; +const WALLPAPER_LOCKSCREEN = 1; +let imageSourceSystem = '/data/storage/el2/base/haps/wp.png'; +let imageSourceLockscreen = '/data/storage/el2/base/haps/wp.png'; + +export default function wallpaperNoPermissionJSUnit() { + describe('wallpaperNoPermissionTest', function () { + + /* + * @tc.number testResetCallbackSystemNoPermission101 + * @tc.name Test reset() to removes a wallpaper of the specified type and reset the default one. + * @tc.desc Function test + * @tc.level 0 + */ + it('testResetCallbackSystemNoPermission101', 0, async function (done) { + console.info('--------------testResetCallbackSystemNoPermission101 start-----------------'); + wallpaper.reset(WALLPAPER_SYSTEM, (err, data) => { + try { + if (err) { + console.info('====>testResetCallbackSystemNoPermission101 NoPermission check: ' + JSON.stringify(err)); + expect(err.code).assertEqual(undefined); + done(); + }else { + console.info('====>testResetCallbackSystemNoPermission101 error: ' + JSON.stringify(data)); + expect().assertFail(); + done(); + } + } catch (err) { + console.info('====>testResetCallbackSystemNoPermission101 catch err : ' + JSON.stringify(err)); + done(); + console.info('--------------testResetCallbackSystemNoPermission101 end-----------------'); + } + }) + }); + + /* + * @tc.number testResetPromiseSystemNoPermission101 + * @tc.name Test reset() to removes a wallpaper of the specified type and reset the default one. + * @tc.desc Function test + * @tc.level 0 + */ + it('testResetPromiseSystemNoPermission101', 0, async function (done) { + console.info('--------------testResetPromiseSystemNoPermission101 start-----------------'); + try{ + console.info('====>testResetPromiseSystemNoPermission101 NoPermission check'); + await wallpaper.reset(WALLPAPER_SYSTEM); + expect().assertFail(); + done(); + }catch(err){ + console.info('====>testResetPromiseSystemNoPermission101 err : ' + JSON.stringify(err)); + expect(err.code).assertEqual(undefined); + expect(err.message).assertContain("async call failed"); + done(); + console.info('--------------testResetPromiseSystemNoPermission101 end-----------------'); + } + }); + + /* + * @tc.number testResetCallbackLockNoPermission102 + * @tc.name Test reset() to removes a wallpaper of the specified type and reset the default one. + * @tc.desc Function test + * @tc.level 0 + */ + it('testResetCallbackLockNoPermission102', 0, async function (done) { + console.info('--------------testResetCallbackLockNoPermission102 start-----------------'); + wallpaper.reset(WALLPAPER_LOCKSCREEN, (err, data) => { + try { + if (err) { + console.info('====>testResetCallbackLockNoPermission102 NoPermission check: ' + JSON.stringify(err)); + expect(err.code).assertEqual(undefined); + done(); + }else { + console.info('====>testResetCallbackLockNoPermission102 error: ' + JSON.stringify(data)); + expect().assertFail(); + done(); + } + } catch (err) { + console.info('====>testResetCallbackLockNoPermission102 catch err : ' + JSON.stringify(err)); + done(); + console.info('--------------testResetCallbackLockNoPermission102 end-----------------'); + } + }) + }); + + /* + * @tc.number testResetPromiseLockNoPermission102 + * @tc.name Test reset() to removes a wallpaper of the specified type and reset the default one. + * @tc.desc Function test + * @tc.level 0 + */ + it('testResetPromiseLockNoPermission102', 0, async function (done) { + console.info('--------------testResetPromiseLockNoPermission102 start-----------------'); + try{ + console.info('====>testResetPromiseLockNoPermission102 NoPermission check'); + await wallpaper.reset(WALLPAPER_LOCKSCREEN); + expect().assertFail(); + done(); + }catch(err){ + console.info('====>testResetPromiseLockNoPermission102 err : ' + JSON.stringify(err)); + expect(err.code).assertEqual(undefined); + expect(err.message).assertContain("async call failed"); + done(); + console.info('--------------testResetPromiseLockNoPermission102 end-----------------'); + } + }); + + /* + * @tc.number testSetWallpaperURLPromiseLockNoPermission104 + * @tc.name Test setPixelMap() to sets a wallpaper of the specified type based on the uri path from a + JPEG or PNG file or the pixel map of a PNG file. + * @tc.desc Function test + * @tc.level 0 + */ + it('testSetWallpaperURLPromiseLockNoPermission104', 0, async function (done) { + console.info('--------------------testSetWallpaperURLPromiseLockNoPermission104 start------------------' ); + try{ + console.info('====>testSetWallpaperURLPromiseLockNoPermission104 NoPermission check'); + await wallpaper.setWallpaper(imageSourceLockscreen, WALLPAPER_LOCKSCREEN); + expect().assertFail(); + done(); + }catch(err){ + console.info('====>testSetWallpaperURLPromiseLockNoPermission104 err : ' + JSON.stringify(err)); + expect(err.code).assertEqual(undefined); + expect(err.message).assertContain("async call failed"); + done(); + console.info('--------------testSetWallpaperURLPromiseLockNoPermission104 end-----------------'); + } + }); + + /* + * @tc.number testSetWallpaperURLCallbackSystemNoPermission103 + * @tc.name Test setWallpaper() to sets a wallpaper of the specified type based on the uri path from a + JPEG or PNG file or the pixel map of a PNG file. + * @tc.desc Function test + * @tc.level 0 + */ + it('testSetWallpaperURLCallbackSystemNoPermission103', 0, async function (done) { + console.info('--------------------testSetWallpaperURLCallbackSystemNoPermission103 start------------------' ); + wallpaper.setWallpaper(imageSourceSystem, WALLPAPER_SYSTEM, (err, data) => { + try{ + if (err) { + console.info('====->testSetWallpaperURLCallbackSystemNoPermission103 NoPermission check: ' + err); + expect(err.code).assertEqual(undefined); + done(); + }else{ + console.info('====>testSetWallpaperURLCallbackSystemNoPermission103 fail: ' + JSON.stringify(err)); + expect().assertFail(); + done(); + } + }catch(error){ + console.info('testSetWallpaperURLCallbackSystemNoPermission103 catch error: ' + error); + done(); + console.info('--------------------testSetWallpaperURLCallbackSystemNoPermission103 end------------------' ); + } + }); + }); + + /* + * @tc.number testSetWallpaperURLPromiseSystemNoPermission103 + * @tc.name Test setWallpaper() to sets a wallpaper of the specified type based on the uri path from a + JPEG or PNG file or the pixel map of a PNG file. + * @tc.desc Function test + * @tc.level 0 + */ + it('testSetWallpaperURLPromiseSystemNoPermission103', 0, async function (done) { + console.info('--------------------testSetWallpaperURLPromiseSystemNoPermission103 start------------------' ); + try{ + console.info('====>testSetWallpaperURLPromiseSystemNoPermission103 NoPermission check'); + await wallpaper.setWallpaper(imageSourceLockscreen, WALLPAPER_SYSTEM); + expect().assertFail(); + done(); + }catch(err){ + console.info('====>testSetWallpaperURLPromiseSystemNoPermission103 err : ' + JSON.stringify(err)); + expect(err.code).assertEqual(undefined); + expect(err.message).assertContain("async call failed"); + done(); + console.info('--------------testSetWallpaperURLPromiseSystemNoPermission103 end-----------------'); + } + }); + + /* + * @tc.number testSetWallpaperURLCallbackLockNoPermission104 + * @tc.name Test setWallpaper() to sets a wallpaper of the specified type based on the uri path from a + JPEG or PNG file or the pixel map of a PNG file. + * @tc.desc Function test + * @tc.level 0 + */ + it('testSetWallpaperURLCallbackLockNoPermission104', 0, async function (done) { + console.info('--------------------testSetWallpaperURLCallbackLockNoPermission104 start------------------' ); + wallpaper.setWallpaper(imageSourceSystem, WALLPAPER_LOCKSCREEN, (err, data) => { + try{ + if (err) { + console.info('====->testSetWallpaperURLCallbackLockNoPermission104 NoPermission check: ' + err); + expect(err.code).assertEqual(undefined); + done(); + }else{ + console.info('====>testSetWallpaperURLCallbackLockNoPermission104 fail: ' + JSON.stringify(err)); + expect().assertFail(); + done(); + } + }catch(error){ + console.info('testSetWallpaperURLCallbackLockNoPermission104 catch error: ' + error); + done(); + console.info('--------------------testSetWallpaperURLCallbackLockNoPermission104 end------------------' ); + } + }); + }); + + /* + * @tc.number testGetFileCallbackNoPermission101 + * @tc.name Obtains a file of the wallpaper of the specified type. + * @tc.desc Function test + * @tc.level 0 + */ + it('testGetFileCallbackNoPermission101', 0, async function (done) { + console.info('--------------testGetFileCallbackNoPermission101 start-----------------'); + wallpaper.getFile(WALLPAPER_SYSTEM, (err, data) => { + try { + if (err) { + console.info('====>testGetFileCallbackNoPermission101 NoPermission check: ' + JSON.stringify(err)); + expect(err.code).assertEqual(undefined); + done(); + }else{ + console.info('====>testGetFileCallbackNoPermission101 fail: ' + JSON.stringify(data)); + expect().assertFail(); + done(); + } + } catch (err) { + console.info('====>testGetFileCallbackNoPermission101 catch err : ' + JSON.stringify(err)); + done(); + } + }); + console.info('--------------testGetFileCallbackNoPermission101 end-----------------'); + }); + + /* + * @tc.number testGetFilePromiseNoPermission101 + * @tc.name Obtains a file of the wallpaper of the specified type. + * @tc.desc Function test + * @tc.level 0 + */ + it('testGetFilePromiseNoPermission101', 0, async function (done) { + console.info('--------------testGetFilePromiseNoPermission101 start-----------------'); + try{ + console.info('====>testGetFilePromiseNoPermission101 NoPermission check'); + await wallpaper.getFile(WALLPAPER_LOCKSCREEN); + expect().assertFail(); + done(); + }catch(err){ + console.info('====>testGetFilePromiseNoPermission101 err : ' + JSON.stringify(err)); + expect(err.code).assertEqual(undefined); + expect(err.message).assertContain("async call failed"); + done(); + console.info('--------------testGetFilePromiseNoPermission101 end-----------------'); + } + }); + + /* + * @tc.number testGetFileCallbackNoPermission102 + * @tc.name Obtains a file of the wallpaper of the specified type. + * @tc.desc Function test + * @tc.level 0 + */ + it('testGetFileCallbackNoPermission102', 0, async function (done) { + console.info('--------------testGetFileCallbackNoPermission102 start-----------------'); + wallpaper.getFile(WALLPAPER_LOCKSCREEN, (err, data) => { + try { + if (err) { + console.info('====>testGetFileCallbackNoPermission102 NoPermission check: ' + JSON.stringify(err)); + expect(err.code).assertEqual(undefined); + done(); + }else{ + console.info('====>testGetFileCallbackNoPermission102 fail: ' + JSON.stringify(data)); + expect().assertFail(); + done(); + } + } catch (err) { + console.info('====>testGetFileCallbackNoPermission102 catch err : ' + JSON.stringify(err)); + done(); + } + }); + console.info('--------------testGetFileCallbackNoPermission102 end-----------------'); + }); + + /* + * @tc.number testGetFilePromiseNoPermission102 + * @tc.name Obtains a file of the wallpaper of the specified type. + * @tc.desc Function test + * @tc.level 0 + */ + it('testGetFilePromiseNoPermission102', 0, async function (done) { + console.info('--------------testGetFilePromiseNoPermission102 start-----------------'); + try{ + console.info('====>testGetFilePromiseNoPermission102 NoPermission check'); + await wallpaper.getFile(WALLPAPER_SYSTEM); + expect().assertFail(); + done(); + }catch(err){ + console.info('====>testGetFilePromiseNoPermission102 err : ' + JSON.stringify(err)); + expect(err.code).assertEqual(undefined); + expect(err.message).assertContain("async call failed"); + done(); + console.info('--------------testGetFilePromiseNoPermission102 end-----------------'); + } + }); + + }); +}; diff --git a/theme/wallpaper_ets/signature/ActsWallpaperEtsAPITest.p7b b/theme/wallpaper_ets/signature/ActsWallpaperEtsAPITest.p7b index dfff8c6c090c3d1245936bef7e701ec778875aa8..a7851594be08a039de94c5a8ddbefe213940d2c9 100644 Binary files a/theme/wallpaper_ets/signature/ActsWallpaperEtsAPITest.p7b and b/theme/wallpaper_ets/signature/ActsWallpaperEtsAPITest.p7b differ