未验证 提交 e7e12954 编写于 作者: O openharmony_ci 提交者: Gitee

!7510 XTS Arkui FlexAlignItems (对齐方式stretch)代码提交

Merge pull request !7510 from 张海霖/zhl_04
/*
* Copyright (c) 2023 iSoftStone Information Technology (Group) 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 FlexAlignSelf_Stretch {
private content: string = "FlexAlignSelf_Stretch Page";
onPageShow() {
console.info('FlexAlignSelf_Stretch page show called');
}
onBuildDone() {
console.info('FlexAlignSelf_Stretch page build done called');
}
build() {
Column() {
Column() {
Text('FlexTest12').fontSize(9).fontColor(0xCCCCCC).width('90%')
Flex({
direction: FlexDirection.Row,
alignItems: ItemAlign.Stretch,
wrap: FlexWrap.NoWrap,
}) {
Text('1').width(150).height(50).backgroundColor(0xF5DEB3).alignSelf(ItemAlign.End).key('textAlignSelf01')
Text('2').width(150).height(100).backgroundColor(0xD2B48C).key('textAlignSelf02')
Text('3').width(150).height(150).backgroundColor(0xF5DEB3).key('textAlignSelf03')
}
.key('flexAlignSelf')
.height(200)
.width(500)
.backgroundColor(0xAFEEEE)
}.width('100%').alignItems(HorizontalAlign.Start)
}.width('100%')
}
}
/*
* Copyright (c) 2023 iSoftStone Information Technology (Group) 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 { MessageManager,Callback } from '../../../../common/MessageManager';
@Entry
@Component
struct FlexBase_Stretch {
@State testHeight: number = 150
@State testWidth: number = 450
messageManager:MessageManager = new MessageManager()
private content: string = "FlexBase_Stretch Page";
onPageShow() {
console.info('FlexBase_Stretch onPageShow');
globalThis.value = {
name:'messageManager',message:this.messageManager
}
let callback:Callback = (message:any) => {
console.log('message = ' + message.name + "--" + message.value);
if (message.name == 'height') {
this.testHeight = message.value;
}
if (message.name == 'width') {
this.testWidth = message.value;
}
}
this.messageManager.registerCallback(callback);
}
onBuildDone() {
console.info('FlexBase_Stretch page build done called');
}
build() {
Column() {
Column() {
Text('FlexBase_1').fontSize(9).fontColor(0xCCCCCC).width('90%')
Flex({
direction: FlexDirection.Row,
alignItems: ItemAlign.Stretch,
wrap: FlexWrap.NoWrap,
}) {
Text('1').width(150).height(50).backgroundColor(0xF5DEB3).key('textFlex01')
Text('2').width(150).height(100).backgroundColor(0xD2B48C).key('textFlex02')
Text('3').width(150).height(150).backgroundColor(0xF5DEB3).key('textFlex03')
}
.key('flex01')
.height(this.testHeight)
.width(this.testWidth)
.backgroundColor(0xAFEEEE)
}.width('100%').alignItems(HorizontalAlign.Start)
}.width('100%')
}
}
/*
* Copyright (c) 2023 iSoftStone Information Technology (Group) 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 { MessageManager,Callback } from '../../../../common/MessageManager';
@Entry
@Component
struct FlexExceed_Stretch {
@State testPadding: number = 0
@State testMargin: number = 0
messageManager:MessageManager = new MessageManager()
private content: string = "FlexExceed_Stretch Page";
onPageShow() {
console.info('FlexExceed_Stretch onPageShow');
globalThis.value = {
name:'messageManager',message:this.messageManager
}
let callback:Callback = (message:any) => {
console.log('message = ' + message.name + "--" + message.value);
if (message.name == 'padding') {
this.testPadding = message.value;
}
if (message.name == 'margin') {
this.testMargin = message.value;
}
}
this.messageManager.registerCallback(callback);
}
onBuildDone() {
console.info('FlexExceed_Stretch page build done called');
}
build() {
Column() {
Column() {
Text('FlexExceed_1').fontSize(9).fontColor(0xCCCCCC).width('90%')
Flex({
direction: FlexDirection.Row,
alignItems: ItemAlign.Stretch,
wrap: FlexWrap.NoWrap,
}) {
Text('1').width(150).height(50).backgroundColor(0xF5DEB3).key('textExceed01')
Text('2').width(150).height(100).backgroundColor(0xD2B48C).key('textExceed02')
Text('3').width(150).height(150).backgroundColor(0xF5DEB3).key('textExceed03')
}
.key('flexExceed01')
.height(200)
.width(500)
.margin(this.testMargin)
.padding(this.testPadding)
.backgroundColor(0xAFEEEE)
}.width('100%').alignItems(HorizontalAlign.Start)
}.width('100%')
}
}
/*
* Copyright (c) 2023 iSoftStone Information Technology (Group) 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 { MessageManager,Callback } from '../../../../common/MessageManager';
@Entry
@Component
struct FlexHeightModify_Stretch {
@State testHeight: number = 50
messageManager:MessageManager = new MessageManager()
private content: string = "FlexHeightModify_Stretch Page";
onPageShow() {
console.info('FlexHeightModify_Stretch onPageShow');
globalThis.value = {
name:'messageManager',message:this.messageManager
}
let callback:Callback = (message:any) => {
console.log('message = ' + message.name + "--" + message.value);
if (message.name == 'height') {
this.testHeight = message.value;
}
}
this.messageManager.registerCallback(callback);
}
onBuildDone() {
console.info('FlexHeightModify_Stretch page build done called');
}
build() {
Column() {
Column() {
Text('FlexHeightModify').fontSize(9).fontColor(0xCCCCCC).width('90%')
Flex({
direction: FlexDirection.Row,
alignItems: ItemAlign.Stretch,
wrap: FlexWrap.NoWrap,
}) {
Text('1').width(150).height(this.testHeight).backgroundColor(0xF5DEB3).key('textHeightModify01')
Text('2').width(150).height(100).backgroundColor(0xD2B48C).key('textHeightModify02')
Text('3').width(150).height(150).backgroundColor(0xF5DEB3).key('textHeightModify03')
}
.key('flexHeightModify')
.height(200)
.width(500)
.backgroundColor(0xAFEEEE)
}.width('100%').alignItems(HorizontalAlign.Start)
}.width('100%')
}
}
/*
* Copyright (c) 2023 iSoftStone Information Technology (Group) 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 FlexMargin_Stretch {
private content: string = "FlexMargin_Stretch Page";
onPageShow() {
console.info('FlexMargin_Stretch page show called');
}
onBuildDone() {
console.info('FlexMargin_Stretch page build done called');
}
build() {
Column() {
Column() {
Text('FlexTest05').fontSize(9).fontColor(0xCCCCCC).width('90%')
Flex({
direction: FlexDirection.Row,
alignItems: ItemAlign.Stretch,
wrap: FlexWrap.NoWrap,
}) {
Text('1').width(150).height(50).backgroundColor(0xF5DEB3).key('textFlexMargin01')
Text('2').width(150).height(100).backgroundColor(0xD2B48C).key('textFlexMargin02')
Text('3').width(150).height(150).backgroundColor(0xF5DEB3).key('textFlexMargin03')
}
.key('flexMargin')
.height(200)
.width(500)
.margin(10)
.backgroundColor(0xAFEEEE)
}.width('100%').alignItems(HorizontalAlign.Start)
}.width('100%')
}
}
/*
* Copyright (c) 2023 iSoftStone Information Technology (Group) 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 FlexOffset_Stretch {
private content: string = "FlexOffset_Stretch Page";
onPageShow() {
console.info('FlexOffset_Stretch page show called');
}
onBuildDone() {
console.info('FlexOffset_Stretch page build done called');
}
build() {
Column() {
Column() {
Text('FlexTest09').fontSize(9).fontColor(0xCCCCCC).width('90%')
Flex({
direction: FlexDirection.Row,
alignItems: ItemAlign.Stretch,
wrap: FlexWrap.NoWrap,
}) {
Text('1').width(150).height(50).backgroundColor(0xF5DEB3).offset({ x: 15, y: 30 }).key('textOffset01')
Text('2').width(150).height(100).backgroundColor(0xD2B48C).key('textOffset02')
Text('3').width(150).height(150).backgroundColor(0xF5DEB3).key('textOffset03')
}
.key('flexOffset')
.height(200)
.width(500)
.backgroundColor(0xAFEEEE)
}.width('100%').alignItems(HorizontalAlign.Start)
}.width('100%')
}
}
/*
* Copyright (c) 2023 iSoftStone Information Technology (Group) 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 { MessageManager,Callback } from '../../../../common/MessageManager';
@Entry
@Component
struct FlexPadding_Stretch {
@State testPadding: number = 0
messageManager:MessageManager = new MessageManager()
private content: string = "FlexPadding_Stretch Page";
onPageShow() {
console.info('FlexPadding_Stretch page show called');
}
onBuildDone() {
console.info('FlexPadding_Stretch page build done called');
}
build() {
Column() {
Column() {
Text('FlexPadding_1').fontSize(9).fontColor(0xCCCCCC).width('90%')
Flex({
direction: FlexDirection.Row,
alignItems: ItemAlign.Stretch,
wrap: FlexWrap.NoWrap,
}) {
Text('1').width(150).height(50).backgroundColor(0xF5DEB3).key('textFlexPadding01')
Text('2').width(150).height(100).backgroundColor(0xD2B48C).key('textFlexPadding02')
Text('3').width(150).height(150).backgroundColor(0xF5DEB3).key('textFlexPadding03')
}
.key('flexPadding01')
.height(200)
.width(500)
.padding(this.testPadding)
.backgroundColor(0xAFEEEE)
}.width('100%').alignItems(HorizontalAlign.Start)
}.width('100%')
}
}
/*
* Copyright (c) 2023 iSoftStone Information Technology (Group) 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 { MessageManager,Callback } from '../../../../common/MessageManager';
@Entry
@Component
struct FlexTextMargin_Stretch {
@State testTextMargin: number = 0
messageManager:MessageManager = new MessageManager()
private content: string = "FlexTextMargin_Stretch Page";
onPageShow() {
console.info('FlexTextMargin_Stretch onPageShow');
globalThis.value = {
name:'messageManager',message:this.messageManager
}
let callback:Callback = (message:any) => {
console.log('message = ' + message.name + "--" + message.value);
if (message.name == 'margin') {
this.testTextMargin = message.value;
}
}
this.messageManager.registerCallback(callback);
}
onBuildDone() {
console.info('FlexTextMargin_Stretch page build done called');
}
build() {
Column() {
Column() {
Text('FlexTextMargin_1').fontSize(9).fontColor(0xCCCCCC).width('90%')
Flex({
direction: FlexDirection.Row,
alignItems: ItemAlign.Stretch,
wrap: FlexWrap.NoWrap,
}) {
Text('1').width(150).height(50).backgroundColor(0xF5DEB3).margin(this.testTextMargin).key('textMargin01')
Text('2').width(150).height(100).backgroundColor(0xD2B48C).key('textMargin02')
Text('3').width(150).height(150).backgroundColor(0xF5DEB3).key('textMargin03')
}
.key('flexTextMargin01')
.height(200)
.width(500)
.backgroundColor(0xAFEEEE)
}.width('100%').alignItems(HorizontalAlign.Start)
}.width('100%')
}
}
/*
* Copyright (c) 2023 iSoftStone Information Technology (Group) 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 { MessageManager,Callback } from '../../../../common/MessageManager';
@Entry
@Component
struct FlexVisibility_Stretch {
@State testVisibility: number = Visibility.Visible
messageManager:MessageManager = new MessageManager()
private content: string = "FlexVisibility_Stretch Page";
onPageShow() {
console.info('FlexVisibility_Stretch onPageShow');
globalThis.value = {
name:'messageManager',message:this.messageManager
}
let callback:Callback = (message:any) => {
console.log('message = ' + message.name + "--" + message.value);
if (message.name == 'visibility') {
this.testVisibility = message.value;
}
}
this.messageManager.registerCallback(callback);
}
onBuildDone() {
console.info('FlexVisibility_Stretch page build done called');
}
build() {
Column() {
Column() {
Text('FlexTest10').fontSize(9).fontColor(0xCCCCCC).width('90%')
Flex({
direction: FlexDirection.Row,
alignItems: ItemAlign.Stretch,
wrap: FlexWrap.NoWrap,
}) {
Text('1').width(150).height(50).backgroundColor(0xF5DEB3).visibility(this.testVisibility).key('textVisible01')
Text('2').width(150).height(100).backgroundColor(0xD2B48C).key('textVisible02')
Text('3').width(150).height(150).backgroundColor(0xF5DEB3).key('textVisible03')
}
.key('flexVisible')
.height(200)
.width(500)
.backgroundColor(0xAFEEEE)
}.width('100%').alignItems(HorizontalAlign.Start)
}.width('100%')
}
}
/*
* Copyright (c) 2023 iSoftStone Information Technology (Group) Co.,Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from "@ohos/hypium";
import router from '@system.router';
import CommonFunc from "../../../../MainAbility/common/Common";
export default function flexAlignSelf_StretchJsunit() {
describe('flexItemAlignStretchTest', function () {
beforeEach(async function (done) {
let options = {
uri: 'MainAbility/pages/Flex/alignItems/ItemAlign_Stretch/FlexAlignSelf',
}
try {
router.clear();
await CommonFunc.sleep(1000);
let pages = router.getState();
console.info("get FlexSecond state success " + JSON.stringify(pages));
if (!("FlexSecond" == pages.name)) {
console.info("get FlexSecond state success " + JSON.stringify(pages.name));
let result = await router.push(options)
console.info("push FlexSecond page success " + JSON.stringify(result));
}
} catch (err) {
console.error("push FlexSecond page error " + JSON.stringify(err));
}
await CommonFunc.sleep(2000);
done()
});
afterEach(async function () {
await CommonFunc.sleep(1000);
console.info("FlexSecond after each called");
});
/**
* @tc.number SUB_ACE_FLEXALIGNITEMS_STRETCH_1300
* @tc.name testFlexItemAlignStretchSetAlignSelf
* @tc.desc The first subcomponent set ItemAlign.End attribute.
*/
it('testFlexItemAlignStretchSetAlignSelf', 0, async function (done) {
console.info('new testFlexItemAlignStretchSetAlignSelf START');
let strJson1 = getInspectorByKey('flexAlignSelf');
let obj1 = JSON.parse(strJson1);
let strJson2 = getInspectorByKey('textAlignSelf01');
let obj2 = JSON.parse(strJson2);
let textAlignSelf01 = CommonFunc.getComponentRect('textAlignSelf01');
let textAlignSelf02 = CommonFunc.getComponentRect('textAlignSelf02');
let textAlignSelf03 = CommonFunc.getComponentRect('textAlignSelf03');
let flexAlignSelf01 = CommonFunc.getComponentRect('flexAlignSelf');
expect(textAlignSelf02.top).assertEqual(textAlignSelf03.top)
expect(textAlignSelf03.top).assertEqual(flexAlignSelf01.top)
expect(textAlignSelf01.left).assertEqual(flexAlignSelf01.left)
expect(textAlignSelf01.right).assertEqual(textAlignSelf02.left)
expect(textAlignSelf02.bottom).assertEqual(textAlignSelf03.bottom)
expect(Math.round(textAlignSelf01.bottom - textAlignSelf01.top)).assertEqual(vp2px(50))
expect(Math.round(textAlignSelf01.right - textAlignSelf01.left)).assertEqual(vp2px(150))
expect(Math.round(textAlignSelf02.bottom - textAlignSelf02.top)).assertEqual(vp2px(200))
expect(Math.round(textAlignSelf02.right - textAlignSelf02.left)).assertEqual(vp2px(150))
expect(Math.round(textAlignSelf03.bottom - textAlignSelf03.top)).assertEqual(vp2px(200))
expect(Math.round(textAlignSelf03.right - textAlignSelf03.left)).assertEqual(vp2px(150))
expect(obj1.$attrs.constructor.direction).assertEqual('FlexDirection.Row')
expect(obj1.$attrs.constructor.alignItems).assertEqual('ItemAlign.Stretch')
expect(obj2.$attrs.alignSelf).assertEqual("ItemAlign.End");
console.info('new testFlexItemAlignStretchSetAlignSelf END');
done();
});
})
}
/*
* Copyright (c) 2023 iSoftStone Information Technology (Group) Co.,Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from "@ohos/hypium";
import router from '@system.router';
import CommonFunc from "../../../../MainAbility/common/Common";
import { MessageManager,Callback } from '../../../../MainAbility/common/MessageManager';
export default function flexBase_StretchJsunit() {
describe('flexItemAlignStretchTest', function () {
beforeEach(async function (done) {
let options = {
uri: 'MainAbility/pages/Flex/alignItems/ItemAlign_Stretch/FlexBase',
}
try {
router.clear();
await CommonFunc.sleep(1000);
let pages = router.getState();
console.info("get FlexBase state success " + JSON.stringify(pages));
if (!("FlexBase" == pages.name)) {
console.info("get FlexBase state success " + JSON.stringify(pages.name));
let result = await router.push(options)
console.info("push FlexBase page success " + JSON.stringify(result));
}
} catch (err) {
console.error("push FlexBase page error " + JSON.stringify(err));
}
await CommonFunc.sleep(2000);
done()
});
afterEach(async function () {
await CommonFunc.sleep(1000);
console.info("FlexBase after each called");
});
/**
* @tc.number SUB_ACE_FLEXALIGNITEMS_STRETCH_0100
* @tc.name testFlexItemAlignStretch
* @tc.desc The subcomponent is inside the parent component.
*/
it('testFlexItemAlignStretch', 0, async function (done) {
console.info('new testFlexItemAlignStretch START');
globalThis.value.message.notify({name:'height', value:200});
globalThis.value.message.notify({name:'width', value:500});
await CommonFunc.sleep(2000);
let strJson1 = getInspectorByKey('flex01');
let obj1 = JSON.parse(strJson1);
let textFlex01 = CommonFunc.getComponentRect('textFlex01');
let textFlex02 = CommonFunc.getComponentRect('textFlex02');
let textFlex03 = CommonFunc.getComponentRect('textFlex03');
let flex01 = CommonFunc.getComponentRect('flex01');
expect(flex01.top).assertEqual(textFlex01.top)
expect(textFlex01.top).assertEqual(textFlex02.top)
expect(textFlex02.top).assertEqual(textFlex03.top)
expect(textFlex01.bottom).assertEqual(textFlex02.bottom)
expect(textFlex02.bottom).assertEqual(textFlex03.bottom)
expect(textFlex01.right).assertEqual(textFlex02.left)
expect(textFlex02.right).assertEqual(textFlex03.left)
expect(Math.round(flex01.right - textFlex03.right)).assertEqual(vp2px(50))
expect(Math.round(textFlex01.bottom - textFlex01.top)).assertEqual(vp2px(200))
expect(Math.round(textFlex02.bottom - textFlex02.top)).assertEqual(vp2px(200))
expect(Math.round(textFlex03.bottom - textFlex03.top)).assertEqual(vp2px(200))
expect(Math.round(textFlex01.right - textFlex01.left)).assertEqual(vp2px(150))
expect(Math.round(textFlex02.right - textFlex02.left)).assertEqual(vp2px(150))
expect(Math.round(textFlex03.right - textFlex03.left)).assertEqual(vp2px(150))
expect(obj1.$attrs.constructor.direction).assertEqual('FlexDirection.Row')
expect(obj1.$attrs.constructor.alignItems).assertEqual('ItemAlign.Stretch')
console.info('new testFlexItemAlignStretch END');
done();
});
/**
* @tc.number SUB_ACE_FLEXALIGNITEMS_STRETCH_0200
* @tc.name testFlexItemAlignStretchExceed
* @tc.desc The subcomponent exceeds the parent component.
*/
it('testFlexItemAlignStretchExceed', 0, async function (done) {
console.info('new testFlexItemAlignStretchExceed START');
globalThis.value.message.notify({name:'height', value:140});
globalThis.value.message.notify({name:'width', value:420});
await CommonFunc.sleep(3000);
let strJson1 = getInspectorByKey('flex01');
let obj1 = JSON.parse(strJson1);
let textFlex01 = CommonFunc.getComponentRect('textFlex01');
let textFlex02 = CommonFunc.getComponentRect('textFlex02');
let textFlex03 = CommonFunc.getComponentRect('textFlex03');
let flex01 = CommonFunc.getComponentRect('flex01');
expect(textFlex01.left).assertEqual(flex01.left)
expect(textFlex01.right).assertEqual(textFlex02.left)
expect(textFlex02.right).assertEqual(textFlex03.left)
expect(flex01.top).assertEqual(textFlex01.top)
expect(textFlex01.top).assertEqual(textFlex02.top)
expect(textFlex02.top).assertEqual(textFlex03.top)
expect(textFlex01.bottom).assertEqual(flex01.bottom)
expect(flex01.right).assertEqual(textFlex03.right)
expect(textFlex01.bottom).assertEqual(textFlex02.bottom)
expect(textFlex02.bottom).assertEqual(textFlex03.bottom)
expect(Math.round(textFlex01.bottom - textFlex01.top)).assertEqual(vp2px(140))
expect(Math.round(textFlex02.bottom - textFlex02.top)).assertEqual(vp2px(140))
expect(Math.round(textFlex03.bottom - textFlex03.top)).assertEqual(vp2px(140))
expect(Math.round(textFlex01.right - textFlex01.left)).assertEqual(vp2px(140))
expect(Math.round(textFlex02.right - textFlex02.left)).assertEqual(vp2px(140))
expect(Math.round(textFlex03.right - textFlex03.left)).assertEqual(vp2px(140))
expect(obj1.$attrs.constructor.direction).assertEqual('FlexDirection.Row')
expect(obj1.$attrs.constructor.alignItems).assertEqual('ItemAlign.Stretch')
console.info('new testFlexItemAlignStretchExceed END');
done();
});
})
}
/*
* Copyright (c) 2023 iSoftStone Information Technology (Group) Co.,Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from "@ohos/hypium";
import router from '@system.router';
import CommonFunc from "../../../../MainAbility/common/Common";
import { MessageManager,Callback } from '../../../../MainAbility/common/MessageManager';
export default function flexExceed_StretchJsunit() {
describe('flexItemAlignStretchTest', function () {
beforeEach(async function (done) {
let options = {
uri: 'MainAbility/pages/Flex/alignItems/ItemAlign_Stretch/FlexExceed',
}
try {
router.clear();
await CommonFunc.sleep(1000);
let pages = router.getState();
console.info("get FlexExceed state success " + JSON.stringify(pages));
if (!("FlexExceed" == pages.name)) {
console.info("get FlexExceed state success " + JSON.stringify(pages.name));
let result = await router.push(options)
console.info("push FlexExceed page success " + JSON.stringify(result));
}
} catch (err) {
console.error("push FlexExceed page error " + JSON.stringify(err));
}
await CommonFunc.sleep(2000);
done()
});
afterEach(async function () {
await CommonFunc.sleep(1000);
console.info("FlexExceed after each called");
});
/**
* @tc.number SUB_ACE_FLEXALIGNITEMS_STRETCH_0600
* @tc.name testFlexItemAlignStretchSetMarPad
* @tc.desc Subcomponent inside when parent component set margin and padding.
*/
it('testFlexItemAlignStretchSetMarPad', 0, async function (done) {
console.info('new testFlexItemAlignStretchSetMarPad START');
globalThis.value.message.notify({name:'padding', value:10});
globalThis.value.message.notify({name:'margin', value:10});
await CommonFunc.sleep(2000);
let strJson1 = getInspectorByKey('flexExceed01');
let obj1 = JSON.parse(strJson1);
let textExceed01 = CommonFunc.getComponentRect('textExceed01');
let textExceed02 = CommonFunc.getComponentRect('textExceed02');
let textExceed03 = CommonFunc.getComponentRect('textExceed03');
let flexExceed01 = CommonFunc.getComponentRect('flexExceed01');
expect(textExceed01.top).assertEqual(textExceed02.top)
expect(textExceed02.top).assertEqual(textExceed03.top)
expect(textExceed01.top).assertLarger(flexExceed01.top)
expect(textExceed01.bottom).assertEqual(textExceed02.bottom)
expect(textExceed02.bottom).assertEqual(textExceed03.bottom)
expect(textExceed01.bottom).assertLess(flexExceed01.bottom)
expect(textExceed01.left).assertLarger(flexExceed01.left)
expect(textExceed03.right).assertLess(flexExceed01.right)
expect(Math.round(textExceed01.bottom - textExceed01.top)).assertEqual(vp2px(180))
expect(Math.round(textExceed02.bottom - textExceed02.top)).assertEqual(vp2px(180))
expect(Math.round(textExceed03.bottom - textExceed03.top)).assertEqual(vp2px(180))
expect(Math.round(textExceed01.right - textExceed01.left)).assertEqual(vp2px(150))
expect(Math.round(textExceed02.right - textExceed02.left)).assertEqual(vp2px(150))
expect(Math.round(textExceed03.right - textExceed03.left)).assertEqual(vp2px(150))
expect(obj1.$attrs.constructor.direction).assertEqual('FlexDirection.Row')
expect(obj1.$attrs.constructor.alignItems).assertEqual('ItemAlign.Stretch')
console.info('new testFlexItemAlignStretchSetMarPad END');
done();
});
/**
* @tc.number SUB_ACE_FLEXALIGNITEMS_STRETCH_0700
* @tc.name testFlexItemAlignStretchSetMarPadExceed
* @tc.desc Subcomponent outside when parent component set margin and padding.
*/
it('testFlexItemAlignStretchSetMarPadExceed', 0, async function (done) {
console.info('new testFlexItemAlignStretchSetMarPadExceed START');
globalThis.value.message.notify({name:'padding', value:30});
globalThis.value.message.notify({name:'margin', value:30});
await CommonFunc.sleep(2000);
let strJson1 = getInspectorByKey('flexExceed01');
let obj1 = JSON.parse(strJson1);
let textExceed01 = CommonFunc.getComponentRect('textExceed01');
let textExceed02 = CommonFunc.getComponentRect('textExceed02');
let textExceed03 = CommonFunc.getComponentRect('textExceed03');
let flexExceed01 = CommonFunc.getComponentRect('flexExceed01');
expect(textExceed01.top).assertEqual(textExceed02.top)
expect(textExceed02.top).assertEqual(textExceed03.top)
expect(textExceed01.top).assertLarger(flexExceed01.top)
expect(textExceed01.bottom).assertEqual(textExceed02.bottom)
expect(textExceed02.bottom).assertEqual(textExceed03.bottom)
expect(textExceed01.bottom).assertLess(flexExceed01.bottom)
expect(textExceed01.left).assertLarger(flexExceed01.left)
expect(textExceed03.right).assertLess(flexExceed01.right)
expect(Math.round(textExceed01.bottom - textExceed01.top)).assertEqual(vp2px(140))
expect(Math.round(textExceed02.bottom - textExceed02.top)).assertEqual(vp2px(140))
expect(Math.round(textExceed03.bottom - textExceed03.top)).assertEqual(vp2px(140))
expect(Math.round(textExceed01.right - textExceed01.left)).assertEqual(vp2px(440/3))
expect(Math.round(textExceed02.right - textExceed02.left)).assertEqual(vp2px(440/3))
expect(Math.round(textExceed03.right - textExceed03.left)).assertEqual(vp2px(440/3))
expect(obj1.$attrs.constructor.direction).assertEqual('FlexDirection.Row')
expect(obj1.$attrs.constructor.alignItems).assertEqual('ItemAlign.Stretch')
console.info('new testFlexItemAlignStretchSetMarPadExceed END');
done();
});
})
}
/*
* Copyright (c) 2023 iSoftStone Information Technology (Group) Co.,Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from "@ohos/hypium";
import router from '@system.router';
import CommonFunc from "../../../../MainAbility/common/Common";
import { MessageManager,Callback } from '../../../../MainAbility/common/MessageManager';
export default function flexHeightModify_StretchJsunit() {
describe('flexItemAlignStretchTest', function () {
beforeEach(async function (done) {
let options = {
uri: 'MainAbility/pages/Flex/alignItems/ItemAlign_Stretch/FlexHeightModify',
}
try {
router.clear();
await CommonFunc.sleep(1000);
let pages = router.getState();
console.info("get FlexHeightModify state success " + JSON.stringify(pages));
if (!("FlexHeightModify" == pages.name)) {
console.info("get FlexHeightModify state success " + JSON.stringify(pages.name));
let result = await router.push(options)
console.info("push FlexHeightModify page success " + JSON.stringify(result));
}
} catch (err) {
console.error("push FlexHeightModify page error " + JSON.stringify(err));
}
await CommonFunc.sleep(2000);
done()
});
afterEach(async function () {
await CommonFunc.sleep(1000);
console.info("FlexHeightModify after each called");
});
/**
* @tc.number SUB_ACE_FLEXALIGNITEMS_STRETCH_0800
* @tc.name testFlexItemAlignStretchDefaultSize
* @tc.desc Check the the default height of the first subcomponent.
*/
it('testFlexItemAlignStretchDefaultSize', 0, async function (done) {
console.info('new testFlexItemAlignStretchDefaultSize START');
globalThis.value.message.notify({name:'height', value:80});
await CommonFunc.sleep(1000);
let strJson1 = getInspectorByKey('flexHeightModify');
let obj1 = JSON.parse(strJson1);
let textHeightModify01 = CommonFunc.getComponentRect('textHeightModify01');
let textHeightModify02 = CommonFunc.getComponentRect('textHeightModify02');
let textHeightModify03 = CommonFunc.getComponentRect('textHeightModify03');
let flexHeightModify = CommonFunc.getComponentRect('flexHeightModify');
expect(textHeightModify01.top).assertEqual(textHeightModify02.top)
expect(textHeightModify02.top).assertEqual(textHeightModify03.top)
expect(textHeightModify03.top).assertEqual(flexHeightModify.top)
expect(textHeightModify01.bottom).assertEqual(textHeightModify02.bottom)
expect(textHeightModify02.bottom).assertEqual(textHeightModify03.bottom)
expect(textHeightModify01.left).assertEqual(flexHeightModify.left)
expect(textHeightModify02.left).assertEqual(textHeightModify01.right)
expect(textHeightModify03.right).assertLess(flexHeightModify.right)
expect(Math.round(textHeightModify01.bottom - textHeightModify01.top)).assertEqual(vp2px(200))
expect(Math.round(textHeightModify02.bottom - textHeightModify02.top)).assertEqual(vp2px(200))
expect(Math.round(textHeightModify03.bottom - textHeightModify03.top)).assertEqual(vp2px(200))
expect(Math.round(textHeightModify01.right - textHeightModify01.left)).assertEqual(vp2px(150))
expect(Math.round(textHeightModify02.right - textHeightModify02.left)).assertEqual(vp2px(150))
expect(Math.round(textHeightModify03.right - textHeightModify03.left)).assertEqual(vp2px(150))
expect(obj1.$attrs.constructor.direction).assertEqual('FlexDirection.Row')
expect(obj1.$attrs.constructor.alignItems).assertEqual('ItemAlign.Stretch')
console.info('new testFlexItemAlignStretchDefaultSize END');
done();
});
/**
* @tc.number SUB_ACE_FLEXALIGNITEMS_STRETCH_0900
* @tc.name testFlexItemAlignStretchHeightModify
* @tc.desc Modify the first subcomponent's height.
*/
it('testFlexItemAlignStretchHeightModify', 0, async function (done) {
console.info('new testFlexItemAlignStretchHeightModify START');
globalThis.value.message.notify({name:'height', value:80});
await CommonFunc.sleep(1000);
let strJson1 = getInspectorByKey('flexHeightModify');
let obj1 = JSON.parse(strJson1);
let textHeightModify01 = CommonFunc.getComponentRect('textHeightModify01');
let textHeightModify02 = CommonFunc.getComponentRect('textHeightModify02');
let textHeightModify03 = CommonFunc.getComponentRect('textHeightModify03');
let flexHeightModify = CommonFunc.getComponentRect('flexHeightModify');
expect(textHeightModify01.top).assertEqual(textHeightModify02.top)
expect(textHeightModify02.top).assertEqual(textHeightModify03.top)
expect(textHeightModify03.top).assertEqual(flexHeightModify.top)
expect(textHeightModify01.bottom).assertEqual(textHeightModify02.bottom)
expect(textHeightModify02.bottom).assertEqual(textHeightModify03.bottom)
expect(textHeightModify01.left).assertEqual(flexHeightModify.left)
expect(textHeightModify02.left).assertEqual(textHeightModify01.right)
expect(textHeightModify03.right).assertLess(flexHeightModify.right)
expect(Math.round(textHeightModify01.bottom - textHeightModify01.top)).assertEqual(vp2px(200))
expect(Math.round(textHeightModify02.bottom - textHeightModify02.top)).assertEqual(vp2px(200))
expect(Math.round(textHeightModify03.bottom - textHeightModify03.top)).assertEqual(vp2px(200))
expect(Math.round(textHeightModify01.right - textHeightModify01.left)).assertEqual(vp2px(150))
expect(Math.round(textHeightModify02.right - textHeightModify02.left)).assertEqual(vp2px(150))
expect(Math.round(textHeightModify03.right - textHeightModify03.left)).assertEqual(vp2px(150))
expect(obj1.$attrs.constructor.direction).assertEqual('FlexDirection.Row')
expect(obj1.$attrs.constructor.alignItems).assertEqual('ItemAlign.Stretch')
console.info('new testFlexItemAlignStretchHeightModify END');
done();
});
})
}
/*
* Copyright (c) 2023 iSoftStone Information Technology (Group) Co.,Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from "@ohos/hypium";
import router from '@system.router';
import CommonFunc from "../../../../MainAbility/common/Common";
export default function flexMargin_StretchJsunit() {
describe('flexItemAlignStretchTest', function () {
beforeEach(async function (done) {
let options = {
uri: 'MainAbility/pages/Flex/alignItems/ItemAlign_Stretch/FlexMargin',
}
try {
router.clear();
await CommonFunc.sleep(1000);
let pages = router.getState();
console.info("get FlexMargin state success " + JSON.stringify(pages));
if (!("FlexMargin" == pages.name)) {
console.info("get FlexMargin state success " + JSON.stringify(pages.name));
let result = await router.push(options)
console.info("push FlexMargin page success " + JSON.stringify(result));
}
} catch (err) {
console.error("push FlexMargin page error " + JSON.stringify(err));
}
await CommonFunc.sleep(2000);
done()
});
afterEach(async function () {
await CommonFunc.sleep(1000);
console.info("FlexMargin after each called");
});
/**
* @tc.number SUB_ACE_FLEXALIGNITEMS_STRETCH_0500
* @tc.name testItemAlignStretchParentSetMargin
* @tc.desc Parent component set margin attribute.
*/
it('testItemAlignStretchParentSetMargin', 0, async function (done) {
console.info('new testItemAlignStretchParentSetMargin START');
let strJson1 = getInspectorByKey('flexMargin');
let obj1 = JSON.parse(strJson1);
let textFlexMargin01 = CommonFunc.getComponentRect('textFlexMargin01');
let textFlexMargin02 = CommonFunc.getComponentRect('textFlexMargin02');
let textFlexMargin03 = CommonFunc.getComponentRect('textFlexMargin03');
let flexMargin = CommonFunc.getComponentRect('flexMargin');
expect(textFlexMargin01.top).assertEqual(textFlexMargin02.top)
expect(textFlexMargin02.top).assertEqual(textFlexMargin03.top)
expect(textFlexMargin03.top).assertEqual(flexMargin.top)
expect(textFlexMargin01.bottom).assertEqual(textFlexMargin02.bottom)
expect(textFlexMargin02.bottom).assertEqual(textFlexMargin03.bottom)
expect(textFlexMargin03.bottom).assertEqual(flexMargin.bottom)
expect(textFlexMargin01.left).assertEqual(flexMargin.left)
expect(textFlexMargin02.left).assertEqual(textFlexMargin01.right)
expect(textFlexMargin03.left).assertEqual(textFlexMargin02.right)
expect(Math.round(flexMargin.right - textFlexMargin03.right)).assertEqual(vp2px(50))
expect(Math.round(textFlexMargin01.bottom - textFlexMargin01.top)).assertEqual(vp2px(200))
expect(Math.round(textFlexMargin02.bottom - textFlexMargin02.top)).assertEqual(vp2px(200))
expect(Math.round(textFlexMargin03.bottom - textFlexMargin03.top)).assertEqual(vp2px(200))
expect(Math.round(textFlexMargin01.right - textFlexMargin01.left)).assertEqual(vp2px(150))
expect(Math.round(textFlexMargin02.right - textFlexMargin02.left)).assertEqual(vp2px(150))
expect(Math.round(textFlexMargin03.right - textFlexMargin03.left)).assertEqual(vp2px(150))
expect(obj1.$attrs.constructor.direction).assertEqual('FlexDirection.Row')
expect(obj1.$attrs.constructor.alignItems).assertEqual('ItemAlign.Stretch')
console.info('new testItemAlignStretchParentSetMargin END');
done();
});
})
}
/*
* Copyright (c) 2023 iSoftStone Information Technology (Group) Co.,Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from "@ohos/hypium";
import router from '@system.router';
import CommonFunc from "../../../../MainAbility/common/Common";
export default function flexOffset_StretchJsunit() {
describe('flexItemAlignStretchTest', function () {
beforeEach(async function (done) {
let options = {
uri: 'MainAbility/pages/Flex/alignItems/ItemAlign_Stretch/FlexOffset',
}
try {
router.clear();
await CommonFunc.sleep(1000);
let pages = router.getState();
console.info("get flexOffsetTest state success " + JSON.stringify(pages));
if (!("flexOffsetTest" == pages.name)) {
console.info("get flexOffsetTest state success " + JSON.stringify(pages.name));
let result = await router.push(options)
console.info("push flexOffsetTest page success " + JSON.stringify(result));
}
} catch (err) {
console.error("push flexOffsetTest page error " + JSON.stringify(err));
}
await CommonFunc.sleep(2000);
done()
});
afterEach(async function () {
await CommonFunc.sleep(1000);
console.info("flexOffsetTest after each called");
});
/**
* @tc.number SUB_ACE_FLEXALIGNITEMS_STRETCH_1000
* @tc.name testFlexItemAlignStretchSetOffset
* @tc.desc First subcomponent set offset attribute.
*/
it('testFlexItemAlignStretchSetOffset', 0, async function (done) {
console.info('new testFlexItemAlignStretchSetOffset START');
let strJson1 = getInspectorByKey('flexOffset');
let obj1 = JSON.parse(strJson1);
let textOffset01 = CommonFunc.getComponentRect('textOffset01');
let textOffset02 = CommonFunc.getComponentRect('textOffset02');
let textOffset03 = CommonFunc.getComponentRect('textOffset03');
let flexOffset = CommonFunc.getComponentRect('flexOffset');
expect(textOffset02.top).assertEqual(textOffset03.top)
expect(textOffset03.top).assertEqual(flexOffset.top)
expect(Math.round((textOffset01.left - flexOffset.left)*10)/10).assertEqual(Math.round(vp2px(15)*10)/10)
expect(Math.round(textOffset01.top - flexOffset.top)).assertEqual(vp2px(30))
expect(textOffset02.bottom).assertEqual(textOffset03.bottom)
expect(Math.round(textOffset01.bottom - textOffset01.top)).assertEqual(vp2px(200))
expect(Math.round(textOffset02.bottom - textOffset02.top)).assertEqual(vp2px(200))
expect(Math.round(textOffset03.bottom - textOffset03.top)).assertEqual(vp2px(200))
expect(Math.round(textOffset01.right - textOffset01.left)).assertEqual(vp2px(150))
expect(Math.round(textOffset02.right - textOffset02.left)).assertEqual(vp2px(150))
expect(Math.round(textOffset03.right - textOffset03.left)).assertEqual(vp2px(150))
expect(obj1.$attrs.constructor.direction).assertEqual('FlexDirection.Row')
expect(obj1.$attrs.constructor.alignItems).assertEqual('ItemAlign.Stretch')
console.info('new testFlexItemAlignStretchSetOffset END');
done();
});
})
}
/*
* Copyright (c) 2023 iSoftStone Information Technology (Group) Co.,Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from "@ohos/hypium";
import router from '@system.router';
import CommonFunc from "../../../../MainAbility/common/Common";
import { MessageManager,Callback } from '../../../../MainAbility/common/MessageManager';
export default function flexPadding_StretchJsunit() {
describe('flexItemAlignStretchTest', function () {
beforeEach(async function (done) {
let options = {
uri: 'MainAbility/pages/Flex/alignItems/ItemAlign_Stretch/FlexPadding',
}
try {
router.clear();
await CommonFunc.sleep(1000);
let pages = router.getState();
console.info("get FlexPadding state success " + JSON.stringify(pages));
if (!("FlexPadding" == pages.name)) {
console.info("get FlexPadding state success " + JSON.stringify(pages.name));
let result = await router.push(options)
console.info("push FlexPadding page success " + JSON.stringify(result));
}
} catch (err) {
console.error("push FlexPadding page error " + JSON.stringify(err));
}
await CommonFunc.sleep(2000);
done()
});
afterEach(async function () {
await CommonFunc.sleep(1000);
console.info("FlexPadding after each called");
});
/**
* @tc.number SUB_ACE_FLEXALIGNITEMS_STRETCH_0300
* @tc.name testFlexItemAlignStretchParentSetPadding
* @tc.desc Parent component set paddding,subcomponent does not exceed the parent component.
*/
it('testFlexItemAlignStretchParentSetPadding', 0, async function (done) {
console.info('new testFlexItemAlignStretchParentSetPadding START');
globalThis.value.message.notify({name:'padding', value:10});
await CommonFunc.sleep(2000);
let strJson1 = getInspectorByKey('flexPadding01');
let obj1 = JSON.parse(strJson1);
let textFlexPadding01 = CommonFunc.getComponentRect('textFlexPadding01');
let textFlexPadding02 = CommonFunc.getComponentRect('textFlexPadding02');
let textFlexPadding03 = CommonFunc.getComponentRect('textFlexPadding03');
let flexPadding01 = CommonFunc.getComponentRect('flexPadding01');
expect(textFlexPadding01.top).assertEqual(textFlexPadding02.top)
expect(textFlexPadding02.top).assertEqual(textFlexPadding03.top)
expect(Math.round(textFlexPadding01.top - flexPadding01.top)).assertEqual(vp2px(10))
expect(textFlexPadding01.bottom).assertEqual(textFlexPadding02.bottom)
expect(textFlexPadding02.bottom).assertEqual(textFlexPadding03.bottom)
expect(flexPadding01.bottom).assertLarger(textFlexPadding01.bottom)
expect(flexPadding01.right).assertLarger(textFlexPadding03.right)
expect(Math.round(textFlexPadding01.left - flexPadding01.left)).assertEqual(vp2px(10))
expect(Math.round(textFlexPadding01.bottom - textFlexPadding01.top)).assertEqual(vp2px(150))
expect(Math.round(textFlexPadding02.bottom - textFlexPadding02.top)).assertEqual(vp2px(150))
expect(Math.round(textFlexPadding03.bottom - textFlexPadding03.top)).assertEqual(vp2px(150))
expect(Math.round(textFlexPadding01.right - textFlexPadding01.left)).assertEqual(vp2px(150))
expect(Math.round(textFlexPadding02.right - textFlexPadding02.left)).assertEqual(vp2px(150))
expect(Math.round(textFlexPadding03.right - textFlexPadding03.left)).assertEqual(vp2px(150))
expect(obj1.$attrs.constructor.direction).assertEqual('FlexDirection.Row')
expect(obj1.$attrs.constructor.alignItems).assertEqual('ItemAlign.Stretch')
console.info('new testFlexItemAlignStretchParentSetPadding END');
done();
});
/**
* @tc.number SUB_ACE_FLEXALIGNITEMS_STRETCH_0400
* @tc.name testFlexItemAlignStretchParentSetPaddingExceed
* @tc.desc Parent component set paddding,subcomponent exceedS the parent component.
*/
it('testFlexItemAlignStretchParentSetPaddingExceed', 0, async function (done) {
console.info('new testFlexItemAlignStretchParentSetPaddingExceed START');
globalThis.value.message.notify({name:'padding', value:30});
await CommonFunc.sleep(2000);
let strJson1 = getInspectorByKey('flexPadding01');
let obj1 = JSON.parse(strJson1);
let textFlexPadding01 = CommonFunc.getComponentRect('textFlexPadding01');
let textFlexPadding02 = CommonFunc.getComponentRect('textFlexPadding02');
let textFlexPadding03 = CommonFunc.getComponentRect('textFlexPadding03');
let flexPadding01 = CommonFunc.getComponentRect('flexPadding01');
expect(textFlexPadding01.top).assertEqual(textFlexPadding02.top)
expect(textFlexPadding02.top).assertEqual(textFlexPadding03.top)
expect(Math.round(textFlexPadding01.top - flexPadding01.top)).assertEqual(vp2px(30))
expect(textFlexPadding01.bottom).assertEqual(textFlexPadding02.bottom)
expect(textFlexPadding02.bottom).assertEqual(textFlexPadding03.bottom)
expect(Math.round(flexPadding01.bottom - textFlexPadding01.bottom)).assertEqual(vp2px(20))
expect(Math.round(textFlexPadding01.left - flexPadding01.left)).assertEqual(vp2px(30))
expect(textFlexPadding03.right).assertLess(flexPadding01.right)
expect(Math.round(textFlexPadding01.bottom - textFlexPadding01.top)).assertEqual(vp2px(150))
expect(Math.round(textFlexPadding02.bottom - textFlexPadding02.top)).assertEqual(vp2px(150))
expect(Math.round(textFlexPadding03.bottom - textFlexPadding03.top)).assertEqual(vp2px(150))
expect(Math.round(textFlexPadding01.right - textFlexPadding01.left)).assertEqual(vp2px(440/3))
expect(Math.round(textFlexPadding02.right - textFlexPadding02.left)).assertEqual(vp2px(440/3))
expect(Math.round(textFlexPadding03.right - textFlexPadding03.left)).assertEqual(vp2px(440/3))
expect(obj1.$attrs.constructor.direction).assertEqual('FlexDirection.Row')
expect(obj1.$attrs.constructor.alignItems).assertEqual('ItemAlign.Stretch')
console.info('new testFlexItemAlignStretchParentSetPaddingExceed END');
done();
});
})
}
/*
* Copyright (c) 2023 iSoftStone Information Technology (Group) Co.,Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from "@ohos/hypium";
import router from '@system.router';
import CommonFunc from "../../../../MainAbility/common/Common";
import { MessageManager,Callback } from '../../../../MainAbility/common/MessageManager';
export default function flexTextMargin_StretchJsunit() {
describe('flexItemAlignStretchTest', function () {
beforeEach(async function (done) {
let options = {
uri: 'MainAbility/pages/Flex/alignItems/ItemAlign_Stretch/FlexTextMargin',
}
try {
router.clear();
await CommonFunc.sleep(1000);
let pages = router.getState();
console.info("get FlexTextMargin state success " + JSON.stringify(pages));
if (!("FlexTextMargin" == pages.name)) {
console.info("get FlexTextMargin state success " + JSON.stringify(pages.name));
let result = await router.push(options)
console.info("push FlexTextMargin page success " + JSON.stringify(result));
}
} catch (err) {
console.error("push FlexTextMargin page error " + JSON.stringify(err));
}
await CommonFunc.sleep(2000);
done()
});
afterEach(async function () {
await CommonFunc.sleep(1000);
console.info("FlexTextMargin after each called");
});
/**
* @tc.number SUB_ACE_FLEXALIGNITEMS_STRETCH_1400
* @tc.name testFlexItemAlignStretchSubSetMargin
* @tc.desc Subcomponents set margin within the scope of the parent component.
*/
it('testFlexItemAlignStretchSubSetMargin', 0, async function (done) {
console.info('new testFlexItemAlignStretchSubSetMargin START');
globalThis.value.message.notify({name:'margin', value:10});
await CommonFunc.sleep(2000);
let strJson1 = getInspectorByKey('flexTextMargin01');
let obj1 = JSON.parse(strJson1);
let textMargin01 = CommonFunc.getComponentRect('textMargin01');
let textMargin02 = CommonFunc.getComponentRect('textMargin02');
let textMargin03 = CommonFunc.getComponentRect('textMargin03');
let flexTextMargin01 = CommonFunc.getComponentRect('flexTextMargin01');
expect(Math.round(textMargin01.left - flexTextMargin01.left)).assertEqual(vp2px(10))
expect(Math.round(textMargin02.left - textMargin01.right)).assertEqual(vp2px(10))
expect(textMargin03.left).assertEqual(textMargin02.right)
expect(Math.round(flexTextMargin01.right - textMargin03.right)).assertEqual(vp2px(30))
expect(textMargin02.top).assertEqual(textMargin03.top)
expect(textMargin03.top).assertEqual(flexTextMargin01.top)
expect(Math.round(textMargin01.top - flexTextMargin01.top)).assertEqual(vp2px(10))
expect(textMargin02.bottom).assertEqual(textMargin03.bottom)
expect(textMargin03.bottom).assertEqual(flexTextMargin01.bottom)
expect(Math.round(flexTextMargin01.bottom - textMargin01.bottom)).assertEqual(vp2px(10))
expect(Math.round(textMargin01.bottom - textMargin01.top)).assertEqual(vp2px(180))
expect(Math.round(textMargin02.bottom - textMargin02.top)).assertEqual(vp2px(200))
expect(Math.round(textMargin03.bottom - textMargin03.top)).assertEqual(vp2px(200))
expect(Math.round(textMargin01.right - textMargin01.left)).assertEqual(vp2px(150))
expect(Math.round(textMargin02.right - textMargin02.left)).assertEqual(vp2px(150))
expect(Math.round(textMargin03.right - textMargin03.left)).assertEqual(vp2px(150))
expect(obj1.$attrs.constructor.direction).assertEqual('FlexDirection.Row')
expect(obj1.$attrs.constructor.alignItems).assertEqual('ItemAlign.Stretch')
console.info('new testFlexItemAlignStretchSubSetMargin END');
done();
});
/**
* @tc.number SUB_ACE_FLEXALIGNITEMS_STRETCH_1500
* @tc.name testFlexItemAlignStretchSubSetMarginExceed
* @tc.desc Subcomponents set margin outside the scope of the parent component.
*/
it('testFlexItemAlignStretchSubSetMarginExceed', 0, async function (done) {
console.info('new testFlexItemAlignStretchSubSetMarginExceed START');
globalThis.value.message.notify({name:'margin', value:30});
await CommonFunc.sleep(2000);
let strJson1 = getInspectorByKey('flexTextMargin01');
let obj1 = JSON.parse(strJson1);
let textMargin01 = CommonFunc.getComponentRect('textMargin01');
let textMargin02 = CommonFunc.getComponentRect('textMargin02');
let textMargin03 = CommonFunc.getComponentRect('textMargin03');
let flexTextMargin01 = CommonFunc.getComponentRect('flexTextMargin01');
expect(Math.round(textMargin01.left - flexTextMargin01.left)).assertEqual(vp2px(30))
expect(Math.round(textMargin02.left - textMargin01.right)).assertEqual(vp2px(30))
expect(textMargin03.left).assertEqual(textMargin02.right)
expect(textMargin03.right).assertEqual(flexTextMargin01.right)
expect(textMargin02.top).assertEqual(textMargin03.top)
expect(textMargin03.top).assertEqual(flexTextMargin01.top)
expect(Math.round(textMargin01.top - flexTextMargin01.top)).assertEqual(vp2px(30))
expect(textMargin02.bottom).assertEqual(textMargin03.bottom)
expect(textMargin03.bottom).assertEqual(flexTextMargin01.bottom)
expect(Math.round(flexTextMargin01.bottom - textMargin01.bottom)).assertEqual(vp2px(30))
expect(Math.round(textMargin01.bottom - textMargin01.top)).assertEqual(vp2px(140))
expect(Math.round(textMargin02.bottom - textMargin02.top)).assertEqual(vp2px(200))
expect(Math.round(textMargin03.bottom - textMargin03.top)).assertEqual(vp2px(200))
expect(Math.round(textMargin01.right - textMargin01.left)).assertEqual(vp2px(440/3))
expect(Math.round(textMargin02.right - textMargin02.left)).assertEqual(vp2px(440/3))
expect(Math.round(textMargin03.right - textMargin03.left)).assertEqual(vp2px(440/3))
expect(obj1.$attrs.constructor.direction).assertEqual('FlexDirection.Row')
expect(obj1.$attrs.constructor.alignItems).assertEqual('ItemAlign.Stretch')
console.info('new testFlexItemAlignStretchSubSetMarginExceed END');
done();
});
})
}
/*
* Copyright (c) 2023 iSoftStone Information Technology (Group) Co.,Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from "@ohos/hypium";
import router from '@system.router';
import CommonFunc from "../../../../MainAbility/common/Common";
import { MessageManager,Callback } from '../../../../MainAbility/common/MessageManager';
export default function flexVisibility_StretchJsunit() {
describe('flexItemAlignStretchTest', function () {
beforeEach(async function (done) {
let options = {
uri: 'MainAbility/pages/Flex/alignItems/ItemAlign_Stretch/FlexVisibility',
}
try {
router.clear();
await CommonFunc.sleep(1000);
let pages = router.getState();
console.info("get FlexVisibility state success " + JSON.stringify(pages));
if (!("FlexVisibility" == pages.name)) {
console.info("get FlexVisibility state success " + JSON.stringify(pages.name));
let result = await router.push(options)
console.info("push FlexVisibility page success " + JSON.stringify(result));
}
} catch (err) {
console.error("push FlexVisibility page error " + JSON.stringify(err));
}
await CommonFunc.sleep(2000);
done()
});
afterEach(async function () {
await CommonFunc.sleep(1000);
console.info("FlexVisibility after each called");
});
/**
* @tc.number SUB_ACE_FLEXALIGNITEMS_STRETCH_1100
* @tc.name testFlexItemAlignStretchSubSetVisibilityNone
* @tc.desc The first subcomponent set Visibility.None attribute.
*/
it('testFlexItemAlignStretchSubSetVisibilityNone', 0, async function (done) {
console.info('new testFlexItemAlignStretchSubSetVisibilityNone START');
try {
globalThis.value.message.notify({name:'visibility', value:Visibility.None});
await CommonFunc.sleep(2000);
let strJson1 = getInspectorByKey('flexVisible');
let obj1 = JSON.parse(strJson1);
let strJson2 = getInspectorByKey('textVisible01');
let obj2 = JSON.parse(strJson2);
expect(obj2.$attrs.visibility).assertEqual("Visibility.None");
let textVisible01 = CommonFunc.getComponentRect('textVisible01');
let textVisible02 = CommonFunc.getComponentRect('textVisible02');
let textVisible03 = CommonFunc.getComponentRect('textVisible03');
let flexVisible = CommonFunc.getComponentRect('flexVisible');
expect(textVisible02.top).assertEqual(textVisible03.top)
expect(textVisible03.top).assertEqual(flexVisible.top)
expect(textVisible01.left).assertEqual(textVisible01.right)
expect(textVisible01.right).assertEqual(flexVisible.left)
expect(textVisible02.bottom).assertEqual(textVisible03.bottom)
expect(Math.round(textVisible02.bottom - textVisible02.top)).assertEqual(vp2px(200))
expect(Math.round(textVisible03.bottom - textVisible03.top)).assertEqual(vp2px(200))
expect(Math.round(textVisible02.right - textVisible02.left)).assertEqual(vp2px(150))
expect(Math.round(textVisible03.right - textVisible03.left)).assertEqual(vp2px(150))
expect(obj1.$attrs.constructor.direction).assertEqual('FlexDirection.Row')
expect(obj1.$attrs.constructor.alignItems).assertEqual('ItemAlign.Stretch')
} catch (err) {
console.error('[testFlexItemAlignBaselineSubSetVisibilityNone] failed');
expect().assertFail();
}
console.info('new testFlexItemAlignStretchSubSetVisibilityNone END');
done();
});
/**
* @tc.number SUB_ACE_FLEXALIGNITEMS_STRETCH_1200
* @tc.name testFlexItemAlignStretchSubSetVisibilityHidden
* @tc.desc The first subcomponent set Visibility.Hidden attribute.
*/
it('testFlexItemAlignStretchSubSetVisibilityHidden', 0, async function (done) {
console.info('new testFlexItemAlignStretchSubSetVisibilityHidden START');
try {
globalThis.value.message.notify({name:'visibility', value:Visibility.Hidden});
await CommonFunc.sleep(2000);
let strJson1 = getInspectorByKey('flexVisible');
let obj1 = JSON.parse(strJson1);
let strJson2 = getInspectorByKey('textVisible01');
let obj2 = JSON.parse(strJson2);
expect(obj2.$attrs.visibility).assertEqual("Visibility.Hidden");
let textVisible01 = CommonFunc.getComponentRect('textVisible01');
let textVisible02 = CommonFunc.getComponentRect('textVisible02');
let textVisible03 = CommonFunc.getComponentRect('textVisible03');
let flexVisible = CommonFunc.getComponentRect('flexVisible');
expect(textVisible01.top).assertEqual(textVisible02.top)
expect(textVisible02.top).assertEqual(textVisible03.top)
expect(textVisible03.top).assertEqual(flexVisible.top)
expect(textVisible01.left).assertEqual(flexVisible.left)
expect(textVisible01.right).assertEqual(textVisible02.left)
expect(textVisible01.bottom).assertEqual(textVisible02.bottom)
expect(textVisible02.bottom).assertEqual(textVisible03.bottom)
expect(Math.round(textVisible01.bottom - textVisible01.top)).assertEqual(vp2px(200))
expect(Math.round(textVisible02.bottom - textVisible02.top)).assertEqual(vp2px(200))
expect(Math.round(textVisible03.bottom - textVisible03.top)).assertEqual(vp2px(200))
expect(Math.round(textVisible01.right - textVisible01.left)).assertEqual(vp2px(150))
expect(Math.round(textVisible02.right - textVisible02.left)).assertEqual(vp2px(150))
expect(Math.round(textVisible03.right - textVisible03.left)).assertEqual(vp2px(150))
expect(obj1.$attrs.constructor.direction).assertEqual('FlexDirection.Row')
expect(obj1.$attrs.constructor.alignItems).assertEqual('ItemAlign.Stretch')
} catch (err) {
console.error('[testFlexItemAlignBaselineSubSetVisibilityHidden] failed');
expect().assertFail();
}
console.info('new testFlexItemAlignStretchSubSetVisibilityHidden END');
done();
});
})
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册