diff --git a/arkui/ace_ets_component_completion/ace_ets_component_wholeCompletion/src/main/ets/TestAbility/pages/navigationType.ets b/arkui/ace_ets_component_completion/ace_ets_component_wholeCompletion/src/main/ets/TestAbility/pages/navigationType.ets new file mode 100644 index 0000000000000000000000000000000000000000..93ce8a0ab93079fe77fba24be53a5447f1c437b1 --- /dev/null +++ b/arkui/ace_ets_component_completion/ace_ets_component_wholeCompletion/src/main/ets/TestAbility/pages/navigationType.ets @@ -0,0 +1,334 @@ +/* + * 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 navigationType { + @State strokeWidthStr: string = '10px' + @State dividerColorStr: string = '#000000' + @State startMarginStr: string = '5px' + @State endMarginStr: string = '5px' + + @State nullFlag: boolean = false + + @State dividerColor: Color = Color.Red + + + private arr: number[] = [1, 2, 3]; + normalIcon : Resource = $r("app.media.icon") + selectedIcon: Resource = $r("app.media.icon") + + build() { + Column() { + Navigation() { + TextInput({ placeholder: 'search...' }) + .width("90%") + .height(40) + .backgroundColor('#FFFFFF') + + List({ space: 12 }) { + ForEach(this.arr, (item) => { + ListItem() { + NavRouter() { + Text("NavRouter" + item) + .width("100%") + .height(72) + .backgroundColor('#FFFFFF') + .borderRadius(24) + .fontSize(16) + .fontWeight(500) + .textAlign(TextAlign.Center) + NavDestination() { + Text("NavDestinationContent" + item) + } + .title("NavDestinationTitle" + item) + } + + } + }, item => item) + } + .width("90%") + .margin({ top: 12 }) + }.key("ArkUX_Navigation_1600") + .title("������������") + .titleMode(NavigationTitleMode.Mini) + .mode(NavigationMode.Auto) + .minContentWidth(50) + .navBarWidth(100) + .navBarWidthRange([50, 300]) + .menus([ + {value: "", icon: "./image/ic_public_search.svg", action: ()=> {}}, + {value: "", icon: "./image/ic_public_add.svg", action: ()=> {}}, + {value: "", icon: "./image/ic_public_add.svg", action: ()=> {}}, + {value: "", icon: "./image/ic_public_add.svg", action: ()=> {}}, + {value: "", icon: "./image/ic_public_add.svg", action: ()=> {}} + ]) + .toolBar({items: [ + {value: "aas", icon: "./image/ic_public_highlights.svg", action: ()=> {}}, + {value: "bbbsdsdsdsdbb", icon: "./image/ic_public_highlights.svg", action: ()=> {}}, + {value: "ccccassdsddcccc", icon: "./image/ic_public_highlights.svg", action: ()=> {}} + ]}) + + Navigation() { + TextInput({ placeholder: 'search...' }) + .width("90%") + .height(40) + .backgroundColor('#FFFFFF') + + List({ space: 12 }) { + ForEach(this.arr, (item) => { + ListItem() { + NavRouter() { + Text("NavRouter" + item) + .width("100%") + .height(72) + .backgroundColor('#FFFFFF') + .borderRadius(24) + .fontSize(16) + .fontWeight(500) + .textAlign(TextAlign.Center) + NavDestination() { + Text("NavDestinationContent" + item) + } + .title("NavDestinationTitle" + item) + } + + } + }, item => item) + } + .width("90%") + .margin({ top: 12 }) + }.key("ArkUX_Navigation_1700") + .title("������������") + .titleMode(NavigationTitleMode.Mini) + .mode(NavigationMode.Stack) + .minContentWidth(20000) + .navBarWidth(15000) + .navBarWidthRange([10000, 30000]) + .menus([ + {value: "", icon: "./image/ic_public_search.svg", action: ()=> {}}, + {value: "", icon: "./image/ic_public_add.svg", action: ()=> {}}, + {value: "", icon: "./image/ic_public_add.svg", action: ()=> {}}, + {value: "", icon: "./image/ic_public_add.svg", action: ()=> {}}, + {value: "", icon: "./image/ic_public_add.svg", action: ()=> {}} + ]) + .toolBar({items: [ + {value: "aas", icon: "./image/ic_public_highlights.svg", action: ()=> {}}, + {value: "bbbsdsdsdsdbb", icon: "./image/ic_public_highlights.svg", action: ()=> {}}, + {value: "ccccassdsddcccc", icon: "./image/ic_public_highlights.svg", action: ()=> {}} + ]}) + + + Navigation() { + TextInput({ placeholder: 'search...' }) + .width("90%") + .height(40) + .backgroundColor('#FFFFFF') + + List({ space: 12 }) { + ForEach(this.arr, (item) => { + ListItem() { + NavRouter() { + Text("NavRouter" + item) + .width("100%") + .height(72) + .backgroundColor('#FFFFFF') + .borderRadius(24) + .fontSize(16) + .fontWeight(500) + .textAlign(TextAlign.Center) + NavDestination() { + Text("NavDestinationContent" + item) + } + .title("NavDestinationTitle" + item) + } + + } + }, item => item) + } + .width("90%") + .margin({ top: 12 }) + }.key("ArkUX_Navigation_1800") + .title("������������") + .titleMode(NavigationTitleMode.Mini) + .mode(NavigationMode.Split) + .minContentWidth(30) + .navBarWidth(100) + .navBarWidthRange([10, 20]) + .menus([ + {value: "", icon: "./image/ic_public_search.svg", action: ()=> {}}, + {value: "", icon: "./image/ic_public_add.svg", action: ()=> {}}, + {value: "", icon: "./image/ic_public_add.svg", action: ()=> {}}, + {value: "", icon: "./image/ic_public_add.svg", action: ()=> {}}, + {value: "", icon: "./image/ic_public_add.svg", action: ()=> {}} + ]) + .toolBar({items: [ + {value: "aas", icon: "./image/ic_public_highlights.svg", action: ()=> {}}, + {value: "bbbsdsdsdsdbb", icon: "./image/ic_public_highlights.svg", action: ()=> {}}, + {value: "ccccassdsddcccc", icon: "./image/ic_public_highlights.svg", action: ()=> {}} + ]}) + + + Navigation() { + TextInput({ placeholder: 'search...' }) + .width("90%") + .height(40) + .backgroundColor('#FFFFFF') + + List({ space: 12 }) { + ForEach(this.arr, (item) => { + ListItem() { + NavRouter() { + Text("NavRouter" + item) + .width("100%") + .height(72) + .backgroundColor('#FFFFFF') + .borderRadius(24) + .fontSize(16) + .fontWeight(500) + .textAlign(TextAlign.Center) + NavDestination() { + Text("NavDestinationContent" + item) + } + .title("NavDestinationTitle" + item) + } + + } + }, item => item) + } + .width("90%") + .margin({ top: 12 }) + }.key("ArkUX_Navigation_1900") + .title("������������") + .titleMode(NavigationTitleMode.Mini) + .navBarWidth(100) + .menus([ + {value: "", icon: "./image/ic_public_search.svg", action: ()=> {}}, + {value: "", icon: "./image/ic_public_add.svg", action: ()=> {}}, + {value: "", icon: "./image/ic_public_add.svg", action: ()=> {}}, + {value: "", icon: "./image/ic_public_add.svg", action: ()=> {}}, + {value: "", icon: "./image/ic_public_add.svg", action: ()=> {}} + ]) + .toolBar({items: [ + {value: "aas", icon: "./image/ic_public_highlights.svg", action: ()=> {}}, + {value: "bbbsdsdsdsdbb", icon: "./image/ic_public_highlights.svg", action: ()=> {}}, + {value: "ccccassdsddcccc", icon: "./image/ic_public_highlights.svg", action: ()=> {}} + ]}) + + + Navigation() { + TextInput({ placeholder: 'search...' }) + .width("90%") + .height(40) + .backgroundColor('#FFFFFF') + + List({ space: 12 }) { + ForEach(this.arr, (item) => { + ListItem() { + NavRouter() { + Text("NavRouter" + item) + .width("100%") + .height(72) + .backgroundColor('#FFFFFF') + .borderRadius(24) + .fontSize(16) + .fontWeight(500) + .textAlign(TextAlign.Center) + NavDestination() { + Text("NavDestinationContent" + item) + } + .title("NavDestinationTitle" + item) + } + + } + }, item => item) + } + .width("90%") + .margin({ top: 12 }) + }.key("ArkUX_Navigation_2000") + .title("������������") + .titleMode(NavigationTitleMode.Mini) + .mode(NavigationMode.Split) + .minContentWidth(100) + .navBarWidth(100) + .navBarWidthRange([100, 100]) + .menus([ + {value: "", icon: "./image/ic_public_search.svg", action: ()=> {}}, + {value: "", icon: "./image/ic_public_add.svg", action: ()=> {}}, + {value: "", icon: "./image/ic_public_add.svg", action: ()=> {}}, + {value: "", icon: "./image/ic_public_add.svg", action: ()=> {}}, + {value: "", icon: "./image/ic_public_add.svg", action: ()=> {}} + ]) + .toolBar({items: [ + {value: "aas", icon: "./image/ic_public_highlights.svg", action: ()=> {}}, + {value: "bbbsdsdsdsdbb", icon: "./image/ic_public_highlights.svg", action: ()=> {}}, + {value: "ccccassdsddcccc", icon: "./image/ic_public_highlights.svg", action: ()=> {}} + ]}) + + Navigation() { + TextInput({ placeholder: 'search...' }) + .width("90%") + .height(40) + .backgroundColor('#FFFFFF') + + List({ space: 12 }) { + ForEach(this.arr, (item) => { + ListItem() { + NavRouter() { + Text("NavRouter" + item) + .width("100%") + .height(72) + .backgroundColor('#FFFFFF') + .borderRadius(24) + .fontSize(16) + .fontWeight(500) + .textAlign(TextAlign.Center) + NavDestination() { + Text("NavDestinationContent" + item) + } + .title("NavDestinationTitle" + item) + } + + } + }, item => item) + } + .width("90%") + .margin({ top: 12 }) + }.key("ArkUX_Navigation_2100") + .title("������������") + .titleMode(NavigationTitleMode.Mini) + .mode(NavigationMode.Split) + .minContentWidth("40%") + .navBarWidth("30%") + .navBarWidthRange(["20%", "50%"]) + .menus([ + {value: "", icon: "./image/ic_public_search.svg", action: ()=> {}}, + {value: "", icon: "./image/ic_public_add.svg", action: ()=> {}}, + {value: "", icon: "./image/ic_public_add.svg", action: ()=> {}}, + {value: "", icon: "./image/ic_public_add.svg", action: ()=> {}}, + {value: "", icon: "./image/ic_public_add.svg", action: ()=> {}} + ]) + .toolBar({items: [ + {value: "aas", icon: "./image/ic_public_highlights.svg", action: ()=> {}}, + {value: "bbbsdsdsdsdbb", icon: "./image/ic_public_highlights.svg", action: ()=> {}}, + {value: "ccccassdsddcccc", icon: "./image/ic_public_highlights.svg", action: ()=> {}} + ]}) + } + .height('100%') + .width('100%') + .backgroundColor('#F1F3F5') + } +} \ No newline at end of file diff --git a/arkui/ace_ets_component_completion/ace_ets_component_wholeCompletion/src/main/ets/TestAbility/pages/stageAnimator.ets b/arkui/ace_ets_component_completion/ace_ets_component_wholeCompletion/src/main/ets/TestAbility/pages/stageAnimator.ets new file mode 100644 index 0000000000000000000000000000000000000000..6ff2363d9befa80c1be9187acc44579e20642701 --- /dev/null +++ b/arkui/ace_ets_component_completion/ace_ets_component_wholeCompletion/src/main/ets/TestAbility/pages/stageAnimator.ets @@ -0,0 +1,69 @@ +/* + * 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 stageAnimator { + private TAG: string = '[AnimatorTest]' + private backAnimator: any = undefined + private flag: boolean = false + @State wid: number = 100 + @State hei: number = 100 + + + create() { + let _this = this + this.backAnimator = globalThis.uiContent.createAnimator({ + duration: 1500, + easing: "friction", + delay: 0, + fill: "forwards", + direction: "normal", + iterations: 3, + begin: 200, + end: 400 + }) + + this.backAnimator.onfinish = function () { + _this.flag = true + console.info(_this.TAG, 'backAnimator onfinish') + } + this.backAnimator.onrepeat = function () { + console.info(_this.TAG, 'backAnimator repeat') + } + this.backAnimator.oncancel = function () { + console.info(_this.TAG, 'backAnimator cancel') + } + this.backAnimator.onframe = function (value) { + _this.wid = value + _this.hei = value + } + } + + build(){ + Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center,justifyContent:FlexAlign.Center }){ + Button('animator-play') + .width(100) + .height(70) + .fontSize(30) + .fontColor(Color.Black) + .onClick(() => { + this.flag = false + this.backAnimator.play() + }) + .key("animator") + }.width("100%").height("100%") + } + } diff --git a/arkui/ace_ets_component_completion/ace_ets_component_wholeCompletion/src/main/ets/test/List.test.ets b/arkui/ace_ets_component_completion/ace_ets_component_wholeCompletion/src/main/ets/test/List.test.ets index 58e684d0a057dd1932c03f98a20343bc1056f3ab..e9200343ebb09a6ab1992124b1aafd0917be29e2 100644 --- a/arkui/ace_ets_component_completion/ace_ets_component_wholeCompletion/src/main/ets/test/List.test.ets +++ b/arkui/ace_ets_component_completion/ace_ets_component_wholeCompletion/src/main/ets/test/List.test.ets @@ -27,7 +27,9 @@ import bindPopupOffsetTest from './bindPopupOffset.test'; import animationCurveTest from './animationCurve.test'; import hoverTest from './hover.test'; import textObscuredTest from './textObscuredTest.test'; -import imageObscuredTest from './imageObscuredTest.test' +import imageObscuredTest from './imageObscuredTest.test'; +import stageAnimatorTest from './stageAnimator.test'; +import navigationTypeTest from './navigationType.test' export default function testsuite() { stageFontTest() @@ -45,4 +47,6 @@ export default function testsuite() { hoverTest() textObscuredTest() imageObscuredTest() + stageAnimatorTest() + navigationTypeTest() } \ No newline at end of file diff --git a/arkui/ace_ets_component_completion/ace_ets_component_wholeCompletion/src/main/ets/test/navigationType.test.ets b/arkui/ace_ets_component_completion/ace_ets_component_wholeCompletion/src/main/ets/test/navigationType.test.ets new file mode 100644 index 0000000000000000000000000000000000000000..d1b79d08a0ad7d709a563ae50471f7d4ed069787 --- /dev/null +++ b/arkui/ace_ets_component_completion/ace_ets_component_wholeCompletion/src/main/ets/test/navigationType.test.ets @@ -0,0 +1,196 @@ +/* + * 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 router from '@system.router'; +import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from "@ohos/hypium" + +export default function navigationTypeTest() { + describe('navigationTypeTest', function () { + beforeEach(async function (done) { + console.info("flex beforeEach start"); + let options = { + uri: 'TestAbility/pages/navigationType', + } + try { + router.clear(); + let pages = router.getState(); + console.info("get navigationType state success " + JSON.stringify(pages)); + if (!("navigationType" == pages.name)) { + console.info("get navigationType state success " + JSON.stringify(pages.name)); + let result = await router.push(options); + console.info("push navigationType page success " + JSON.stringify(result)); + } + } catch (err) { + console.error("push navigationType page error: " + err); + } + done() + }); + + it('ArkUX_Navigation_1600', 0, async function (done) { + console.info('ArkUX_Navigation_1600 START'); + setTimeout(()=>{ + try{ + let strJson = getInspectorByKey('ArkUX_Navigation_1600'); + console.info('ArkUX_Navigation_1600 START :'+ JSON.stringify(strJson)); + let obj = JSON.parse(strJson); + console.info("ArkUX_Navigation_1600 obj is: " + JSON.stringify(obj)); + let mode = obj.$attrs.mode + let minContentWidth = obj.$attrs.minContentWidth + let navBarWidth = obj.$attrs.navBarWidth + let navBarWidthRange = obj.$attrs.navBarWidthRange + expect(mode).assertEqual("NavigationMode.SPLIT"); + expect(minContentWidth).assertEqual("50.00vp"); + expect(navBarWidth).assertEqual("100.00vp"); + expect(navBarWidthRange).assertEqual("50.00vp, 300.00vp"); + console.info('ArkUX_Navigation_1600 END '); + + } catch(err) { + expect().assertFail() + console.info('ArkUX_Navigation_1600 ERR '+ JSON.stringify(err)); + } + done(); + },500) + }) + + it('ArkUX_Navigation_1700', 0, async function (done) { + console.info('ArkUX_Navigation_1700 START'); + setTimeout(()=>{ + try{ + let strJson = getInspectorByKey('ArkUX_Navigation_1700'); + console.info('ArkUX_Navigation_1700 START :'+ JSON.stringify(strJson)); + let obj = JSON.parse(strJson); + console.info("ArkUX_Navigation_1700 obj is: " + JSON.stringify(obj)); + let mode = obj.$attrs.mode + let minContentWidth = obj.$attrs.minContentWidth + let navBarWidth = obj.$attrs.navBarWidth + let navBarWidthRange = obj.$attrs.navBarWidthRange + expect(mode).assertEqual("NavigationMode.STACK"); + expect(minContentWidth).assertEqual("20000.00vp"); + expect(navBarWidth).assertEqual("15000.00vp"); + expect(navBarWidthRange).assertEqual("10000.00vp, 30000.00vp"); + console.info('ArkUX_Navigation_1700 END '); + + } catch(err) { + expect().assertFail() + console.info('ArkUX_Navigation_1700 ERR '+ JSON.stringify(err)); + } + done(); + },500) + }) + + it('ArkUX_Navigation_1800', 0, async function (done) { + console.info('ArkUX_Navigation_1800 START'); + setTimeout(()=>{ + try{ + let strJson = getInspectorByKey('ArkUX_Navigation_1800'); + console.info('ArkUX_Navigation_1800 START :'+ JSON.stringify(strJson)); + let obj = JSON.parse(strJson); + console.info("ArkUX_Navigation_1800 obj is: " + JSON.stringify(obj)); + let mode = obj.$attrs.mode + let minContentWidth = obj.$attrs.minContentWidth + let navBarWidth = obj.$attrs.navBarWidth + let navBarWidthRange = obj.$attrs.navBarWidthRange + expect(mode).assertEqual("NavigationMode.SPLIT"); + expect(minContentWidth).assertEqual("30.00vp"); + expect(navBarWidth).assertEqual("100.00vp"); + expect(navBarWidthRange).assertEqual("10.00vp, 20.00vp"); + console.info('ArkUX_Navigation_1800 END '); + + } catch(err) { + expect().assertFail() + console.info('ArkUX_Navigation_1800 ERR '+ JSON.stringify(err)); + } + done(); + },500) + }); + + it('ArkUX_Navigation_1900', 0, async function (done) { + console.info('ArkUX_Navigation_1900 START'); + setTimeout(()=>{ + try{ + let strJson = getInspectorByKey('ArkUX_Navigation_1900'); + console.info('ArkUX_Navigation_1900 START :'+ JSON.stringify(strJson)); + let obj = JSON.parse(strJson); + console.info("ArkUX_Navigation_1900 obj is: " + JSON.stringify(obj)); + let mode = obj.$attrs.mode + let minContentWidth = obj.$attrs.minContentWidth + let navBarWidth = obj.$attrs.navBarWidth + let navBarWidthRange = obj.$attrs.navBarWidthRange + expect(mode).assertEqual("NavigationMode.STACK"); + expect(minContentWidth).assertEqual("360.00vp"); + expect(navBarWidth).assertEqual("100.00vp"); + expect(navBarWidthRange).assertEqual("240.00vp, 280.00vp"); + console.info('ArkUX_Navigation_1900 END '); + } catch(err) { + expect().assertFail() + console.info('ArkUX_Navigation_1900 ERR '+ JSON.stringify(err)); + } + done(); + },500) + }); + + it('ArkUX_Navigation_2000', 0, async function (done) { + console.info('ArkUX_Navigation_2000 START'); + setTimeout(()=>{ + try{ + let strJson = getInspectorByKey('ArkUX_Navigation_2000'); + console.info('ArkUX_Navigation_2000 START :'+ JSON.stringify(strJson)); + let obj = JSON.parse(strJson); + console.info("ArkUX_Navigation_2000 obj is: " + JSON.stringify(obj)); + let mode = obj.$attrs.mode + let minContentWidth = obj.$attrs.minContentWidth + let navBarWidth = obj.$attrs.navBarWidth + let navBarWidthRange = obj.$attrs.navBarWidthRange + expect(mode).assertEqual("NavigationMode.SPLIT"); + expect(minContentWidth).assertEqual("100.00vp"); + expect(navBarWidth).assertEqual("100.00vp"); + expect(navBarWidthRange).assertEqual("100.00vp, 100.00vp"); + console.info('ArkUX_Navigation_2000 END '); + + } catch(err) { + expect().assertFail() + console.info('ArkUX_Navigation_2000 ERR '+ JSON.stringify(err)); + } + done(); + },500) + }); + + it('ArkUX_Navigation_2100', 0, async function (done) { + console.info('ArkUX_Navigation_2100 START'); + setTimeout(()=>{ + try{ + let strJson = getInspectorByKey('ArkUX_Navigation_2100'); + console.info('ArkUX_Navigation_2100 START :'+ JSON.stringify(strJson)); + let obj = JSON.parse(strJson); + console.info("ArkUX_Navigation_2100 obj is: " + JSON.stringify(obj)); + let mode = obj.$attrs.mode + let minContentWidth = obj.$attrs.minContentWidth + let navBarWidth = obj.$attrs.navBarWidth + let navBarWidthRange = obj.$attrs.navBarWidthRange + expect(mode).assertEqual("NavigationMode.SPLIT"); + expect(minContentWidth).assertEqual("40.00%"); + expect(navBarWidth).assertEqual("30.00%"); + expect(navBarWidthRange).assertEqual("20.00%, 50.00%"); + console.info('ArkUX_Navigation_2100 END '); + + } catch(err) { + expect().assertFail() + console.info('ArkUX_Navigation_2100 ERR '+ JSON.stringify(err)); + } + done(); + },500) + }); + }); +}; \ No newline at end of file diff --git a/arkui/ace_ets_component_completion/ace_ets_component_wholeCompletion/src/main/ets/test/stageAnimator.test.ets b/arkui/ace_ets_component_completion/ace_ets_component_wholeCompletion/src/main/ets/test/stageAnimator.test.ets new file mode 100644 index 0000000000000000000000000000000000000000..e9c31368a570def08fbb72c714265ee7deabee96 --- /dev/null +++ b/arkui/ace_ets_component_completion/ace_ets_component_wholeCompletion/src/main/ets/test/stageAnimator.test.ets @@ -0,0 +1,158 @@ +/* + * 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 { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium' +import router from '@system.router'; + +export default function stageAnimatorTest() { + describe('stageAnimatorTest', function () { + // Defines a test suite. Two parameters are supported: test suite name and test suite function. + beforeAll(function () { + // Presets an action, which is performed only once before all test cases of the test suite start. + // This API supports only one parameter: preset action function. + }) + beforeEach(async function (done) { + console.info("flex beforeEach start"); + let options = { + uri: 'TestAbility/pages/stageAnimator', + } + try { + router.clear(); + let pages = router.getState(); + console.info("get stageAnimator state success " + JSON.stringify(pages)); + if (!("stageAnimator" == pages.name)) { + console.info("get stageAnimator state success " + JSON.stringify(pages.name)); + let result = await router.push(options); + console.info("push stageAnimator page success " + JSON.stringify(result)); + } + } catch (err) { + console.error("push stageAnimator page error: " + err); + } + done() + }); + afterEach(function () { + // Presets a clear action, which is performed after each unit test case ends. + // The number of execution times is the same as the number of test cases defined by **it**. + // This API supports only one parameter: clear action function. + }) + afterAll(function () { + // Presets a clear action, which is performed after all test cases of the test suite end. + // This API supports only one parameter: clear action function. + }) + + it('testanimatorstage0001', 0, async function (done) { + console.info('testanimatorstage0001 START'); + setTimeout(()=>{ + try{ + let strJson = getInspectorByKey('animator'); + sendEventByKey("animator", 10, "") + console.info("[testanimatorstage0001] component width strJson:" + strJson); + let obj = JSON.parse(strJson); + expect(obj.$type).assertEqual('Button'); + expect(obj.$attrs.width).assertEqual("100.00vp"); + console.info("[testanimatorstage0001] width value :" + obj.$attrs.width); + console.info('testanimatorstage0001 END '); + } catch(err) { + expect().assertFail() + console.info('testanimatorstage0001 ERR '+ JSON.stringify(err)); + } + done(); + },500) + }); + + it('testanimatorstage0002', 0, async function (done) { + let animator = globalThis.uiContent; + console.info('testanimatorstage0002 START'); + try { + let options = animator.createAnimator({ + duration: 1500, + easing: "friction", + delay: 0, + fill: "forwards", + direction: "normal", + iterations: 3, + begin: 200, + end: 400 + }) + expect(typeof(options)).assertEqual('object'); + } catch (err) { + console.error("push button page error " + JSON.stringify(err)); + } + console.info('testanimatorstage0002 END'); + done(); + }); + + it('testanimatorstage0003', 0, async function (done) { + let animator = globalThis.uiContent; + console.info('testanimatorstage0003 START'); + try { + let options = animator.createAnimator() + expect(typeof(options)).assertEqual('object'); + } catch (err) { + console.error("push button page error " + JSON.stringify(err)); + } + console.info('testanimatorstage0002 END'); + done(); + }); + + it('testanimatorstage0004', 0, async function (done) { + let animator = globalThis.uiContent; + console.info('testanimatorstage0004 START'); + try { + let options = animator.createAnimator(null) + expect(typeof(options)).assertEqual('object'); + } catch (err) { + console.error("push button page error " + JSON.stringify(err)); + } + console.info('testanimatorstage0004 END'); + done(); + }); + + it('testanimatorstage0005', 0, async function (done) { + let animator = globalThis.uiContent; + console.info('testanimatorstage0005 START'); + try { + let options = animator.createAnimator({ + duration: 1500, + easing: "friction", + delay: 0 + }) + expect(typeof(options)).assertEqual('object'); + } catch (err) { + console.error("push button page error " + JSON.stringify(err)); + } + console.info('testanimatorstage0005 END'); + done(); + }); + + it('testanimatorstage0006', 0, async function (done) { + let animator = globalThis.uiContent; + console.info('testanimatorstage0006 START'); + try { + let options = animator.createAnimator({ + duration: 1500 + }) + expect(typeof(options)).assertEqual('object'); + } catch (err) { + console.error("push button page error " + JSON.stringify(err)); + } + console.info('testanimatorstage0006 END'); + done(); + }); + + + }) +} \ No newline at end of file diff --git a/arkui/ace_ets_component_completion/ace_ets_component_wholeCompletion/src/main/resources/base/profile/test_pages.json b/arkui/ace_ets_component_completion/ace_ets_component_wholeCompletion/src/main/resources/base/profile/test_pages.json index e829937eea0197f98fcc969c1bb7ff0216acb2d4..ff9adea4cd00e70793fbfc60242a09ed89897260 100644 --- a/arkui/ace_ets_component_completion/ace_ets_component_wholeCompletion/src/main/resources/base/profile/test_pages.json +++ b/arkui/ace_ets_component_completion/ace_ets_component_wholeCompletion/src/main/resources/base/profile/test_pages.json @@ -16,6 +16,8 @@ "TestAbility/pages/animationCurve", "TestAbility/pages/hover", "TestAbility/pages/textObscured", - "TestAbility/pages/imageObscuredTest" + "TestAbility/pages/imageObscuredTest", + "TestAbility/pages/stageAnimator", + "TestAbility/pages/navigationType" ] } \ No newline at end of file