From 2bb6ffc55afa4fc6b2eab8b69497b72108917c1d Mon Sep 17 00:00:00 2001 From: limeng Date: Wed, 28 Jun 2023 16:17:06 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=84=E4=BB=B6=E6=8E=A5=E5=8F=A3xts?= =?UTF-8?q?=E7=94=A8=E4=BE=8B=EF=BC=8C=E5=8C=85=E5=90=ABCounter=E7=BB=84?= =?UTF-8?q?=E4=BB=B6=E6=94=AF=E6=8C=81=E8=AE=BE=E7=BD=AE=E6=9C=80=E5=A4=A7?= =?UTF-8?q?=E5=80=BC=E6=9C=80=E5=B0=8F=E5=80=BC=E4=BB=A5=E5=8F=8A=E5=8A=A0?= =?UTF-8?q?=E5=87=8F=E6=8C=89=E9=92=AE=E7=A6=81=E7=94=A8=E6=97=B6=E7=9A=84?= =?UTF-8?q?=E6=A0=B7=E5=BC=8F=EF=BC=8Ctextarea=E6=96=87=E5=AD=97=E5=AE=9E?= =?UTF-8?q?=E7=8E=B0=E9=80=89=E4=B8=AD=E6=8C=87=E5=AE=9A=E5=85=89=E6=A0=87?= =?UTF-8?q?=E8=B5=B7=E5=A7=8B=E4=BD=8D=E7=BD=AE=E6=96=87=E5=AD=97=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: limeng --- arkui/BUILD.gn | 3 +- .../AppScope/app.json | 19 + .../resources/base/element/string.json | 8 + .../resources/base/media/app_icon.png | Bin 0 -> 6790 bytes .../AppScope/resources/base/media/img1.jpeg | Bin 0 -> 6726 bytes .../AppScope/resources/base/media/img2.jpeg | Bin 0 -> 12015 bytes .../AppScope/resources/base/media/img3.jpeg | Bin 0 -> 8903 bytes arkui/ace_ets_component_api_three/BUILD.gn | 43 +++ arkui/ace_ets_component_api_three/Test.json | 26 ++ .../signature/openharmony_sx.p7b | Bin 0 -> 3445 bytes .../src/main/ets/TestAbility/TestAbility.ets | 63 ++++ .../main/ets/TestAbility/common/MyUtils.ets | 31 ++ .../src/main/ets/TestAbility/pages/Index.ets | 58 +++ .../main/ets/TestAbility/pages/SR000HTP1U.ets | 49 +++ .../main/ets/TestAbility/pages/SR000HTP21.ets | 149 ++++++++ .../ets/TestAbility/pages/images/img1.png | Bin 0 -> 7722 bytes .../ets/TestAbility/pages/images/test1.jpg | Bin 0 -> 6271 bytes .../ets/TestRunner/OpenHarmonyTestRunner.ts | 84 +++++ .../src/main/ets/test/List.test.ets | 21 ++ .../src/main/ets/test/SR000HTP1U.test.ets | 91 +++++ .../src/main/ets/test/SR000HTP21.test.ets | 356 ++++++++++++++++++ .../src/main/module.json | 41 ++ .../main/resources/base/element/color.json | 20 + .../main/resources/base/element/string.json | 40 ++ .../src/main/resources/base/media/icon.png | Bin 0 -> 6790 bytes .../src/main/resources/base/media/img1.jpeg | Bin 0 -> 6726 bytes .../src/main/resources/base/media/img2.jpeg | Bin 0 -> 12015 bytes .../src/main/resources/base/media/img3.jpeg | Bin 0 -> 8903 bytes .../resources/base/profile/test_pages.json | 7 + 29 files changed, 1108 insertions(+), 1 deletion(-) create mode 100644 arkui/ace_ets_component_api_three/AppScope/app.json create mode 100644 arkui/ace_ets_component_api_three/AppScope/resources/base/element/string.json create mode 100644 arkui/ace_ets_component_api_three/AppScope/resources/base/media/app_icon.png create mode 100644 arkui/ace_ets_component_api_three/AppScope/resources/base/media/img1.jpeg create mode 100644 arkui/ace_ets_component_api_three/AppScope/resources/base/media/img2.jpeg create mode 100644 arkui/ace_ets_component_api_three/AppScope/resources/base/media/img3.jpeg create mode 100644 arkui/ace_ets_component_api_three/BUILD.gn create mode 100644 arkui/ace_ets_component_api_three/Test.json create mode 100644 arkui/ace_ets_component_api_three/signature/openharmony_sx.p7b create mode 100644 arkui/ace_ets_component_api_three/src/main/ets/TestAbility/TestAbility.ets create mode 100644 arkui/ace_ets_component_api_three/src/main/ets/TestAbility/common/MyUtils.ets create mode 100644 arkui/ace_ets_component_api_three/src/main/ets/TestAbility/pages/Index.ets create mode 100644 arkui/ace_ets_component_api_three/src/main/ets/TestAbility/pages/SR000HTP1U.ets create mode 100644 arkui/ace_ets_component_api_three/src/main/ets/TestAbility/pages/SR000HTP21.ets create mode 100644 arkui/ace_ets_component_api_three/src/main/ets/TestAbility/pages/images/img1.png create mode 100644 arkui/ace_ets_component_api_three/src/main/ets/TestAbility/pages/images/test1.jpg create mode 100644 arkui/ace_ets_component_api_three/src/main/ets/TestRunner/OpenHarmonyTestRunner.ts create mode 100644 arkui/ace_ets_component_api_three/src/main/ets/test/List.test.ets create mode 100644 arkui/ace_ets_component_api_three/src/main/ets/test/SR000HTP1U.test.ets create mode 100644 arkui/ace_ets_component_api_three/src/main/ets/test/SR000HTP21.test.ets create mode 100644 arkui/ace_ets_component_api_three/src/main/module.json create mode 100644 arkui/ace_ets_component_api_three/src/main/resources/base/element/color.json create mode 100644 arkui/ace_ets_component_api_three/src/main/resources/base/element/string.json create mode 100644 arkui/ace_ets_component_api_three/src/main/resources/base/media/icon.png create mode 100644 arkui/ace_ets_component_api_three/src/main/resources/base/media/img1.jpeg create mode 100644 arkui/ace_ets_component_api_three/src/main/resources/base/media/img2.jpeg create mode 100644 arkui/ace_ets_component_api_three/src/main/resources/base/media/img3.jpeg create mode 100644 arkui/ace_ets_component_api_three/src/main/resources/base/profile/test_pages.json diff --git a/arkui/BUILD.gn b/arkui/BUILD.gn index 081aca320..aed64e187 100644 --- a/arkui/BUILD.gn +++ b/arkui/BUILD.gn @@ -1,4 +1,4 @@ -# Copyright (C) 2021 Huawei Device Co., Ltd. +# Copyright (C) 2023 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 @@ -16,6 +16,7 @@ group("arkui") { deps = [ "ace_ets_component:ActsAceEtsComponentTest", "ace_ets_component_api:ActsAceComponentApi03Test", + "ace_ets_component_api_three:ActsAceComponentApi04Test", "ace_ets_component_apilack:ActsAceEtsApiLackTest", "ace_ets_component_attrlack:ActsAceEtsAttrLackTest", "ace_ets_component_common_attrs:ActsAceEtsComponentCommonAttrsTest", diff --git a/arkui/ace_ets_component_api_three/AppScope/app.json b/arkui/ace_ets_component_api_three/AppScope/app.json new file mode 100644 index 000000000..1eac7d951 --- /dev/null +++ b/arkui/ace_ets_component_api_three/AppScope/app.json @@ -0,0 +1,19 @@ +{ + "app": { + "bundleName": "com.open.harmony.componentapi04", + "vendor": "example", + "versionCode": 1000000, + "versionName": "1.0.0", + "icon": "$media:app_icon", + "label": "$string:app_name", + "distributedNotificationEnabled": true, + "keepAlive": true, + "singleUser": true, + "minAPIVersion": 10, + "targetAPIVersion": 10, + "car": { + "apiCompatibleVersion": 10, + "singleUser": false + } + } +} \ No newline at end of file diff --git a/arkui/ace_ets_component_api_three/AppScope/resources/base/element/string.json b/arkui/ace_ets_component_api_three/AppScope/resources/base/element/string.json new file mode 100644 index 000000000..30af7cfee --- /dev/null +++ b/arkui/ace_ets_component_api_three/AppScope/resources/base/element/string.json @@ -0,0 +1,8 @@ +{ + "string":[ + { + "name":"app_name", + "value":"MyApplication" + } + ] +} \ No newline at end of file diff --git a/arkui/ace_ets_component_api_three/AppScope/resources/base/media/app_icon.png b/arkui/ace_ets_component_api_three/AppScope/resources/base/media/app_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ce307a8827bd75456441ceb57d530e4c8d45d36c GIT binary patch literal 6790 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 X$mmj8^LS(fsSSu%2cJ;b_3ZxwE2FPf literal 0 HcmV?d00001 diff --git a/arkui/ace_ets_component_api_three/AppScope/resources/base/media/img3.jpeg b/arkui/ace_ets_component_api_three/AppScope/resources/base/media/img3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..8ab0cb27dfa7bf3d2fb7c8bff5a108ae11a7473a GIT binary patch literal 8903 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 { + if (err.code) { + hilog.isLoggable(0x0000, 'testTag', hilog.LogLevel.ERROR); + hilog.error(0x0000, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err) ?? ''); + return; + } + hilog.isLoggable(0x0000, 'testTag', hilog.LogLevel.INFO); + hilog.info(0x0000, 'testTag', 'Succeeded in loading the content. Data: %{public}s', + JSON.stringify(data) ?? ''); + }); + } + + onWindowStageDestroy() { + hilog.isLoggable(0x0000, 'testTag', hilog.LogLevel.INFO); + hilog.info(0x0000, 'testTag', '%{public}s', 'TestAbility onWindowStageDestroy'); + } + + onForeground() { + hilog.isLoggable(0x0000, 'testTag', hilog.LogLevel.INFO); + hilog.info(0x0000, 'testTag', '%{public}s', 'TestAbility onForeground'); + } + + onBackground() { + hilog.isLoggable(0x0000, 'testTag', hilog.LogLevel.INFO); + hilog.info(0x0000, 'testTag', '%{public}s', 'TestAbility onBackground'); + } +} diff --git a/arkui/ace_ets_component_api_three/src/main/ets/TestAbility/common/MyUtils.ets b/arkui/ace_ets_component_api_three/src/main/ets/TestAbility/common/MyUtils.ets new file mode 100644 index 000000000..e7ff6f18d --- /dev/null +++ b/arkui/ace_ets_component_api_three/src/main/ets/TestAbility/common/MyUtils.ets @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2023 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 events_emitter from '@ohos.events.emitter'; +export default class Utils { + static sendEvent(message, eventId) { + var eventData = { + data: { + "msg": message + } + } + let event = { + eventId: eventId, + priority: events_emitter.EventPriority.LOW + } + events_emitter.emit(event, eventData) + } + +} \ No newline at end of file diff --git a/arkui/ace_ets_component_api_three/src/main/ets/TestAbility/pages/Index.ets b/arkui/ace_ets_component_api_three/src/main/ets/TestAbility/pages/Index.ets new file mode 100644 index 000000000..fa2844b59 --- /dev/null +++ b/arkui/ace_ets_component_api_three/src/main/ets/TestAbility/pages/Index.ets @@ -0,0 +1,58 @@ +/* + * Copyright (c) 2023 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. + */ + //@ts-nocheck +import hilog from '@ohos.hilog'; +import AbilityDelegatorRegistry from '@ohos.app.ability.abilityDelegatorRegistry'; +import { Hypium } from '@ohos/hypium'; +import testsuite from '../../test/List.test'; + +@Entry +@Component +struct Index { + aboutToAppear() { + hilog.info(0x0000, 'testTag', '%{public}s', 'TestAbility index aboutToAppear'); + var abilityDelegator: any + abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator() + var abilityDelegatorArguments: any + abilityDelegatorArguments = AbilityDelegatorRegistry.getArguments() + hilog.info(0x0000, 'testTag', '%{public}s', 'start run testcase!!!'); + Hypium.hypiumTest(abilityDelegator, abilityDelegatorArguments, testsuite) + } + @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/arkui/ace_ets_component_api_three/src/main/ets/TestAbility/pages/SR000HTP1U.ets b/arkui/ace_ets_component_api_three/src/main/ets/TestAbility/pages/SR000HTP1U.ets new file mode 100644 index 000000000..91b9fed38 --- /dev/null +++ b/arkui/ace_ets_component_api_three/src/main/ets/TestAbility/pages/SR000HTP1U.ets @@ -0,0 +1,49 @@ +/* + * Copyright (c) 2023 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 SR000HTP1U { + @State value: number = 0 + @State enable_inc: boolean = false + @State enable_dec: boolean = false + + build() { + Column() { + Counter() { + Text(this.value.toString()) + } + .margin(100) + .onInc(() => { + this.value++ + }) + .onDec(() => { + this.value-- + }) + .enableInc(this.enable_inc) + .enableDec(this.enable_dec) + .key('SR000HTP1U_Counter_1') + Button("enable_inc_true") + .onClick(() => { + this.enable_inc = true; + }).height(45) + .key('SR000HTP1U_Button_1') + Button("enable_dec_true") + .onClick(() => { + this.enable_dec = true; + }).height(45) + .key('SR000HTP1U_Button_2') + }.width("100%") + } +} \ No newline at end of file diff --git a/arkui/ace_ets_component_api_three/src/main/ets/TestAbility/pages/SR000HTP21.ets b/arkui/ace_ets_component_api_three/src/main/ets/TestAbility/pages/SR000HTP21.ets new file mode 100644 index 000000000..e90df261a --- /dev/null +++ b/arkui/ace_ets_component_api_three/src/main/ets/TestAbility/pages/SR000HTP21.ets @@ -0,0 +1,149 @@ +/* + * Copyright (c) 2023 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 SR000HTP21 { + controller: TextAreaController = new TextAreaController() + controller2: TextAreaController = new TextAreaController() + controller3: TextAreaController = new TextAreaController() + @State text: string = '123456' + + build() { + Column() { + TextArea({ text: this.text, placeholder: 'input your word', controller: this.controller }) + .placeholderColor("rgb(0,0,225)") + .placeholderFont({ size: 20, weight: 100, family: 'cursive', style: FontStyle.Italic }) + .textAlign(TextAlign.Center) + .caretColor(Color.Blue) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontFamily("sans-serif") + .fontStyle(FontStyle.Normal) + .fontColor(Color.Red) + .tabIndex(1) + .key('SR000HTP21_TextArea_1') + Button("Show selected (-2,-1)") + .margin(30) + .onClick(() => { + this.controller.setTextSelection(-2,-1) + }) + .key('SR000HTP21_Button_1') + Button("Show selected (-1,0)") + .margin(30) + .onClick(() => { + this.controller.setTextSelection(-1,0) + }) + .key('SR000HTP21_Button_2') + Button("Show selected (0,3)") + .margin(30) + .onClick(() => { + this.controller.setTextSelection(0,3) + }) + .key('SR000HTP21_Button_3') + Button("Show selected (1,3)") + .margin(30) + .onClick(() => { + this.controller.setTextSelection(1,3) + }) + .key('SR000HTP21_Button_4') + Button("Show selected (-1,6)") + .margin(30) + .onClick(() => { + this.controller.setTextSelection(-1,6) + }) + .key('SR000HTP21_Button_5') + Button("Show selected (0,6)") + .margin(30) + .onClick(() => { + this.controller.setTextSelection(0,6) + }) + .key('SR000HTP21_Button_6') + Button("Show selected (-1,8)") + .margin(30) + .onClick(() => { + this.controller.setTextSelection(-1,8) + }) + .key('SR000HTP21_Button_7') + Button("Show selected (0,8)") + .margin(30) + .onClick(() => { + this.controller.setTextSelection(0,8) + }) + .key('SR000HTP21_Button_8') + Button("Show selected (null,null)") + .margin(30) + .onClick(() => { + this.controller.setTextSelection(null,null) + }) + .key('SR000HTP21_Button_9') + Button("Show selected (null,undefined)") + .margin(30) + .onClick(() => { + this.controller.setTextSelection(null,undefined) + }) + .key('SR000HTP21_Button_10') + Button("Show selected (undefined,null)") + .margin(30) + .onClick(() => { + this.controller.setTextSelection(undefined,null) + }) + .key('SR000HTP21_Button_11') + Button("Show selected (undefined,undefined)") + .margin(30) + .onClick(() => { + this.controller.setTextSelection(undefined,undefined) + }) + .key('SR000HTP21_Button_12') + TextArea({ text: '', placeholder: 'input your word', controller: this.controller2 }) + .placeholderColor("rgb(0,0,225)") + .placeholderFont({ size: 20, weight: 100, family: 'cursive', style: FontStyle.Italic }) + .textAlign(TextAlign.Center) + .caretColor(Color.Blue) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontFamily("sans-serif") + .fontStyle(FontStyle.Normal) + .fontColor(Color.Red) + .tabIndex(2) + .key('SR000HTP21_TextArea_2') + Button("Show selected (1,3)") + .margin(30) + .onClick(() => { + this.controller2.setTextSelection(1,3) + }) + .key('SR000HTP21_Button_13') + TextArea({ text: '北京aaaaa上海tianjin深圳', placeholder: 'input your word', controller: this.controller3 }) + .width(200) + .height(50) + .placeholderColor("rgb(0,0,225)") + .placeholderFont({ size: 20, weight: 100, family: 'cursive', style: FontStyle.Italic }) + .textAlign(TextAlign.Center) + .caretColor(Color.Blue) + .fontSize(30) + .fontWeight(FontWeight.Bold) + .fontFamily("sans-serif") + .fontStyle(FontStyle.Normal) + .fontColor(Color.Red) + .tabIndex(3) + .key('SR000HTP21_TextArea_3') + Button("Show selected (6,10)") + .margin(30) + .onClick(() => { + this.controller3.setTextSelection(6,10) + }) + .key('SR000HTP21_Button_14') + } + } +} \ No newline at end of file diff --git a/arkui/ace_ets_component_api_three/src/main/ets/TestAbility/pages/images/img1.png b/arkui/ace_ets_component_api_three/src/main/ets/TestAbility/pages/images/img1.png new file mode 100644 index 0000000000000000000000000000000000000000..092a9d61af694f9e0a7f2c7ce14a40c657a278c9 GIT binary patch literal 7722 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 urKf^Jp%iPModCSPsd0@ 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 BT+9Ff literal 0 HcmV?d00001 diff --git a/arkui/ace_ets_component_api_three/src/main/ets/TestRunner/OpenHarmonyTestRunner.ts b/arkui/ace_ets_component_api_three/src/main/ets/TestRunner/OpenHarmonyTestRunner.ts new file mode 100644 index 000000000..9e1abddd7 --- /dev/null +++ b/arkui/ace_ets_component_api_three/src/main/ets/TestRunner/OpenHarmonyTestRunner.ts @@ -0,0 +1,84 @@ +/* + * Copyright (c) 2023 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 hilog from '@ohos.hilog'; +import TestRunner from '@ohos.application.testRunner' +import AbilityDelegatorRegistry from '@ohos.application.abilityDelegatorRegistry' + +var abilityDelegator = undefined +var abilityDelegatorArguments = undefined + +function translateParamsToString(parameters) { + const keySet = new Set([ + '-s class', '-s notClass', '-s suite', '-s it', + '-s level', '-s testType', '-s size', '-s timeout', + '-s dryRun' + ]); + let targetParams = ''; + for (const key in parameters) { + if (keySet.has(key)) { + targetParams = `${targetParams} ${key} ${parameters[key]}`; + } + } + return targetParams.trim(); +} + +async function onAbilityCreateCallback() { + hilog.isLoggable(0x0000, 'testTag', hilog.LogLevel.INFO); + hilog.info(0x0000, 'testTag', '%{public}s', 'onAbilityCreateCallback'); +} + +async function addAbilityMonitorCallback(err): Promise { + hilog.isLoggable(0x0000, 'testTag', hilog.LogLevel.INFO); + hilog.info(0x0000, 'testTag', 'addAbilityMonitorCallback : %{public}s', JSON.stringify(err) ?? ''); +} + +export default class OpenHarmonyTestRunner implements TestRunner { + constructor() { + } + + onPrepare() { + hilog.isLoggable(0x0000, 'testTag', hilog.LogLevel.INFO); + hilog.info(0x0000, 'testTag', '%{public}s', 'OpenHarmonyTestRunner OnPrepare '); + } + + async onRun() { + hilog.isLoggable(0x0000, 'testTag', hilog.LogLevel.INFO); + hilog.info(0x0000, 'testTag', '%{public}s', 'OpenHarmonyTestRunner onRun run'); + abilityDelegatorArguments = AbilityDelegatorRegistry.getArguments(); + abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); + let testAbilityName = abilityDelegatorArguments.bundleName + '.TestAbility'; + let lMonitor = { + abilityName: testAbilityName, + onAbilityCreate: onAbilityCreateCallback, + }; + abilityDelegator.addAbilityMonitor(lMonitor, addAbilityMonitorCallback); + let cmd = 'aa start -d 0 -a TestAbility' + ' -b ' + abilityDelegatorArguments.bundleName; + cmd += ' ' + translateParamsToString(abilityDelegatorArguments.parameters); + let debug = abilityDelegatorArguments.parameters['-D']; + if (debug == 'true') { + cmd += ' -D'; + } + hilog.isLoggable(0x0000, 'testTag', hilog.LogLevel.INFO); + hilog.info(0x0000, 'testTag', 'cmd : %{public}s', cmd); + abilityDelegator.executeShellCommand(cmd, + (err, d) => { + hilog.isLoggable(0x0000, 'testTag', hilog.LogLevel.INFO); + hilog.info(0x0000, 'testTag', 'executeShellCommand : err : %{public}s', JSON.stringify(err) ?? ''); + hilog.info(0x0000, 'testTag', 'executeShellCommand : data : %{public}s', d.stdResult ?? ''); + hilog.info(0x0000, 'testTag', 'executeShellCommand : data : %{public}s', d.exitCode ?? ''); + }); + hilog.info(0x0000, 'testTag', '%{public}s', 'OpenHarmonyTestRunner onRun end'); + } +} diff --git a/arkui/ace_ets_component_api_three/src/main/ets/test/List.test.ets b/arkui/ace_ets_component_api_three/src/main/ets/test/List.test.ets new file mode 100644 index 000000000..57aa544bb --- /dev/null +++ b/arkui/ace_ets_component_api_three/src/main/ets/test/List.test.ets @@ -0,0 +1,21 @@ +/* + * Copyright (c) 2023 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 SR000HTP1UTest from './SR000HTP1U.test' +import SR000HTP21Test from './SR000HTP21.test' + +export default function testsuite() { + SR000HTP1UTest() + SR000HTP21Test() +} \ No newline at end of file diff --git a/arkui/ace_ets_component_api_three/src/main/ets/test/SR000HTP1U.test.ets b/arkui/ace_ets_component_api_three/src/main/ets/test/SR000HTP1U.test.ets new file mode 100644 index 000000000..3f115517f --- /dev/null +++ b/arkui/ace_ets_component_api_three/src/main/ets/test/SR000HTP1U.test.ets @@ -0,0 +1,91 @@ +/* + * Copyright (c) 2023 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { describe, beforeEach, afterEach, it, expect } from '@ohos/hypium' +import router from '@ohos.router' +import {UiDriver, UiComponent, BY, Driver, Component, ON} from '@ohos.UiTest' +import events_emitter from '@ohos.events.emitter'; +export default function SR000HTP1UTest() { + + const SUITE = 'SR000HTP1U' + const waitUiReadyMs = 500; + function sleep(time) { + let date = new Date() + let start = date.getSeconds() + let end = start + while ( (end - start) < time ) { + let endDate = new Date() + end = endDate.getSeconds() + } + } + + describe('SR000HTP1UTest', function () { + + beforeEach(async function (done) { + let options = { + url: "TestAbility/pages/SR000HTP1U", + } + try { + router.clear(); + let pages = router.getState(); + if (pages == null || !("SR000HTP1U" == pages.name)) { + await router.pushUrl(options).then(()=>{ + console.info(`${SUITE} router.pushUrl success`); + }).catch(err => { + console.error(`${SUITE} router.pushUrl failed, code is ${err.code}, message is ${err.message}`); + }) + } + } catch (err) { + console.error(`${SUITE} beforeEach error:` + JSON.stringify(err)); + } + done() + }); + + /* + *tc.number ArkUI_Counter_0100 + *tc.name Counter support maximum and minimum + *tc.desc Counter support maximum and minimum + */ + it('ArkUI_Counter_0100', 0, async function (done) { + let CASE = 'ArkUI_Counter_0100' + console.info(`${SUITE} ${CASE} START`); + + sendEventByKey('SR000HTP1U_Button_1', 10, "") + let strJson = getInspectorByKey('SR000HTP1U_Counter_1'); + let obj = JSON.parse(strJson); + expect(obj.$type).assertEqual("Counter"); + + console.info(`${SUITE} ${CASE} END`); + done() + }); + + /* + *tc.number ArkUI_Counter_0200 + *tc.name Counter support maximum and minimum + *tc.desc Counter support maximum and minimum + */ + it('ArkUI_Counter_0200', 0, async function (done) { + let CASE = 'ArkUI_Counter_0200' + console.info(`${SUITE} ${CASE} START`); + sendEventByKey('SR000HTP1U_Button_2', 10, "") + let strJson = getInspectorByKey('SR000HTP1U_Counter_1'); + let obj = JSON.parse(strJson); + expect(obj.$type).assertEqual("Counter"); + + console.info(`${SUITE} ${CASE} END`); + done() + }); + + }) +} diff --git a/arkui/ace_ets_component_api_three/src/main/ets/test/SR000HTP21.test.ets b/arkui/ace_ets_component_api_three/src/main/ets/test/SR000HTP21.test.ets new file mode 100644 index 000000000..0d971e150 --- /dev/null +++ b/arkui/ace_ets_component_api_three/src/main/ets/test/SR000HTP21.test.ets @@ -0,0 +1,356 @@ +/* + * Copyright (c) 2023 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { describe, beforeEach, afterEach, it, expect } from '@ohos/hypium' +import router from '@ohos.router' +import {UiDriver, UiComponent, BY, Driver, Component, ON} from '@ohos.UiTest' +import events_emitter from '@ohos.events.emitter'; +export default function SR000HTP21Test() { + + const SUITE = 'SR000HTP21' + const waitUiReadyMs = 500; + + describe('SR000HTP21Test', function () { + + beforeEach(async function (done) { + let options = { + url: "TestAbility/pages/SR000HTP21", + } + try { + router.clear(); + let pages = router.getState(); + if (pages == null || !("SR000HTP21" == pages.name)) { + await router.pushUrl(options).then(()=>{ + console.info(`${SUITE} router.pushUrl success`); + }).catch(err => { + console.error(`${SUITE} router.pushUrl failed, code is ${err.code}, message is ${err.message}`); + }) + } + } catch (err) { + console.error(`${SUITE} beforeEach error:` + JSON.stringify(err)); + } + done() + }); + + /* + *tc.number ArkUI_TextArea_Select_0100 + *tc.name Textarea support selecting text by setting start and end of cursor + *tc.desc Textarea support selecting text by setting start and end of cursor + */ + it('ArkUI_TextArea_Select_0100', 0, async function (done) { + let CASE = 'ArkUI_TextArea_Select_0100' + console.info(`${SUITE} ${CASE} START`); + + let driver = Driver.create() + await driver.delayMs(waitUiReadyMs) + sendEventByKey('SR000HTP21_Button_1', 10, "") + await driver.delayMs(waitUiReadyMs) + let strJson = getInspectorByKey('SR000HTP21_TextArea_1'); + let obj = JSON.parse(strJson); + expect(obj.$attrs.caretPosition).assertEqual("0"); + + console.info(`${SUITE} ${CASE} END`); + done() + }); + + /* + *tc.number ArkUI_TextArea_Select_0200 + *tc.name Textarea support selecting text by setting start and end of cursor + *tc.desc Textarea support selecting text by setting start and end of cursor + */ + it('ArkUI_TextArea_Select_0200', 0, async function (done) { + let CASE = 'ArkUI_TextArea_Select_0200' + console.info(`${SUITE} ${CASE} START`); + + let driver = Driver.create() + await driver.delayMs(waitUiReadyMs) + sendEventByKey('SR000HTP21_Button_2', 10, "") + await driver.delayMs(waitUiReadyMs) + let strJson = getInspectorByKey('SR000HTP21_TextArea_1'); + let obj = JSON.parse(strJson); + expect(obj.$attrs.caretPosition).assertEqual("0"); + await driver.delayMs(waitUiReadyMs) + + console.info(`${SUITE} ${CASE} END`); + done() + }); + + /* + *tc.number ArkUI_TextArea_Select_0300 + *tc.name Textarea support selecting text by setting start and end of cursor + *tc.desc Textarea support selecting text by setting start and end of cursor + */ + it('ArkUI_TextArea_Select_0300', 0, async function (done) { + let CASE = 'ArkUI_TextArea_Select_0300' + console.info(`${SUITE} ${CASE} START`); + + let driver = Driver.create() + await driver.delayMs(waitUiReadyMs) + sendEventByKey('SR000HTP21_Button_3', 10, "") + await driver.delayMs(waitUiReadyMs*5) + let strJson = getInspectorByKey('SR000HTP21_TextArea_1'); + let obj = JSON.parse(strJson); + expect(obj.$attrs.caretPosition).assertEqual("3"); + await driver.delayMs(waitUiReadyMs) + + console.info(`${SUITE} ${CASE} END`); + done() + }); + + /* + *tc.number ArkUI_TextArea_Select_0400 + *tc.name Textarea support selecting text by setting start and end of cursor + *tc.desc Textarea support selecting text by setting start and end of cursor + */ + it('ArkUI_TextArea_Select_0400', 0, async function (done) { + let CASE = 'ArkUI_TextArea_Select_0400' + console.info(`${SUITE} ${CASE} START`); + + let driver = Driver.create() + await driver.delayMs(waitUiReadyMs) + sendEventByKey('SR000HTP21_Button_4', 10, "") + await driver.delayMs(waitUiReadyMs) + let strJson = getInspectorByKey('SR000HTP21_TextArea_1'); + let obj = JSON.parse(strJson); + expect(obj.$attrs.caretPosition).assertEqual("3"); + await driver.delayMs(waitUiReadyMs) + + console.info(`${SUITE} ${CASE} END`); + done() + }); + + /* + *tc.number ArkUI_TextArea_Select_0500 + *tc.name Textarea support selecting text by setting start and end of cursor + *tc.desc Textarea support selecting text by setting start and end of cursor + */ + it('ArkUI_TextArea_Select_0500', 0, async function (done) { + let CASE = 'ArkUI_TextArea_Select_0500' + console.info(`${SUITE} ${CASE} START`); + + let driver = Driver.create() + await driver.delayMs(waitUiReadyMs) + sendEventByKey('SR000HTP21_Button_5', 10, "") + await driver.delayMs(waitUiReadyMs) + let strJson = getInspectorByKey('SR000HTP21_TextArea_1'); + let obj = JSON.parse(strJson); + expect(obj.$attrs.caretPosition).assertEqual("6"); + await driver.delayMs(waitUiReadyMs) + + console.info(`${SUITE} ${CASE} END`); + done() + }); + + /* + *tc.number ArkUI_TextArea_Select_0600 + *tc.name Textarea support selecting text by setting start and end of cursor + *tc.desc Textarea support selecting text by setting start and end of cursor + */ + it('ArkUI_TextArea_Select_0600', 0, async function (done) { + let CASE = 'ArkUI_TextArea_Select_0600' + console.info(`${SUITE} ${CASE} START`); + + let driver = Driver.create() + await driver.delayMs(waitUiReadyMs) + sendEventByKey('SR000HTP21_Button_6', 10, "") + await driver.delayMs(waitUiReadyMs) + let strJson = getInspectorByKey('SR000HTP21_TextArea_1'); + let obj = JSON.parse(strJson); + expect(obj.$attrs.caretPosition).assertEqual("6"); + await driver.delayMs(waitUiReadyMs) + + console.info(`${SUITE} ${CASE} END`); + done() + }); + + /* + *tc.number ArkUI_TextArea_Select_0700 + *tc.name Textarea support selecting text by setting start and end of cursor + *tc.desc Textarea support selecting text by setting start and end of cursor + */ + it('ArkUI_TextArea_Select_0700', 0, async function (done) { + let CASE = 'ArkUI_TextArea_Select_0700' + console.info(`${SUITE} ${CASE} START`); + + let driver = Driver.create() + await driver.delayMs(waitUiReadyMs) + sendEventByKey('SR000HTP21_Button_7', 10, "") + await driver.delayMs(waitUiReadyMs) + let strJson = getInspectorByKey('SR000HTP21_TextArea_1'); + let obj = JSON.parse(strJson); + expect(obj.$attrs.caretPosition).assertEqual("6"); + await driver.delayMs(waitUiReadyMs) + + console.info(`${SUITE} ${CASE} END`); + done() + }); + + /* + *tc.number ArkUI_TextArea_Select_0800 + *tc.name Textarea support selecting text by setting start and end of cursor + *tc.desc Textarea support selecting text by setting start and end of cursor + */ + it('ArkUI_TextArea_Select_0800', 0, async function (done) { + let CASE = 'ArkUI_TextArea_Select_0800' + console.info(`${SUITE} ${CASE} START`); + + let driver = Driver.create() + await driver.delayMs(waitUiReadyMs) + sendEventByKey('SR000HTP21_Button_8', 10, "") + await driver.delayMs(waitUiReadyMs) + let strJson = getInspectorByKey('SR000HTP21_TextArea_1'); + let obj = JSON.parse(strJson); + expect(obj.$attrs.caretPosition).assertEqual("6"); + await driver.delayMs(waitUiReadyMs) + + console.info(`${SUITE} ${CASE} END`); + done() + }); + + /* + *tc.number ArkUI_TextArea_Select_0900 + *tc.name Textarea support selecting text by setting start and end of cursor + *tc.desc Textarea support selecting text by setting start and end of cursor + */ + it('ArkUI_TextArea_Select_0900', 0, async function (done) { + let CASE = 'ArkUI_TextArea_Select_0900' + console.info(`${SUITE} ${CASE} START`); + + let driver = Driver.create() + await driver.delayMs(waitUiReadyMs) + sendEventByKey('SR000HTP21_Button_9', 10, "") + await driver.delayMs(waitUiReadyMs) + let strJson = getInspectorByKey('SR000HTP21_TextArea_1'); + let obj = JSON.parse(strJson); + expect(obj.$attrs.caretPosition).assertEqual("0"); + await driver.delayMs(waitUiReadyMs) + + console.info(`${SUITE} ${CASE} END`); + done() + }); + + /* + *tc.number ArkUI_TextArea_Select_1000 + *tc.name Textarea support selecting text by setting start and end of cursor + *tc.desc Textarea support selecting text by setting start and end of cursor + */ + it('ArkUI_TextArea_Select_1000', 0, async function (done) { + let CASE = 'ArkUI_TextArea_Select_1000' + console.info(`${SUITE} ${CASE} START`); + + let driver = Driver.create() + await driver.delayMs(waitUiReadyMs) + sendEventByKey('SR000HTP21_Button_10', 10, "") + await driver.delayMs(waitUiReadyMs) + let strJson = getInspectorByKey('SR000HTP21_TextArea_1'); + let obj = JSON.parse(strJson); + expect(obj.$attrs.caretPosition).assertEqual("0"); + await driver.delayMs(waitUiReadyMs) + + console.info(`${SUITE} ${CASE} END`); + done() + }); + + /* + *tc.number ArkUI_TextArea_Select_1100 + *tc.name Textarea support selecting text by setting start and end of cursor + *tc.desc Textarea support selecting text by setting start and end of cursor + */ + it('ArkUI_TextArea_Select_1100', 0, async function (done) { + let CASE = 'ArkUI_TextArea_Select_1100' + console.info(`${SUITE} ${CASE} START`); + + let driver = Driver.create() + await driver.delayMs(waitUiReadyMs) + sendEventByKey('SR000HTP21_Button_11', 10, "") + await driver.delayMs(waitUiReadyMs) + let strJson = getInspectorByKey('SR000HTP21_TextArea_1'); + let obj = JSON.parse(strJson); + expect(obj.$attrs.caretPosition).assertEqual("0"); + await driver.delayMs(waitUiReadyMs) + + console.info(`${SUITE} ${CASE} END`); + done() + }); + + /* + *tc.number ArkUI_TextArea_Select_1200 + *tc.name Textarea support selecting text by setting start and end of cursor + *tc.desc Textarea support selecting text by setting start and end of cursor + */ + it('ArkUI_TextArea_Select_1200', 0, async function (done) { + let CASE = 'ArkUI_TextArea_Select_1200' + console.info(`${SUITE} ${CASE} START`); + + let driver = Driver.create() + await driver.delayMs(waitUiReadyMs) + sendEventByKey('SR000HTP21_Button_12', 10, "") + await driver.delayMs(waitUiReadyMs) + let strJson = getInspectorByKey('SR000HTP21_TextArea_1'); + let obj = JSON.parse(strJson); + expect(obj.$attrs.caretPosition).assertEqual("0"); + await driver.delayMs(waitUiReadyMs) + + console.info(`${SUITE} ${CASE} END`); + done() + }); + + /* + *tc.number ArkUI_TextArea_Select_1300 + *tc.name Textarea support selecting text by setting start and end of cursor + *tc.desc Textarea support selecting text by setting start and end of cursor + */ + it('ArkUI_TextArea_Select_1300', 0, async function (done) { + let CASE = 'ArkUI_TextArea_Select_1300' + console.info(`${SUITE} ${CASE} START`); + + let driver = Driver.create() + await driver.delayMs(waitUiReadyMs) + sendEventByKey('SR000HTP21_Button_13', 10, "") + await driver.delayMs(waitUiReadyMs) + let strJson = getInspectorByKey('SR000HTP21_TextArea_2'); + let obj = JSON.parse(strJson); + expect(obj.$attrs.caretPosition).assertEqual("0"); + await driver.delayMs(waitUiReadyMs) + + console.info(`${SUITE} ${CASE} END`); + done() + }); + + /* + *tc.number ArkUI_TextArea_Select_1400 + *tc.name Textarea support selecting text by setting start and end of cursor + *tc.desc Textarea support selecting text by setting start and end of cursor + */ + it('ArkUI_TextArea_Select_1400', 0, async function (done) { + let CASE = 'ArkUI_TextArea_Select_1400' + console.info(`${SUITE} ${CASE} START`); + + let driver = Driver.create() + await driver.delayMs(waitUiReadyMs) + sendEventByKey('SR000HTP21_TextArea_3', 10, "") + await driver.delayMs(waitUiReadyMs) + sendEventByKey('SR000HTP21_Button_14', 10, "") + await driver.delayMs(waitUiReadyMs) + let strJson = getInspectorByKey('SR000HTP21_TextArea_3'); + let obj = JSON.parse(strJson); + expect(obj.$attrs.caretPosition).assertEqual("10"); + await driver.delayMs(waitUiReadyMs) + + console.info(`${SUITE} ${CASE} END`); + done() + }); + + }) +} diff --git a/arkui/ace_ets_component_api_three/src/main/module.json b/arkui/ace_ets_component_api_three/src/main/module.json new file mode 100644 index 000000000..41203db25 --- /dev/null +++ b/arkui/ace_ets_component_api_three/src/main/module.json @@ -0,0 +1,41 @@ +{ + "module": { + "name": "entry_test", + "type": "feature", + "description": "$string:module_test_desc", + "mainElement": "TestAbility", + "deviceTypes": [ + "default", + "tablet" + ], + "deliveryWithInstall": true, + "installationFree": false, + "pages": "$profile:test_pages", + "metadata": [{ + "name": "ArkTSPartialUpdate", + "value": "true" + }], + "abilities": [ + { + "name": "TestAbility", + "srcEntrance": "./ets/TestAbility/TestAbility.ets", + "description": "$string:TestAbility_desc", + "icon": "$media:icon", + "label": "$string:TestAbility_label", + "visible": true, + "startWindowIcon": "$media:icon", + "startWindowBackground": "$color:start_window_background", + "skills": [ + { + "actions": [ + "action.system.home" + ], + "entities": [ + "entity.system.home" + ] + } + ] + } + ] + } +} diff --git a/arkui/ace_ets_component_api_three/src/main/resources/base/element/color.json b/arkui/ace_ets_component_api_three/src/main/resources/base/element/color.json new file mode 100644 index 000000000..17e37a02e --- /dev/null +++ b/arkui/ace_ets_component_api_three/src/main/resources/base/element/color.json @@ -0,0 +1,20 @@ +{ + "color": [ + { + "name": "start_window_background", + "value": "#FFFFFF" + }, + { + "name": "Divider_color", + "value": "#000000" + }, + { + "name": "badge_BorderColor", + "value": "#FFFD0000" + }, + { + "name": "color_red", + "value": "#ffff0000" + } + ] +} \ No newline at end of file diff --git a/arkui/ace_ets_component_api_three/src/main/resources/base/element/string.json b/arkui/ace_ets_component_api_three/src/main/resources/base/element/string.json new file mode 100644 index 000000000..278a5d8b4 --- /dev/null +++ b/arkui/ace_ets_component_api_three/src/main/resources/base/element/string.json @@ -0,0 +1,40 @@ +{ + "string": [ + { + "name": "module_test_desc", + "value": "test ability description" + }, + { + "name": "TestAbility_desc", + "value": "the test ability" + }, + { + "name": "TestAbility_label", + "value": "test label" + }, + { + "name": "Divider_width", + "value": "10px" + }, + { + "name": "Divider_startMargin", + "value": "5px" + }, + { + "name": "Divider_endMargin", + "value": "5px" + }, + { + "name": "badge_Size_test", + "value": "7vp" + }, + { + "name": "swiper_margin", + "value": "12" + }, + { + "name": "test_title", + "value": "test_resource_title" + } + ] +} \ No newline at end of file diff --git a/arkui/ace_ets_component_api_three/src/main/resources/base/media/icon.png b/arkui/ace_ets_component_api_three/src/main/resources/base/media/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ce307a8827bd75456441ceb57d530e4c8d45d36c GIT binary patch literal 6790 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 X$mmj8^LS(fsSSu%2cJ;b_3ZxwE2FPf literal 0 HcmV?d00001 diff --git a/arkui/ace_ets_component_api_three/src/main/resources/base/media/img3.jpeg b/arkui/ace_ets_component_api_three/src/main/resources/base/media/img3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..8ab0cb27dfa7bf3d2fb7c8bff5a108ae11a7473a GIT binary patch literal 8903 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