From 57b3682aa359db5fcad941b2d90344495ea67e04 Mon Sep 17 00:00:00 2001 From: chenbaodi Date: Thu, 10 Oct 2024 14:06:28 +0800 Subject: [PATCH 01/45] add runhe ui_compare project Signed-off-by: chenbaodi --- function/ui_compare_rh/README.md | 136 + function/ui_compare_rh/figures/1.png | Bin 0 -> 7583 bytes function/ui_compare_rh/figures/10.png | Bin 0 -> 87167 bytes function/ui_compare_rh/figures/11.png | Bin 0 -> 41185 bytes function/ui_compare_rh/figures/12.png | Bin 0 -> 44068 bytes function/ui_compare_rh/figures/13.png | Bin 0 -> 3624 bytes function/ui_compare_rh/figures/14.png | Bin 0 -> 2639 bytes function/ui_compare_rh/figures/15.png | Bin 0 -> 8313 bytes function/ui_compare_rh/figures/16.png | Bin 0 -> 16899 bytes function/ui_compare_rh/figures/17.png | Bin 0 -> 11184 bytes function/ui_compare_rh/figures/18.png | Bin 0 -> 8681 bytes function/ui_compare_rh/figures/19.png | Bin 0 -> 5152 bytes function/ui_compare_rh/figures/2.png | Bin 0 -> 7845 bytes function/ui_compare_rh/figures/20.png | Bin 0 -> 1457 bytes function/ui_compare_rh/figures/21.png | Bin 0 -> 9855 bytes function/ui_compare_rh/figures/22.png | Bin 0 -> 2199 bytes function/ui_compare_rh/figures/23.png | Bin 0 -> 30524 bytes function/ui_compare_rh/figures/24.png | Bin 0 -> 64891 bytes function/ui_compare_rh/figures/25.png | Bin 0 -> 33919 bytes function/ui_compare_rh/figures/3.png | Bin 0 -> 37271 bytes function/ui_compare_rh/figures/4.png | Bin 0 -> 108152 bytes function/ui_compare_rh/figures/5.png | Bin 0 -> 27465 bytes function/ui_compare_rh/figures/6.png | Bin 0 -> 45065 bytes function/ui_compare_rh/figures/7.png | Bin 0 -> 47982 bytes function/ui_compare_rh/figures/8.png | Bin 0 -> 42941 bytes function/ui_compare_rh/figures/9.png | Bin 0 -> 20959 bytes function/ui_compare_rh/uicompare/.gitignore | 11 + .../uicompare/AppScope/app.json5 | 10 + .../resources/base/element/string.json | 8 + .../resources/base/media/app_icon.png | Bin 0 -> 6790 bytes .../uicompare/build-profile.json5 | 28 + .../ui_compare_rh/uicompare/entry/.gitignore | 6 + .../uicompare/entry/build-profile.json5 | 14 + .../uicompare/entry/hvigorfile.ts | 2 + .../uicompare/entry/oh-package.json5 | 10 + .../src/main/ets/entryability/EntryAbility.ts | 56 + .../entry/src/main/ets/pages/Index.ets | 32 + .../uicompare/entry/src/main/module.json5 | 37 + .../main/resources/base/element/color.json | 8 + .../main/resources/base/element/string.json | 16 + .../src/main/resources/base/media/icon.png | Bin 0 -> 6790 bytes .../resources/base/profile/main_pages.json | 5 + .../main/resources/en_US/element/string.json | 16 + .../main/resources/zh_CN/element/string.json | 16 + .../uicompare/entry/src/ohosTest/ets/2.png | Bin 0 -> 239194 bytes .../uicompare/entry/src/ohosTest/ets/cat.jpg | Bin 0 -> 239194 bytes .../src/ohosTest/ets/test/Ability.test.ets | 50 + ...tAttributeStringModifyingStyle001.test.ets | 137 + ...ributeStringModifyingStyleText001.test.ets | 121 + ...ntAttributeStringModifyingText001.test.ets | 201 + ...ComponentLayoutCommonPixelTest001.test.ets | 377 ++ .../ComponentLayoutModifierTest001.test.ets | 488 +++ ...nSidebarContainerAttributeTest001.test.ets | 73 + ...nSidebarContainerBlurStyleTest001.test.ets | 234 ++ ...tAttributeStringConstructsTest001.test.ets | 425 +++ ...mponentTextAttributeStringTest001.test.ets | 1001 +++++ ...CommonAffineTransformationTest001.test.ets | 319 ++ ...tTextCommonTextMinFontSizeTest001.test.ets | 153 + .../entry/src/ohosTest/ets/test/Demo.test.ets | 95 + .../entry/src/ohosTest/ets/test/List.test.ets | 158 + .../UIAttributeFontInterface001.test.ets | 52 + .../UIAttributeFontInterface002.test.ets | 3341 +++++++++++++++++ .../UIAttributeFontInterface003.test.ets | 2492 ++++++++++++ .../UIAttributeFontInterfaceColor.test.ets | 100 + ...IAttributeFontInterfaceFontFamily.test.ets | 100 + .../UIAttributeFontInterfaceSize.test.ets | 115 + .../UIAttributeFontInterfaceStyle.test.ets | 85 + .../UIAttributeFontInterfaceWeight.test.ets | 265 ++ .../UIAttributeFontSupportstage.test.ets | 191 + .../UIAttributePositionInterfaceTest.test.ets | 123 + ...UIAttributePositionSizeLayoutTest.test.ets | 123 + .../UIAttributePositionVisibility001.test.ets | 207 + ...IComponentCommonattrDrawingLayout.test.ets | 446 +++ .../UIComponentCreateColor.test.ets | 159 + ...mponentDividerBlankInterfaceColor.test.ets | 70 + ...ComponentDividerBlankInterfaceMin.test.ets | 190 + .../UIComponentDividerBlankLayout.test.ets | 408 ++ ...IComponentDividerDividerInterface.test.ets | 55 + .../UIComponentDividerDividerLayout.test.ets | 85 + .../UIComponentDividerStyle.test.ets | 145 + .../UIComponentLayoutColumnInterface.test.ets | 476 +++ .../UIComponentLayoutColumnLayout.test.ets | 625 +++ .../UIComponentLayoutFlexInterface.test.ets | 1057 ++++++ .../UIComponentLayoutModifier.test.ets | 1094 ++++++ .../UIComponentLayoutStack.test.ets | 479 +++ .../UIComponentLineheightDecoration.test.ets | 317 ++ ...ComponentScrollSwiperInterfaceMix.test.ets | 1120 ++++++ .../UIComponentSymbolColorrendering.test.ets | 118 + .../UIComponentSymbolDisplay.test.ets | 78 + .../UIComponentTextCapi.test.ets | 806 ++++ .../UIComponentTextCommonAffingTran.test.ets | 450 +++ .../UIComponentTextCommonLinespaceC.test.ets | 161 + .../UIComponentTextCommonLinespace.test.ets | 286 ++ .../UIComponentTextCommonLocation.test.ets | 752 ++++ ...IComponentTextCommonTextStyleSpan.test.ets | 433 +++ ...IComponentTextCommonTextStyleText.test.ets | 553 +++ ...ponentTextCommonTextStyleTextArea.test.ets | 432 +++ .../UiComponentTextCommonTextstyle.test.ets | 1508 ++++++++ ...UIComponentTextRefactorAdjustment.test.ets | 175 + .../UIComponentTextTextareEnhances.test.ets | 762 ++++ .../UIComponentTextTextinputAction.test.ets | 309 ++ ...UIComponentTextTextinputInterface.test.ets | 585 +++ ...ComponentTextTextinputPolymorphic.test.ets | 157 + ...IComponentTextinputUnderlinecolor.test.ets | 375 ++ .../UIFontFeatureTest/UIFontFeature.test.ets | 585 +++ .../test/UITestCaseTest/UITestCase.test.ets | 588 +++ .../UiComponentDividerStyle.test.ets | 503 +++ .../UiComponentLayoutCommonPixel.test.ets | 537 +++ .../UiComponentNavModifier.test.ets | 55 + ...owcolumnSidebarcontainerInterface.test.ets | 578 +++ .../UiComponentSpanBaselineoffset.test.ets | 268 ++ .../UiComponentSymbolSymbol.test.ets | 72 + ...entTextCommonAffineTransformation.test.ets | 955 +++++ .../UiComponentTextModifier.test.ets | 2152 +++++++++++ .../UiComponentTextTextareaInterface.test.ets | 793 ++++ .../UiComponentWordbreak.test.ets | 748 ++++ .../UiTextBrightenTest001.test.ets | 1833 +++++++++ .../UiTextShadowTest001.test.ets | 393 ++ .../src/ohosTest/ets/test/model/Logger.ts | 44 + .../src/ohosTest/ets/test/model/Settings.ets | 226 ++ .../src/ohosTest/ets/test/model/Utils.ets | 47 + .../ohosTest/ets/test/model/globalThis.ets | 49 + .../src/ohosTest/ets/test/model/snapShot.ets | 164 + .../ohosTest/ets/testability/TestAbility.ets | 97 + ...ponentAttributeStringModifyingStyle001.ets | 50 + ...ponentAttributeStringModifyingStyle002.ets | 71 + ...ponentAttributeStringModifyingStyle003.ets | 48 + ...ponentAttributeStringModifyingStyle004.ets | 45 + ...ponentAttributeStringModifyingStyle005.ets | 57 + ...ponentAttributeStringModifyingStyle006.ets | 66 + ...ntAttributeStringModifyingStyleText001.ets | 49 + ...ntAttributeStringModifyingStyleText002.ets | 68 + ...ntAttributeStringModifyingStyleText003.ets | 50 + ...ntAttributeStringModifyingStyleText004.ets | 53 + ...ntAttributeStringModifyingStyleText005.ets | 64 + ...mponentAttributeStringModifyingText001.ets | 43 + ...mponentAttributeStringModifyingText002.ets | 46 + ...mponentAttributeStringModifyingText003.ets | 55 + ...mponentAttributeStringModifyingText004.ets | 46 + ...mponentAttributeStringModifyingText005.ets | 52 + ...mponentAttributeStringModifyingText006.ets | 47 + ...mponentAttributeStringModifyingText007.ets | 55 + ...mponentAttributeStringModifyingText008.ets | 46 + ...mponentAttributeStringModifyingText009.ets | 55 + ...mponentAttributeStringModifyingText010.ets | 52 + .../ComponentLayoutCommonPixel001.ets | 38 + .../ComponentLayoutCommonPixel002.ets | 38 + .../ComponentLayoutCommonPixel003.ets | 39 + .../ComponentLayoutCommonPixel004.ets | 39 + .../ComponentLayoutCommonPixel005.ets | 40 + .../ComponentLayoutCommonPixel006.ets | 39 + .../ComponentLayoutCommonPixel007.ets | 39 + .../ComponentLayoutCommonPixel008.ets | 39 + .../ComponentLayoutCommonPixel009.ets | 41 + .../ComponentLayoutCommonPixel010.ets | 41 + .../ComponentLayoutCommonPixel011.ets | 41 + .../ComponentLayoutCommonPixel012.ets | 41 + .../ComponentLayoutCommonPixel013.ets | 43 + .../ComponentLayoutCommonPixel014.ets | 46 + .../ComponentLayoutCommonPixel015.ets | 46 + .../ComponentLayoutCommonPixel016.ets | 46 + .../ComponentLayoutCommonPixel017.ets | 52 + .../ComponentLayoutCommonPixel018.ets | 52 + .../ComponentLayoutCommonPixel019.ets | 52 + .../ComponentLayoutCommonPixel020.ets | 51 + .../ComponentLayoutCommonPixel021.ets | 33 + .../ComponentLayoutModifier001.ets | 117 + .../ComponentLayoutModifier002.ets | 114 + .../ComponentLayoutModifier003.ets | 114 + .../ComponentLayoutModifier004.ets | 114 + .../ComponentLayoutModifier005.ets | 114 + .../ComponentLayoutModifier006.ets | 114 + .../ComponentLayoutModifier007.ets | 114 + .../ComponentLayoutModifier008.ets | 129 + .../ComponentLayoutModifier009.ets | 128 + .../ComponentLayoutModifier010.ets | 132 + .../ComponentLayoutModifier011.ets | 207 + .../ComponentLayoutModifier012.ets | 117 + .../ComponentLayoutModifier013.ets | 76 + .../ComponentLayoutModifier014.ets | 75 + .../ComponentLayoutModifier015.ets | 75 + ...tRowColumnSidebarContainerAttribute001.ets | 52 + ...tRowColumnSidebarContainerAttribute002.ets | 52 + ...tRowColumnSidebarContainerBlurStyle001.ets | 118 + ...tRowColumnSidebarContainerBlurStyle002.ets | 49 + ...tRowColumnSidebarContainerBlurStyle003.ets | 124 + ...tRowColumnSidebarContainerBlurStyle004.ets | 55 + ...tRowColumnSidebarContainerBlurStyle005.ets | 118 + ...tRowColumnSidebarContainerBlurStyle006.ets | 49 + ...tRowColumnSidebarContainerBlurStyle007.ets | 124 + ...tRowColumnSidebarContainerBlurStyle008.ets | 57 + .../ComponentTextAttributeString001.ets | 42 + .../ComponentTextAttributeString002.ets | 42 + .../ComponentTextAttributeString003.ets | 42 + .../ComponentTextAttributeString004.ets | 42 + .../ComponentTextAttributeString005.ets | 42 + .../ComponentTextAttributeString006.ets | 41 + .../ComponentTextAttributeString007.ets | 41 + .../ComponentTextAttributeString008.ets | 41 + .../ComponentTextAttributeString009.ets | 41 + .../ComponentTextAttributeString010.ets | 41 + .../ComponentTextAttributeString011.ets | 41 + .../ComponentTextAttributeString012.ets | 41 + .../ComponentTextAttributeString013.ets | 41 + .../ComponentTextAttributeString014.ets | 41 + .../ComponentTextAttributeString015.ets | 59 + .../ComponentTextAttributeString016.ets | 41 + .../ComponentTextAttributeString017.ets | 40 + .../ComponentTextAttributeString018.ets | 41 + .../ComponentTextAttributeString019.ets | 41 + .../ComponentTextAttributeString020.ets | 41 + .../ComponentTextAttributeString021.ets | 41 + .../ComponentTextAttributeString022.ets | 41 + .../ComponentTextAttributeString023.ets | 41 + .../ComponentTextAttributeString024.ets | 41 + .../ComponentTextAttributeString025.ets | 41 + .../ComponentTextAttributeString026.ets | 42 + .../ComponentTextAttributeString027.ets | 42 + .../ComponentTextAttributeString028.ets | 42 + .../ComponentTextAttributeString029.ets | 42 + .../ComponentTextAttributeString030.ets | 42 + .../ComponentTextAttributeString031.ets | 42 + .../ComponentTextAttributeString032.ets | 42 + .../ComponentTextAttributeString033.ets | 42 + .../ComponentTextAttributeString034.ets | 42 + .../ComponentTextAttributeString035.ets | 42 + .../ComponentTextAttributeString036.ets | 42 + .../ComponentTextAttributeString037.ets | 42 + .../ComponentTextAttributeString038.ets | 42 + .../ComponentTextAttributeString039.ets | 42 + .../ComponentTextAttributeString040.ets | 42 + .../ComponentTextAttributeString041.ets | 42 + .../ComponentTextAttributeString042.ets | 42 + .../ComponentTextAttributeString043.ets | 42 + .../ComponentTextAttributeString044.ets | 44 + .../ComponentTextAttributeString045.ets | 52 + .../ComponentTextAttributeString046.ets | 53 + .../ComponentTextAttributeString047.ets | 53 + .../ComponentTextAttributeString048.ets | 53 + .../ComponentTextAttributeString049.ets | 98 + .../ComponentTextAttributeString050.ets | 98 + .../ComponentTextAttributeString051.ets | 52 + .../ComponentTextAttributeString052.ets | 52 + .../ComponentTextAttributeString053.ets | 52 + .../ComponentTextAttributeString054.ets | 58 + .../ComponentTextAttributeString055.ets | 57 + .../ComponentTextAttributeString056.ets | 58 + .../ComponentTextAttributeString057.ets | 56 + .../ComponentTextAttributeString058.ets | 50 + .../ComponentTextAttributeString059.ets | 51 + .../ComponentTextAttributeString060.ets | 51 + ...ponentTextAttributeStringConstructs001.ets | 40 + ...ponentTextAttributeStringConstructs002.ets | 40 + ...ponentTextAttributeStringConstructs003.ets | 41 + ...ponentTextAttributeStringConstructs004.ets | 41 + ...ponentTextAttributeStringConstructs005.ets | 40 + ...ponentTextAttributeStringConstructs006.ets | 39 + ...ponentTextAttributeStringConstructs007.ets | 40 + ...ponentTextAttributeStringConstructs008.ets | 38 + ...ponentTextAttributeStringConstructs009.ets | 40 + ...ponentTextAttributeStringConstructs010.ets | 39 + ...ponentTextAttributeStringConstructs011.ets | 39 + ...ponentTextAttributeStringConstructs012.ets | 40 + ...ponentTextAttributeStringConstructs013.ets | 40 + ...ponentTextAttributeStringConstructs014.ets | 42 + ...ponentTextAttributeStringConstructs015.ets | 49 + ...ponentTextAttributeStringConstructs016.ets | 42 + ...ponentTextAttributeStringConstructs017.ets | 42 + ...ponentTextAttributeStringConstructs018.ets | 42 + ...ponentTextAttributeStringConstructs019.ets | 42 + ...ponentTextAttributeStringConstructs020.ets | 41 + ...ponentTextAttributeStringConstructs021.ets | 46 + ...ponentTextAttributeStringConstructs022.ets | 49 + ...ponentTextAttributeStringConstructs023.ets | 40 + ...ponentTextAttributeStringConstructs024.ets | 49 + ...ponentTextAttributeStringConstructs025.ets | 48 + ...ponentTextAttributeStringConstructs026.ets | 40 + ...ponentTextAttributeStringConstructs027.ets | 49 + ...ponentTextAttributeStringConstructs028.ets | 75 + ...ponentTextAttributeStringConstructs029.ets | 52 + ...onentTextCommonAffineTransformation001.ets | 69 + ...onentTextCommonAffineTransformation002.ets | 68 + ...onentTextCommonAffineTransformation003.ets | 68 + ...onentTextCommonAffineTransformation004.ets | 68 + ...onentTextCommonAffineTransformation005.ets | 65 + ...onentTextCommonAffineTransformation006.ets | 65 + ...onentTextCommonAffineTransformation007.ets | 91 + ...onentTextCommonAffineTransformation008.ets | 91 + ...onentTextCommonAffineTransformation009.ets | 62 + ...onentTextCommonAffineTransformation010.ets | 62 + ...onentTextCommonAffineTransformation011.ets | 62 + ...onentTextCommonAffineTransformation012.ets | 62 + .../ComponentTextCommonTextMinFontSize001.ets | 60 + .../ComponentTextCommonTextMinFontSize002.ets | 89 + .../ComponentTextCommonTextMinFontSize003.ets | 100 + .../ComponentTextCommonTextMinFontSize004.ets | 100 + .../ComponentTextCommonTextMinFontSize005.ets | 89 + .../ComponentTextCommonTextMinFontSize006.ets | 100 + .../ComponentTextCommonTextMinFontSize007.ets | 100 + .../ohosTest/ets/testability/pages/Index.ets | 51 + .../UIAttributeFontInterface001.ets | 35 + .../UIAttributeFontInterface002.ets | 35 + .../UIAttributeFontInterface003.ets | 35 + .../UIAttributeFontInterface004.ets | 35 + .../UIAttributeFontInterface007.ets | 29 + .../UIAttributeFontInterface008.ets | 29 + .../UIAttributeFontInterface009.ets | 34 + .../UIAttributeFontInterface010.ets | 32 + .../UIAttributeFontInterface011.ets | 32 + .../UIAttributeFontInterface012.ets | 32 + .../UIAttributeFontInterface013.ets | 32 + .../UIAttributeFontInterface014.ets | 33 + .../UIAttributeFontInterface015.ets | 32 + .../UIAttributeFontInterface016.ets | 32 + .../UIAttributeFontInterface017.ets | 36 + .../UIAttributeFontInterface018.ets | 32 + .../UIAttributeFontInterface019.ets | 36 + .../UIAttributeFontInterface020.ets | 32 + .../UIAttributeFontInterface021.ets | 32 + .../UIAttributeFontInterface022.ets | 32 + .../UIAttributeFontInterface023.ets | 32 + .../UIAttributeFontInterface024.ets | 32 + .../UIAttributeFontInterface025.ets | 32 + .../UIAttributeFontInterface026.ets | 32 + .../UIAttributeFontInterface027.ets | 32 + .../UIAttributeFontInterface028.ets | 32 + .../UIAttributeFontInterface029.ets | 32 + .../UIAttributeFontInterface030.ets | 32 + .../UIAttributeFontInterface031.ets | 31 + .../UIAttributeFontInterface050.ets | 29 + .../UIAttributeFontInterface060.ets | 46 + .../fontAttributePage01.ets | 46 + .../fontAttributePage03.ets | 46 + .../fontAttributePage04.ets | 46 + .../fontAttributePage05.ets | 46 + .../fontAttributePage06.ets | 44 + .../fontAttributePage07.ets | 46 + .../fontAttributePage08.ets | 46 + .../fontAttributePage09.ets | 47 + .../fontAttributePage10.ets | 47 + .../fontAttributePage100.ets | 33 + .../fontAttributePage101.ets | 32 + .../fontAttributePage102.ets | 32 + .../fontAttributePage103.ets | 32 + .../fontAttributePage104.ets | 32 + .../fontAttributePage105.ets | 32 + .../fontAttributePage106.ets | 32 + .../fontAttributePage107.ets | 32 + .../fontAttributePage108.ets | 32 + .../fontAttributePage109.ets | 32 + .../fontAttributePage11.ets | 47 + .../fontAttributePage110.ets | 32 + .../fontAttributePage111.ets | 32 + .../fontAttributePage112.ets | 33 + .../fontAttributePage113.ets | 39 + .../fontAttributePage114.ets | 47 + .../fontAttributePage115.ets | 33 + .../fontAttributePage116.ets | 33 + .../fontAttributePage117.ets | 37 + .../fontAttributePage118.ets | 37 + .../fontAttributePage119.ets | 55 + .../fontAttributePage12.ets | 47 + .../fontAttributePage120.ets | 39 + .../fontAttributePage121.ets | 38 + .../fontAttributePage122.ets | 38 + .../fontAttributePage123.ets | 38 + .../fontAttributePage124.ets | 52 + .../fontAttributePage125.ets | 40 + .../fontAttributePage126.ets | 60 + .../fontAttributePage127.ets | 62 + .../fontAttributePage128.ets | 62 + .../fontAttributePage129.ets | 62 + .../fontAttributePage13.ets | 47 + .../fontAttributePage130.ets | 62 + .../fontAttributePage131.ets | 62 + .../fontAttributePage132.ets | 62 + .../fontAttributePage133.ets | 62 + .../fontAttributePage134.ets | 62 + .../fontAttributePage135.ets | 62 + .../fontAttributePage136.ets | 62 + .../fontAttributePage137.ets | 62 + .../fontAttributePage138.ets | 62 + .../fontAttributePage139.ets | 62 + .../fontAttributePage14.ets | 62 + .../fontAttributePage140.ets | 62 + .../fontAttributePage141.ets | 62 + .../fontAttributePage142.ets | 62 + .../fontAttributePage143.ets | 61 + .../fontAttributePage144.ets | 61 + .../fontAttributePage145.ets | 62 + .../fontAttributePage146.ets | 62 + .../fontAttributePage147.ets | 62 + .../fontAttributePage148.ets | 64 + .../fontAttributePage149.ets | 62 + .../fontAttributePage15.ets | 47 + .../fontAttributePage150.ets | 62 + .../fontAttributePage151.ets | 62 + .../fontAttributePage152.ets | 64 + .../fontAttributePage153.ets | 62 + .../fontAttributePage154.ets | 64 + .../fontAttributePage155.ets | 62 + .../fontAttributePage156.ets | 62 + .../fontAttributePage157.ets | 62 + .../fontAttributePage158.ets | 64 + .../fontAttributePage159.ets | 62 + .../fontAttributePage16.ets | 47 + .../fontAttributePage160.ets | 62 + .../fontAttributePage161.ets | 62 + .../fontAttributePage162.ets | 64 + .../fontAttributePage163.ets | 62 + .../fontAttributePage164.ets | 64 + .../fontAttributePage165.ets | 62 + .../fontAttributePage166.ets | 62 + .../fontAttributePage167.ets | 62 + .../fontAttributePage168.ets | 64 + .../fontAttributePage169.ets | 62 + .../fontAttributePage17.ets | 47 + .../fontAttributePage170.ets | 62 + .../fontAttributePage171.ets | 62 + .../fontAttributePage172.ets | 64 + .../fontAttributePage173.ets | 62 + .../fontAttributePage174.ets | 64 + .../fontAttributePage175.ets | 63 + .../fontAttributePage176.ets | 63 + .../fontAttributePage177.ets | 74 + .../fontAttributePage178.ets | 74 + .../fontAttributePage179.ets | 48 + .../fontAttributePage18.ets | 47 + .../fontAttributePage180.ets | 53 + .../fontAttributePage181.ets | 52 + .../fontAttributePage182.ets | 64 + .../fontAttributePage183.ets | 58 + .../fontAttributePage184.ets | 55 + .../fontAttributePage185.ets | 103 + .../fontAttributePage186.ets | 110 + .../fontAttributePage19.ets | 47 + .../fontAttributePage20.ets | 47 + .../fontAttributePage21.ets | 47 + .../fontAttributePage22.ets | 47 + .../fontAttributePage23.ets | 47 + .../fontAttributePage24.ets | 47 + .../fontAttributePage25.ets | 47 + .../fontAttributePage26.ets | 47 + .../fontAttributePage27.ets | 47 + .../fontAttributePage28.ets | 47 + .../fontAttributePage29.ets | 47 + .../fontAttributePage30.ets | 47 + .../fontAttributePage33.ets | 29 + .../fontAttributePage34.ets | 30 + .../fontAttributePage35.ets | 30 + .../fontAttributePage36.ets | 29 + .../fontAttributePage41.ets | 40 + .../fontAttributePage42.ets | 40 + .../fontAttributePage43.ets | 40 + .../fontAttributePage44.ets | 36 + .../fontAttributePage45.ets | 39 + .../fontAttributePage46.ets | 32 + .../fontAttributePage47.ets | 32 + .../fontAttributePage48.ets | 32 + .../fontAttributePage49.ets | 32 + .../fontAttributePage50.ets | 32 + .../fontAttributePage51.ets | 45 + .../fontAttributePage52.ets | 33 + .../fontAttributePage53.ets | 33 + .../fontAttributePage54.ets | 31 + .../fontAttributePage55.ets | 31 + .../fontAttributePage56.ets | 31 + .../fontAttributePage57.ets | 31 + .../fontAttributePage58.ets | 31 + .../fontAttributePage59.ets | 30 + .../fontAttributePage60.ets | 30 + .../fontAttributePage61.ets | 33 + .../fontAttributePage62.ets | 41 + .../fontAttributePage63.ets | 32 + .../fontAttributePage64.ets | 32 + .../fontAttributePage65.ets | 41 + .../fontAttributePage66.ets | 38 + .../fontAttributePage67.ets | 38 + .../fontAttributePage68.ets | 32 + .../fontAttributePage69.ets | 32 + .../fontAttributePage70.ets | 42 + .../fontAttributePage71.ets | 34 + .../fontAttributePage72.ets | 34 + .../fontAttributePage73.ets | 32 + .../fontAttributePage74.ets | 32 + .../fontAttributePage75.ets | 42 + .../fontAttributePage76.ets | 42 + .../fontAttributePage77.ets | 42 + .../fontAttributePage78.ets | 34 + .../fontAttributePage79.ets | 55 + .../fontAttributePage80.ets | 37 + .../fontAttributePage81.ets | 32 + .../fontAttributePage82.ets | 44 + .../fontAttributePage83.ets | 46 + .../fontAttributePage84.ets | 39 + .../fontAttributePage85.ets | 39 + .../fontAttributePage86.ets | 39 + .../fontAttributePage87.ets | 39 + .../fontAttributePage88.ets | 39 + .../fontAttributePage89.ets | 39 + .../fontAttributePage90.ets | 39 + .../fontAttributePage91.ets | 39 + .../fontAttributePage92.ets | 39 + .../fontAttributePage93.ets | 39 + .../fontAttributePage94.ets | 33 + .../fontAttributePage95.ets | 46 + .../fontAttributePage96.ets | 34 + .../fontAttributePage97.ets | 30 + .../fontAttributePage98.ets | 35 + .../fontAttributePage99.ets | 32 + .../fontAttributeAndStyle01.ets | 82 + .../fontAttributeAndStyle02.ets | 50 + .../fontAttributeAndStyle03.ets | 93 + .../fontAttributeAndStyle04.ets | 43 + .../fontAttributeAndStyle05.ets | 54 + .../fontAttributeAndStyle06.ets | 84 + .../fontAttributeAndStyle07.ets | 77 + .../fontAttributeAndStyle08.ets | 87 + .../fontAttributeAndStyle09.ets | 87 + .../fontAttributeAndStyle10.ets | 67 + .../fontAttributeAndStyle11.ets | 56 + .../fontAttributeAndStyle12.ets | 88 + .../fontAttributeAndStyle13.ets | 55 + .../fontAttributeAndStyle14.ets | 84 + .../fontAttributeAndStyle15.ets | 84 + .../fontAttributeAndStyle16.ets | 78 + .../fontAttributeAndStyle17.ets | 56 + .../fontAttributeAndStyle18.ets | 88 + .../fontAttributeAndStyle19.ets | 65 + .../fontAttributeAndStyle20.ets | 37 + .../fontAttributeAndStyle21.ets | 60 + .../fontAttributeAndStyle23.ets | 56 + .../fontAttributeAndStyle24.ets | 88 + .../fontAttributeAndStyle25.ets | 87 + .../fontAttributeAndStyle26.ets | 87 + .../fontAttributeAndStyle27.ets | 88 + .../fontAttributeAndStyle28.ets | 115 + .../fontAttributeAndStyle29.ets | 81 + .../fontAttributeAndStyle30.ets | 49 + .../fontAttributeAndStyle31.ets | 92 + .../fontAttributeAndStyle32.ets | 53 + .../fontAttributeAndStyle33.ets | 86 + .../fontAttributeAndStyle34.ets | 84 + .../fontAttributeAndStyle35.ets | 86 + .../fontAttributeAndStyle36.ets | 85 + .../fontAttributeAndStyle37.ets | 62 + .../fontAttributeAndStyle38.ets | 103 + .../fontAttributeAndStyle39.ets | 57 + .../fontAttributeAndStyle40.ets | 85 + .../fontAttributeAndStyle41.ets | 55 + .../fontAttributeAndStyle42.ets | 93 + .../fontAttributeAndStyle43.ets | 87 + .../fontAttributeAndStyle44.ets | 85 + .../fontAttributeAndStyle45.ets | 55 + .../fontAttributeAndStyle46.ets | 93 + .../fontAttributeAndStyle47.ets | 74 + .../fontAttributeAndStyle48.ets | 46 + .../fontAttributeAndStyle49.ets | 69 + .../fontAttributeAndStyle50.ets | 98 + .../fontAttributeAndStyle51.ets | 100 + .../fontAttributeAndStyle52.ets | 60 + .../fontAttributeAndStyle53.ets | 93 + .../fontAttributeAndStyle54.ets | 93 + .../fontAttributeAndStyle55.ets | 72 + .../fontAttributeAndStyle56.ets | 72 + .../fontAttributeAndStyle57.ets | 94 + .../fontAttributeAndStyle58.ets | 59 + .../fontAttributeAndStyle59.ets | 101 + .../fontAttributeAndStyle60.ets | 94 + .../fontAttributeAndStyle61.ets | 71 + .../fontAttributeAndStyle62.ets | 81 + .../fontAttributeAndStyle63.ets | 36 + .../fontAttributeAndStyle64.ets | 36 + .../fontAttributeAndStyle65.ets | 58 + .../fontAttributeAndStyle66.ets | 79 + .../fontAttributeAndStyle67.ets | 93 + .../fontAttributeAndStyle68.ets | 67 + .../fontAttributeAndStyle69.ets | 53 + .../fontAttributeAndStyle70.ets | 82 + .../fontAttributeAndStyle71.ets | 52 + .../fontAttributeAndStyle72.ets | 82 + .../fontAttributeAndStyle73.ets | 97 + .../fontAttributeAndStyle74.ets | 69 + .../fontAttributeAndStyle75.ets | 72 + .../fontAttributeAndStyle76.ets | 72 + .../fontAttributeAndStyle77.ets | 71 + .../fontAttributeAndStyle78.ets | 58 + .../fontAttributeAndStyle79.ets | 71 + .../fontAttributeAndStyle80.ets | 74 + .../fontAttributeAndStyle81.ets | 72 + .../fontAttributeAndStyle82.ets | 73 + .../fontAttributeAndStyle83.ets | 81 + .../fontAttributeAndStyle84.ets | 75 + .../fontAttributeAndStyle85.ets | 75 + .../fontAttributeAndStyle86.ets | 60 + .../fontAttributeAndStyle_01.ets | 51 + .../UIAttributeFontSupportstage001.ets | 54 + .../UIAttributeFontSupportstage002.ets | 54 + .../UIAttributeFontSupportstage003.ets | 54 + .../UIAttributeFontSupportstage004.ets | 66 + .../UIAttributeFontSupportstage005.ets | 54 + .../UIAttributeFontSupportstage006.ets | 54 + .../UIAttributeFontSupportstage007.ets | 58 + .../UIAttributeFontSupportstage008.ets | 62 + .../UIAttributeFontSupportstage009.ets | 75 + .../UIAttributeFontSupportstage010.ets | 50 + .../UIAttributePositionInterface001.ets | 41 + .../UIAttributePositionInterface002.ets | 41 + .../UIAttributePositionInterface003.ets | 41 + .../UIAttributePositionInterface004.ets | 41 + .../UIAttributePositionInterface005.ets | 41 + .../UIAttributePositionInterface006.ets | 41 + .../UIAttributePositionSizeLayout001.ets | 30 + .../UIAttributePositionSizeLayout002.ets | 34 + .../UIAttributePositionSizeLayout003.ets | 37 + .../UIAttributePositionSizeLayout004.ets | 36 + .../UIAttributePositionSizeLayout005.ets | 38 + .../UIAttributePositionSizeLayout006.ets | 38 + .../UIAttributePositionVisibility001.ets | 29 + .../UIAttributePositionVisibility002.ets | 29 + .../UIAttributePositionVisibility003.ets | 27 + .../UIAttributePositionVisibility004.ets | 27 + .../UIAttributePositionVisibility005.ets | 45 + .../UIAttributePositionVisibility006.ets | 45 + .../UIAttributePositionVisibility007.ets | 45 + .../UIAttributePositionVisibility008.ets | 44 + .../UIAttributePositionVisibility009.ets | 37 + .../UIAttributePositionVisibility0100.ets | 37 + .../UIAttributePositionVisibility0110.ets | 37 + .../UIAttributePositionVisibility0120.ets | 36 + .../UIComponentCommonattrDrawingLayout001.ets | 46 + .../UIComponentCommonattrDrawingLayout002.ets | 46 + .../UIComponentCommonattrDrawingLayout003.ets | 46 + .../UIComponentCommonattrDrawingLayout004.ets | 46 + .../UIComponentCommonattrDrawingLayout005.ets | 47 + .../UIComponentCommonattrDrawingLayout006.ets | 47 + .../UIComponentCommonattrDrawingLayout007.ets | 46 + .../UIComponentCommonattrDrawingLayout008.ets | 46 + .../UIComponentCommonattrDrawingLayout009.ets | 44 + .../UIComponentCommonattrDrawingLayout010.ets | 45 + .../UIComponentCommonattrDrawingLayout011.ets | 46 + .../UIComponentCommonattrDrawingLayout012.ets | 46 + .../UIComponentCommonattrDrawingLayout013.ets | 44 + .../UIComponentCommonattrDrawingLayout014.ets | 44 + .../UIComponentCommonattrDrawingLayout015.ets | 42 + .../UIComponentCommonattrDrawingLayout016.ets | 42 + .../UIComponentCommonattrDrawingLayout017.ets | 42 + .../UIComponentCommonattrDrawingLayout018.ets | 42 + .../UIComponentCommonattrDrawingLayout019.ets | 42 + .../UIComponentCommonattrDrawingLayout020.ets | 42 + .../UIComponentCommonattrDrawingLayout021.ets | 46 + .../UIComponentCommonattrDrawingLayout022.ets | 41 + .../UIComponentCommonattrDrawingLayout023.ets | 41 + .../UIComponentCommonattrDrawingLayout024.ets | 43 + .../UIComponentCommonattrDrawingLayout025.ets | 41 + .../UIComponentCommonattrDrawingLayout026.ets | 41 + .../UIComponentCommonattrDrawingLayout027.ets | 43 + .../UIComponentCreateColor005.ets | 68 + .../UIComponentCreateColor010.ets | 68 + .../UIComponentCreateColor014.ets | 71 + .../UIComponentDividerBlankInterface009.ets | 28 + .../UIComponentDividerBlankInterface010.ets | 30 + .../UIComponentDividerBlankInterface012.ets | 30 + .../UIComponentDividerBlankInterface013.ets | 30 + .../UIComponentDividerBlankInterface014.ets | 30 + .../UIComponentDividerBlankInterface015.ets | 30 + .../UIComponentDividerBlankInterface016.ets | 30 + .../UIComponentDividerBlankInterface017.ets | 30 + .../UIComponentDividerBlankInterface018.ets | 26 + .../UIComponentDividerBlankInterface019.ets | 30 + .../UIComponentDividerBlankInterface020.ets | 29 + .../UIComponentDividerBlankInterface022.ets | 30 + .../UIComponentDividerBlankLayout001.ets | 36 + .../UIComponentDividerBlankLayout002.ets | 36 + .../UIComponentDividerBlankLayout003.ets | 38 + .../UIComponentDividerBlankLayout004.ets | 38 + .../UIComponentDividerBlankLayout005.ets | 38 + .../UIComponentDividerBlankLayout006.ets | 38 + .../UIComponentDividerBlankLayout007.ets | 38 + .../UIComponentDividerBlankLayout008.ets | 38 + .../UIComponentDividerBlankLayout009.ets | 30 + .../UIComponentDividerBlankLayout010.ets | 33 + .../UIComponentDividerBlankLayout011.ets | 33 + .../UIComponentDividerBlankLayout012.ets | 34 + .../UIComponentDividerBlankLayout013.ets | 34 + .../UIComponentDividerBlankLayout014.ets | 34 + .../UIComponentDividerBlankLayout015.ets | 34 + .../UIComponentDividerBlankLayout016.ets | 34 + .../UIComponentDividerBlankLayout017.ets | 32 + .../UIComponentDividerBlankLayout018.ets | 38 + .../UIComponentDividerBlankLayout019.ets | 38 + .../UIComponentDividerBlankLayout020.ets | 38 + .../UIComponentDividerBlankLayout021.ets | 38 + .../UIComponentDividerBlankLayout022.ets | 38 + .../UIComponentDividerBlankLayout023.ets | 38 + .../UIComponentDividerDividerInterface007.ets | 32 + .../UIComponentDividerDividerLayout001.ets | 30 + .../UIComponentDividerDividerLayout002.ets | 30 + .../UIComponentDividerDividerLayout003.ets | 30 + .../UIComponentDividerStyle029.ets | 33 + .../UIComponentDividerStyle030.ets | 33 + .../UIComponentDividerStyle031.ets | 33 + .../UIComponentDividerStyle032.ets | 33 + .../UIComponentDividerStyle033.ets | 33 + .../UIComponentDividerStyle034.ets | 33 + .../UIComponentDividerStyle035.ets | 34 + .../UiComponentDividerStyle001.ets | 40 + .../UiComponentDividerStyle002.ets | 82 + .../UiComponentDividerStyle003.ets | 83 + .../UiComponentDividerStyle004.ets | 53 + .../UiComponentDividerStyle005.ets | 34 + .../UiComponentDividerStyle006.ets | 33 + .../UiComponentDividerStyle007.ets | 33 + .../UiComponentDividerStyle008.ets | 33 + .../UiComponentDividerStyle009.ets | 33 + .../UiComponentDividerStyle010.ets | 33 + .../UiComponentDividerStyle011.ets | 33 + .../UiComponentDividerStyle012.ets | 33 + .../UiComponentDividerStyle013.ets | 33 + .../UiComponentDividerStyle014.ets | 34 + .../UiComponentDividerStyle015.ets | 33 + .../UiComponentDividerStyle016.ets | 33 + .../UiComponentDividerStyle017.ets | 33 + .../UiComponentDividerStyle018.ets | 33 + .../UiComponentDividerStyle019.ets | 33 + .../UiComponentDividerStyle020.ets | 33 + .../UiComponentDividerStyle021.ets | 33 + .../UiComponentDividerStyle022.ets | 33 + .../UiComponentDividerStyle023.ets | 33 + .../UiComponentDividerStyle024.ets | 33 + .../UiComponentDividerStyle025.ets | 33 + .../UiComponentDividerStyle026.ets | 33 + .../UiComponentDividerStyle027.ets | 34 + .../UiComponentDividerStyle028.ets | 34 + .../UIComponentLayoutColumnInterface003.ets | 49 + .../UIComponentLayoutColumnInterface004.ets | 49 + .../UIComponentLayoutColumnInterface005.ets | 49 + .../UIComponentLayoutColumnInterface006.ets | 49 + .../UIComponentLayoutColumnInterface007.ets | 49 + .../UIComponentLayoutColumnInterface008.ets | 49 + .../UIComponentLayoutColumnInterface009.ets | 49 + .../UIComponentLayoutColumnInterface010.ets | 49 + .../UIComponentLayoutColumnInterface011.ets | 49 + .../UIComponentLayoutColumnInterface012.ets | 48 + .../UIComponentLayoutColumnInterface013.ets | 48 + .../UIComponentLayoutColumnInterface014.ets | 49 + .../UIComponentLayoutColumnInterface015.ets | 49 + .../UIComponentLayoutColumnInterface016.ets | 49 + .../UIComponentLayoutColumnInterface017.ets | 49 + .../UIComponentLayoutColumnInterface018.ets | 49 + .../UIComponentLayoutColumnInterface019.ets | 49 + .../UIComponentLayoutColumnInterface020.ets | 49 + .../UIComponentLayoutColumnInterface021.ets | 49 + .../UIComponentLayoutColumnInterface022.ets | 49 + .../UIComponentLayoutColumnInterface023.ets | 49 + .../UIComponentLayoutColumnInterface024.ets | 49 + .../UIComponentLayoutColumnInterface025.ets | 49 + .../UIComponentLayoutColumnInterface026.ets | 49 + .../UIComponentLayoutColumnInterface027.ets | 49 + .../UIComponentLayoutColumnInterface028.ets | 49 + .../UIComponentLayoutColumnInterface029.ets | 49 + .../UIComponentLayoutColumnInterface030.ets | 49 + .../UIComponentLayoutColumnInterface031.ets | 49 + .../UIComponentLayoutColumnLayout001.ets | 53 + .../UIComponentLayoutColumnLayout002.ets | 53 + .../UIComponentLayoutColumnLayout003.ets | 51 + .../UIComponentLayoutColumnLayout004.ets | 51 + .../UIComponentLayoutColumnLayout005.ets | 51 + .../UIComponentLayoutColumnLayout006.ets | 55 + .../UIComponentLayoutColumnLayout007.ets | 52 + .../UIComponentLayoutColumnLayout008.ets | 52 + .../UIComponentLayoutColumnLayout009.ets | 50 + .../UIComponentLayoutColumnLayout010.ets | 50 + .../UIComponentLayoutColumnLayout011.ets | 50 + .../UIComponentLayoutColumnLayout012.ets | 50 + .../UIComponentLayoutColumnLayout013.ets | 50 + .../UIComponentLayoutColumnLayout014.ets | 50 + .../UIComponentLayoutColumnLayout015.ets | 50 + .../UIComponentLayoutColumnLayout016.ets | 50 + .../UIComponentLayoutColumnLayout017.ets | 49 + .../UIComponentLayoutColumnLayout018.ets | 53 + .../UIComponentLayoutColumnLayout019.ets | 53 + .../UIComponentLayoutColumnLayout020.ets | 54 + .../UIComponentLayoutColumnLayout021.ets | 53 + .../UIComponentLayoutColumnLayout022.ets | 44 + .../UIComponentLayoutColumnLayout023.ets | 45 + .../UIComponentLayoutColumnLayout024.ets | 54 + .../UIComponentLayoutColumnLayout025.ets | 55 + .../UIComponentLayoutColumnLayout026.ets | 55 + .../UIComponentLayoutColumnLayout027.ets | 55 + .../UIComponentLayoutColumnLayout028.ets | 53 + .../UIComponentLayoutColumnLayout029.ets | 53 + .../UIComponentLayoutColumnLayout030.ets | 53 + .../UIComponentLayoutColumnLayout031.ets | 53 + .../UIComponentLayoutColumnLayout032.ets | 53 + .../UIComponentLayoutColumnLayout033.ets | 53 + .../UIComponentLayoutColumnLayout034.ets | 53 + .../UIComponentLayoutColumnLayout035.ets | 53 + .../UIComponentLayoutColumnLayout036.ets | 52 + .../UIComponentLayoutColumnLayout037.ets | 52 + .../UIComponentLayoutColumnLayout038.ets | 52 + .../UIComponentLayoutColumnLayout039.ets | 52 + .../UIComponentLayoutColumnLayout040.ets | 51 + .../UIComponentLayoutFlexInterface001.ets | 46 + .../UIComponentLayoutFlexInterface002.ets | 46 + .../UIComponentLayoutFlexInterface003.ets | 46 + .../UIComponentLayoutFlexInterface004.ets | 46 + .../UIComponentLayoutFlexInterface005.ets | 46 + .../UIComponentLayoutFlexInterface006.ets | 46 + .../UIComponentLayoutFlexInterface007.ets | 49 + .../UIComponentLayoutFlexInterface008.ets | 49 + .../UIComponentLayoutFlexInterface009.ets | 49 + .../UIComponentLayoutFlexInterface010.ets | 49 + .../UIComponentLayoutFlexInterface011.ets | 49 + .../UIComponentLayoutFlexInterface012.ets | 49 + .../UIComponentLayoutFlexInterface019.ets | 45 + .../UIComponentLayoutFlexInterface020.ets | 45 + .../UIComponentLayoutFlexInterface021.ets | 45 + .../UIComponentLayoutFlexInterface022.ets | 45 + .../UIComponentLayoutFlexInterface023.ets | 45 + .../UIComponentLayoutFlexInterface024.ets | 45 + .../UIComponentLayoutFlexInterface025.ets | 46 + .../UIComponentLayoutFlexInterface026.ets | 46 + .../UIComponentLayoutFlexInterface027.ets | 45 + .../UIComponentLayoutFlexInterface028.ets | 45 + .../UIComponentLayoutFlexInterface029.ets | 46 + .../UIComponentLayoutFlexInterface030.ets | 46 + .../UIComponentLayoutFlexInterface031.ets | 45 + .../UIComponentLayoutFlexInterface032.ets | 45 + .../UIComponentLayoutFlexInterface033.ets | 45 + .../UIComponentLayoutFlexInterface034.ets | 45 + .../UIComponentLayoutFlexInterface035.ets | 45 + .../UIComponentLayoutFlexInterface036.ets | 49 + .../UIComponentLayoutFlexInterface037.ets | 45 + .../UIComponentLayoutFlexInterface038.ets | 49 + .../UIComponentLayoutFlexInterface039.ets | 49 + .../UIComponentLayoutFlexInterface040.ets | 49 + .../UIComponentLayoutFlexInterface041.ets | 49 + .../UIComponentLayoutFlexInterface042.ets | 47 + .../UIComponentLayoutFlexInterface043.ets | 47 + .../UIComponentLayoutFlexInterface044.ets | 46 + .../UIComponentLayoutFlexInterface045.ets | 46 + .../UIComponentLayoutFlexInterface046.ets | 46 + .../UIComponentLayoutFlexInterface047.ets | 46 + .../UIComponentLayoutFlexInterface048.ets | 46 + .../UIComponentLayoutFlexInterface049.ets | 46 + .../UIComponentLayoutFlexInterface050.ets | 46 + .../UIComponentLayoutFlexInterface051.ets | 46 + .../UIComponentLayoutFlexInterface052.ets | 47 + .../UIComponentLayoutFlexInterface053.ets | 45 + .../UIComponentLayoutFlexInterface054.ets | 45 + .../UIComponentLayoutFlexInterface055.ets | 53 + .../UIComponentLayoutFlexInterface056.ets | 53 + .../UIComponentLayoutFlexInterface057.ets | 49 + .../UIComponentLayoutFlexInterface058.ets | 49 + .../UIComponentLayoutFlexInterface059.ets | 49 + .../UIComponentLayoutFlexInterface060.ets | 49 + .../UIComponentLayoutFlexInterface061.ets | 49 + .../UIComponentLayoutFlexInterface062.ets | 49 + .../UIComponentLayoutFlexInterface063.ets | 49 + .../UIComponentLayoutFlexInterface064.ets | 49 + .../UIComponentLayoutFlexInterface065.ets | 49 + .../UIComponentLayoutFlexInterface066.ets | 49 + .../UIComponentLayoutFlexInterface067.ets | 49 + .../UIComponentLayoutFlexInterface068.ets | 49 + .../UIComponentLayoutModifier023.ets | 52 + .../UIComponentLayoutModifier024.ets | 52 + .../UIComponentLayoutModifier025.ets | 37 + .../UIComponentLayoutModifier026.ets | 63 + .../UIComponentLayoutModifier027.ets | 47 + .../UIComponentLayoutModifier028.ets | 37 + .../UIComponentLayoutModifier029.ets | 48 + .../UIComponentLayoutModifier030.ets | 39 + .../UIComponentLayoutModifier039.ets | 66 + .../UIComponentLayoutModifier041.ets | 54 + .../UIComponentLayoutModifier042.ets | 102 + .../UIComponentLayoutModifier043.ets | 60 + .../UIComponentLayoutModifier044.ets | 56 + .../UIComponentLayoutModifier045.ets | 61 + .../UIComponentLayoutModifier046.ets | 69 + .../UiComponentLayoutModifier016.ets | 154 + .../UiComponentLayoutModifier017.ets | 129 + .../UiComponentLayoutModifier018.ets | 156 + .../UiComponentLayoutModifier019.ets | 155 + .../UiComponentLayoutModifier020.ets | 153 + .../UiComponentLayoutModifier021.ets | 133 + .../UiComponentLayoutModifier022.ets | 154 + .../UiComponentLayoutModifier031.ets | 98 + .../UiComponentLayoutModifier032.ets | 120 + .../UiComponentLayoutModifier033.ets | 120 + .../UiComponentLayoutModifier034.ets | 117 + .../UiComponentLayoutModifier035.ets | 121 + .../UiComponentLayoutModifier036.ets | 128 + .../UiComponentLayoutModifier037.ets | 122 + .../UiComponentLayoutModifier038.ets | 127 + .../UiComponentLayoutModifier047.ets | 121 + .../UiComponentLayoutModifier048.ets | 109 + .../UiComponentLayoutModifier049.ets | 121 + .../UiComponentLayoutModifier050.ets | 151 + .../UiComponentLayoutModifier051.ets | 89 + .../UiComponentLayoutModifier052.ets | 89 + .../UiComponentLayoutModifier053.ets | 89 + .../UiComponentLayoutModifier054.ets | 91 + .../UiComponentLayoutModifier055.ets | 97 + .../UiComponentLayoutModifier056.ets | 89 + .../UiComponentLayoutModifier057.ets | 89 + .../UiComponentLayoutModifier058.ets | 97 + .../UiComponentLayoutModifier059.ets | 174 + .../UiComponentLayoutModifier060.ets | 174 + .../UiComponentLayoutModifier061.ets | 174 + .../UiComponentLayoutModifier062.ets | 174 + .../UiComponentLayoutModifier063.ets | 174 + .../UiComponentLayoutModifier064.ets | 176 + .../UiComponentLayoutModifier065.ets | 173 + .../UiComponentLayoutModifier066.ets | 143 + .../UiComponentLayoutModifier067.ets | 143 + .../UiComponentLayoutModifier068.ets | 152 + .../UiComponentLayoutModifier069.ets | 195 + .../UiComponentLayoutModifier070.ets | 180 + .../UiComponentLayoutModifier071.ets | 170 + .../UiComponentLayoutModifier072.ets | 178 + .../UiComponentLayoutModifier073.ets | 168 + .../UiComponentLayoutModifier074.ets | 168 + .../UiComponentLayoutModifier075.ets | 169 + .../UiComponentLayoutModifier076.ets | 168 + .../UiComponentLayoutModifier077.ets | 168 + .../UiComponentLayoutModifier078.ets | 144 + .../UiComponentLayoutModifier079.ets | 168 + .../UiComponentLayoutModifierPageB.ets | 45 + .../UIComponentLayoutStack025.ets | 36 + .../UIComponentLayoutStack030.ets | 36 + .../UIComponentLayoutStack031.ets | 36 + .../UIComponentLayoutStack032.ets | 36 + .../UIComponentLayoutStack033.ets | 36 + .../UIComponentLayoutStack034.ets | 36 + .../UIComponentLayoutStack038.ets | 37 + .../UIComponentLayoutStack039.ets | 37 + .../UIComponentLayoutStack041.ets | 37 + .../UIComponentLayoutStack042.ets | 38 + .../UIComponentLayoutStack043.ets | 38 + .../UIComponentLayoutStack047.ets | 39 + .../UIComponentLayoutStack048.ets | 39 + .../UIComponentLayoutStack049.ets | 40 + .../UIComponentLayoutStack050.ets | 40 + .../UIComponentLayoutStack053.ets | 41 + .../UIComponentLayoutStack054.ets | 42 + .../UIComponentLayoutStack055.ets | 41 + .../UIComponentLayoutStack064.ets | 39 + .../UIComponentLayoutStack065.ets | 39 + .../UIComponentLayoutStack066.ets | 39 + .../UIComponentLayoutStack067.ets | 40 + .../UIComponentLayoutStack068.ets | 40 + .../UIComponentLayoutStack069.ets | 40 + .../UIComponentLayoutStack070.ets | 40 + .../UIComponentLayoutStack071.ets | 40 + .../UIComponentLayoutStack072.ets | 40 + .../UIComponentLayoutStack089.ets | 40 + .../UIComponentLayoutStack090.ets | 45 + .../UIComponentLineheightDecoration002.ets | 29 + .../UIComponentLineheightDecoration003.ets | 43 + .../UIComponentLineheightDecoration004.ets | 51 + .../UIComponentLineheightDecoration006.ets | 50 + .../UIComponentLineheightDecoration007.ets | 61 + .../UIComponentLineheightDecoration008.ets | 61 + .../UIComponentLineheightDecoration009.ets | 61 + .../UIComponentLineheightDecoration010.ets | 61 + .../UIComponentLineheightDecoration011.ets | 61 + .../UIComponentLineheightDecoration012.ets | 63 + ...UIComponentScrollSwiperInterfaceMix039.ets | 36 + ...UIComponentScrollSwiperInterfaceMix042.ets | 37 + ...UIComponentScrollSwiperInterfaceMix048.ets | 55 + ...UIComponentScrollSwiperInterfaceMix049.ets | 57 + ...UIComponentScrollSwiperInterfaceMix050.ets | 55 + ...UIComponentScrollSwiperInterfaceMix051.ets | 54 + ...UIComponentScrollSwiperInterfaceMix052.ets | 55 + ...UIComponentScrollSwiperInterfaceMix053.ets | 55 + ...UIComponentScrollSwiperInterfaceMix054.ets | 54 + ...UIComponentScrollSwiperInterfaceMix055.ets | 55 + ...UIComponentScrollSwiperInterfaceMix056.ets | 55 + ...UIComponentScrollSwiperInterfaceMix057.ets | 39 + ...UIComponentScrollSwiperInterfaceMix058.ets | 41 + ...UIComponentScrollSwiperInterfaceMix059.ets | 41 + ...UIComponentScrollSwiperInterfaceMix060.ets | 41 + ...UIComponentScrollSwiperInterfaceMix061.ets | 42 + ...UIComponentScrollSwiperInterfaceMix062.ets | 42 + ...UIComponentScrollSwiperInterfaceMix063.ets | 42 + ...UIComponentScrollSwiperInterfaceMix064.ets | 42 + ...UIComponentScrollSwiperInterfaceMix065.ets | 40 + ...UIComponentScrollSwiperInterfaceMix066.ets | 42 + ...UIComponentScrollSwiperInterfaceMix067.ets | 42 + ...UIComponentScrollSwiperInterfaceMix068.ets | 42 + ...UIComponentScrollSwiperInterfaceMix069.ets | 41 + ...UIComponentScrollSwiperInterfaceMix070.ets | 42 + ...UIComponentScrollSwiperInterfaceMix071.ets | 42 + ...UIComponentScrollSwiperInterfaceMix072.ets | 42 + ...UIComponentScrollSwiperInterfaceMix073.ets | 42 + ...UIComponentScrollSwiperInterfaceMix074.ets | 42 + ...UIComponentScrollSwiperInterfaceMix075.ets | 42 + ...UIComponentScrollSwiperInterfaceMix076.ets | 41 + ...UIComponentScrollSwiperInterfaceMix077.ets | 42 + ...UIComponentScrollSwiperInterfaceMix078.ets | 35 + ...UIComponentScrollSwiperInterfaceMix079.ets | 39 + ...UIComponentScrollSwiperInterfaceMix080.ets | 39 + ...UIComponentScrollSwiperInterfaceMix081.ets | 39 + ...UIComponentScrollSwiperInterfaceMix082.ets | 38 + ...UIComponentScrollSwiperInterfaceMix083.ets | 39 + ...UIComponentScrollSwiperInterfaceMix084.ets | 38 + ...UIComponentScrollSwiperInterfaceMix085.ets | 38 + ...UIComponentScrollSwiperInterfaceMix086.ets | 38 + ...UIComponentScrollSwiperInterfaceMix087.ets | 39 + ...UIComponentScrollSwiperInterfaceMix088.ets | 40 + ...UIComponentScrollSwiperInterfaceMix090.ets | 40 + ...UIComponentScrollSwiperInterfaceMix091.ets | 41 + ...UIComponentScrollSwiperInterfaceMix092.ets | 41 + ...UIComponentScrollSwiperInterfaceMix093.ets | 41 + ...UIComponentScrollSwiperInterfaceMix094.ets | 41 + ...UIComponentScrollSwiperInterfaceMix095.ets | 41 + ...UIComponentScrollSwiperInterfaceMix096.ets | 41 + ...UIComponentScrollSwiperInterfaceMix097.ets | 41 + ...UIComponentScrollSwiperInterfaceMix098.ets | 41 + ...UIComponentScrollSwiperInterfaceMix099.ets | 41 + ...UIComponentScrollSwiperInterfaceMix100.ets | 41 + ...UIComponentScrollSwiperInterfaceMix101.ets | 42 + ...UIComponentScrollSwiperInterfaceMix102.ets | 59 + ...UIComponentScrollSwiperInterfaceMix103.ets | 40 + ...UIComponentScrollSwiperInterfaceMix104.ets | 40 + ...UIComponentScrollSwiperInterfaceMix105.ets | 40 + ...UIComponentScrollSwiperInterfaceMix106.ets | 40 + ...UIComponentScrollSwiperInterfaceMix107.ets | 40 + ...UIComponentScrollSwiperInterfaceMix108.ets | 40 + ...UIComponentScrollSwiperInterfaceMix109.ets | 40 + ...UIComponentScrollSwiperInterfaceMix110.ets | 39 + ...UIComponentScrollSwiperInterfaceMix111.ets | 41 + .../UIComponentSymbolColorrendering002.ets | 30 + .../UIComponentSymbolColorrendering007.ets | 30 + .../UIComponentSymbolColorrendering008.ets | 30 + .../UIComponentSymbolColorrendering009.ets | 28 + .../UIComponentSymboldisplay003.ets | 34 + .../UIComponentSymbolDisplay003.ets | 36 + .../UIComponentSymbolDisplay009.ets | 49 + .../UIComponentTextCapi001.ets | 38 + .../UIComponentTextCapi002.ets | 40 + .../UIComponentTextCapi003.ets | 40 + .../UIComponentTextCapi004.ets | 39 + .../UIComponentTextCapi005.ets | 40 + .../UIComponentTextCapi006.ets | 40 + .../UIComponentTextCapi007.ets | 40 + .../UIComponentTextCapi008.ets | 40 + .../UIComponentTextCapi009.ets | 36 + .../UIComponentTextCapi010.ets | 40 + .../UIComponentTextCapi011.ets | 40 + .../UIComponentTextCapi012.ets | 40 + .../UIComponentTextCapi013.ets | 39 + .../UIComponentTextCapi015.ets | 39 + .../UIComponentTextCapi016.ets | 39 + .../UIComponentTextCapi017.ets | 39 + .../UIComponentTextCapi018.ets | 39 + .../UIComponentTextCapi019.ets | 39 + .../UIComponentTextCapi020.ets | 40 + .../UIComponentTextCapi021.ets | 45 + .../UIComponentTextCapi022.ets | 45 + .../UIComponentTextCapi023.ets | 45 + .../UIComponentTextCapi024.ets | 45 + .../UIComponentTextCapi026.ets | 39 + .../UIComponentTextCapi027.ets | 39 + .../UIComponentTextCapi028.ets | 39 + .../UIComponentTextCapi030.ets | 39 + .../UIComponentTextCapi031.ets | 39 + .../UIComponentTextCapi032.ets | 44 + .../UIComponentTextCapi033.ets | 44 + .../UIComponentTextCapi034.ets | 42 + .../UIComponentTextCapi035.ets | 42 + .../UIComponentTextCapi036.ets | 42 + .../UIComponentTextCapi037.ets | 42 + .../UIComponentTextCapi038.ets | 43 + .../UIComponentTextCapi039.ets | 43 + .../UIComponentTextCapi040.ets | 40 + .../UIComponentTextCapi041.ets | 40 + .../UIComponentTextCapi042.ets | 40 + .../UIComponentTextCapi043.ets | 45 + .../UIComponentTextCapi044.ets | 45 + .../UIComponentTextCapi045.ets | 45 + .../UIComponentTextCapi046.ets | 40 + .../UIComponentTextCapi048.ets | 41 + .../UIComponentTextCapi049.ets | 39 + .../UIComponentTextCapi050.ets | 39 + .../UIComponentTextCapi051.ets | 39 + .../UIComponentTextCapi052.ets | 39 + .../UIComponentTextCapi053.ets | 39 + .../UIComponentTextCapi054.ets | 39 + .../UIComponentTextCapi055.ets | 39 + .../UIComponentTextCommonAffingTran0140.ets | 79 + .../UIComponentTextCommonAffingTran0150.ets | 79 + .../UIComponentTextCommonAffingTran0160.ets | 57 + .../UIComponentTextCommonAffingTran0190.ets | 57 + .../UIComponentTextCommonAffingTran0220.ets | 57 + .../UIComponentTextCommonAffingTran0230.ets | 98 + .../UIComponentTextCommonAffingTran0240.ets | 98 + .../UIComponentTextCommonAffingTran0250.ets | 57 + .../UIComponentTextCommonAffingTran0280.ets | 57 + .../UIComponentTextCommonAffingTran0290.ets | 105 + .../UIComponentTextCommonAffingTran0300.ets | 105 + .../UIComponentTextCommonAffingTran0310.ets | 57 + .../UIComponentTextCommonAffingTran0320.ets | 105 + .../UIComponentTextCommonAffingTran0330.ets | 105 + .../UIComponentTextCommonAffingTran0340.ets | 48 + .../UIComponentTextCommonLinespace001.ets | 34 + .../UIComponentTextCommonLinespace002.ets | 43 + .../UIComponentTextCommonLinespace003.ets | 39 + .../UIComponentTextCommonLinespace004.ets | 43 + .../UIComponentTextCommonLinespace005.ets | 42 + .../UIComponentTextCommonLinespace007.ets | 42 + .../UIComponentTextCommonLinespace008.ets | 33 + .../UIComponentTextCommonLinespace009.ets | 41 + .../UIComponentTextCommonLinespace010.ets | 41 + .../UIComponentTextCommonLinespace011.ets | 40 + .../UIComponentTextCommonLinespace012.ets | 41 + .../UIComponentTextCommonLinespace013.ets | 44 + .../UIComponentTextCommonLinespace014.ets | 42 + .../UIComponentTextCommonLinespace015.ets | 43 + .../UIComponentTextCommonLinespaceC002.ets | 35 + .../UIComponentTextCommonLinespaceC003.ets | 35 + .../UIComponentTextCommonLinespaceC004.ets | 35 + .../UIComponentTextCommonLinespaceC005.ets | 34 + .../UIComponentTextCommonLinespaceC006.ets | 34 + .../UIComponentTextCommonLinespaceC007.ets | 34 + .../UIComponentTextCommonLinespaceC008.ets | 34 + .../UIComponentTextCommonLinespaceC009.ets | 43 + .../UIComponentTextCommonLocation001.ets | 40 + .../UIComponentTextCommonLocation002.ets | 45 + .../UIComponentTextCommonLocation003.ets | 42 + .../UIComponentTextCommonLocation004.ets | 42 + .../UIComponentTextCommonLocation005.ets | 42 + .../UIComponentTextCommonLocation006.ets | 42 + .../UIComponentTextCommonLocation009.ets | 44 + .../UIComponentTextCommonLocation010.ets | 45 + .../UIComponentTextCommonLocation012.ets | 43 + .../UIComponentTextCommonLocation014.ets | 46 + .../UIComponentTextCommonLocation015.ets | 45 + .../UIComponentTextCommonLocation016.ets | 44 + .../UIComponentTextCommonLocation017.ets | 45 + .../UIComponentTextCommonLocation018.ets | 39 + .../UIComponentTextCommonLocation019.ets | 39 + .../UIComponentTextCommonLocation020.ets | 39 + .../UIComponentTextCommonLocation021.ets | 41 + .../UIComponentTextCommonLocation022.ets | 43 + .../UIComponentTextCommonLocation023.ets | 39 + .../UIComponentTextCommonLocation026.ets | 41 + .../UIComponentTextCommonLocation027.ets | 42 + .../UIComponentTextCommonLocation028.ets | 47 + .../UIComponentTextCommonLocation029.ets | 43 + .../UIComponentTextCommonLocation030.ets | 48 + .../UIComponentTextCommonLocation031.ets | 43 + .../UIComponentTextCommonLocation032.ets | 43 + .../UIComponentTextCommonLocation033.ets | 44 + .../UIComponentTextCommonLocation034.ets | 46 + .../UIComponentTextCommonLocation035.ets | 46 + .../UIComponentTextCommonLocation036.ets | 47 + .../UIComponentTextCommonLocation037.ets | 45 + .../UIComponentTextCommonLocation038.ets | 48 + .../UIComponentTextCommonLocation039.ets | 48 + .../UIComponentTextCommonLocation040.ets | 46 + .../UIComponentTextCommonLocation043.ets | 47 + .../UIComponentTextCommonLocation044.ets | 48 + .../UIComponentTextCommonLocation045.ets | 51 + .../UIComponentTextCommonLocation046.ets | 49 + .../UIComponentTextCommonLocation047.ets | 52 + .../UIComponentTextCommonLocation048.ets | 50 + .../UIComponentTextCommonLocation049.ets | 50 + .../UIComponentTextCommonLocation050.ets | 50 + .../UIComponentTextCommonLocation051.ets | 51 + .../UIComponentTextCommonTextStyle085.ets | 31 + .../UIComponentTextCommonTextStyle086.ets | 31 + .../UIComponentTextCommonTextStyle087.ets | 31 + .../UIComponentTextCommonTextStyle088.ets | 30 + .../UIComponentTextCommonTextStyle089.ets | 30 + .../UIComponentTextCommonTextStyle090.ets | 30 + .../UIComponentTextCommonTextStyle095.ets | 30 + .../UIComponentTextCommonTextStyle096.ets | 30 + .../UIComponentTextCommonTextStyle097.ets | 30 + .../UIComponentTextCommonTextStyle098.ets | 30 + .../UIComponentTextCommonTextStyle099.ets | 30 + .../UIComponentTextCommonTextStyle100.ets | 30 + .../UIComponentTextCommonTextStyle101.ets | 30 + .../UIComponentTextCommonTextStyle102.ets | 30 + .../UIComponentTextCommonTextStyle103.ets | 30 + .../UIComponentTextCommonTextStyle104.ets | 30 + .../UIComponentTextCommonTextStyle105.ets | 30 + .../UIComponentTextCommonTextStyle106.ets | 30 + .../UIComponentTextCommonTextStyle107.ets | 30 + .../UIComponentTextCommonTextStyle108.ets | 30 + .../UIComponentTextCommonTextStyle109.ets | 30 + .../UIComponentTextCommonTextStyle110.ets | 30 + .../UIComponentTextCommonTextStyle111.ets | 30 + .../UIComponentTextCommonTextStyle112.ets | 30 + .../UIComponentTextCommonTextStyle113.ets | 30 + .../UIComponentTextCommonTextStyle114.ets | 30 + .../UIComponentTextCommonTextStyle121.ets | 30 + .../UIComponentTextCommonTextStyle122.ets | 30 + .../UIComponentTextCommonTextStyle123.ets | 30 + .../UIComponentTextCommonTextStyle124.ets | 30 + .../UIComponentTextCommonTextStyle125.ets | 27 + .../UIComponentTextCommonTextStyle126.ets | 27 + .../UIComponentTextCommonTextStyle127.ets | 27 + .../UIComponentTextCommonTextStyle128.ets | 27 + .../UIComponentTextCommonTextStyle129.ets | 27 + .../UIComponentTextCommonTextStyle130.ets | 27 + .../UIComponentTextCommonTextStyle131.ets | 27 + .../UIComponentTextCommonTextStyle132.ets | 27 + .../UIComponentTextCommonTextStyle133.ets | 27 + .../UIComponentTextCommonTextStyle134.ets | 27 + .../UIComponentTextCommonTextStyle135.ets | 27 + .../UIComponentTextCommonTextStyle136.ets | 27 + .../UIComponentTextCommonTextStyle137.ets | 27 + .../UIComponentTextCommonTextStyle138.ets | 32 + .../UIComponentTextCommonTextStyle139.ets | 31 + .../UIComponentTextCommonTextStyle140.ets | 31 + .../UIComponentTextCommonTextStyle141.ets | 29 + .../UIComponentTextCommonTextStyle142.ets | 36 + .../UIComponentTextCommonTextStyle143.ets | 31 + .../UIComponentTextCommonTextStyle144.ets | 28 + .../UIComponentTextCommonTextStyle149.ets | 33 + .../UIComponentTextCommonTextStyle150.ets | 33 + .../UIComponentTextCommonTextStyle151.ets | 33 + .../UIComponentTextCommonTextStyle152.ets | 33 + .../UIComponentTextCommonTextStyle153.ets | 32 + .../UIComponentTextCommonTextStyle154.ets | 31 + .../UIComponentTextCommonTextStyle155.ets | 34 + .../UIComponentTextCommonTextStyle156.ets | 28 + .../UIComponentTextCommonTextStyle157.ets | 27 + .../UIComponentTextCommonTextStyle158.ets | 27 + .../UIComponentTextCommonTextStyle159.ets | 29 + .../UIComponentTextCommonTextStyle160.ets | 29 + .../UIComponentTextCommonTextStyle161.ets | 29 + .../UIComponentTextCommonTextStyle162.ets | 29 + .../UIComponentTextCommonTextStyle163.ets | 29 + .../UIComponentTextCommonTextStyle164.ets | 30 + .../UIComponentTextCommonTextStyle165.ets | 29 + .../UIComponentTextCommonTextStyle166.ets | 29 + .../UIComponentTextCommonTextStyle167.ets | 29 + .../UIComponentTextCommonTextStyle168.ets | 29 + .../UIComponentTextCommonTextStyle169.ets | 29 + .../UIComponentTextCommonTextStyle170.ets | 29 + .../UIComponentTextCommonTextStyle171.ets | 29 + .../UIComponentTextCommonTextStyle172.ets | 29 + .../UIComponentTextCommonTextStyle173.ets | 29 + .../UIComponentTextCommonTextStyle174.ets | 29 + .../UIComponentTextCommonTextStyle175.ets | 29 + .../UIComponentTextCommonTextStyle176.ets | 29 + .../UIComponentTextCommonTextStyle177.ets | 29 + .../UIComponentTextCommonTextStyle178.ets | 29 + .../UIComponentTextCommonTextStyle179.ets | 29 + .../UIComponentTextCommonTextStyle180.ets | 29 + .../UIComponentTextCommonTextStyle181.ets | 34 + .../UIComponentTextCommonTextStyle182.ets | 29 + .../UIComponentTextCommonTextStyle183.ets | 29 + .../UIComponentTextCommonTextStyle184.ets | 29 + .../UiComponentTextCommonTextstyle001.ets | 39 + .../UiComponentTextCommonTextstyle002.ets | 40 + .../UiComponentTextCommonTextstyle003.ets | 40 + .../UiComponentTextCommonTextstyle004.ets | 40 + .../UiComponentTextCommonTextstyle005.ets | 41 + .../UiComponentTextCommonTextstyle006.ets | 41 + .../UiComponentTextCommonTextstyle007.ets | 51 + .../UiComponentTextCommonTextstyle008.ets | 41 + .../UiComponentTextCommonTextstyle009.ets | 41 + .../UiComponentTextCommonTextstyle010.ets | 41 + .../UiComponentTextCommonTextstyle011.ets | 43 + .../UiComponentTextCommonTextstyle012.ets | 43 + .../UiComponentTextCommonTextstyle013.ets | 42 + .../UiComponentTextCommonTextstyle014.ets | 39 + .../UiComponentTextCommonTextstyle015.ets | 39 + .../UiComponentTextCommonTextstyle016.ets | 35 + .../UiComponentTextCommonTextstyle017.ets | 42 + .../UiComponentTextCommonTextstyle018.ets | 42 + .../UiComponentTextCommonTextstyle019.ets | 41 + .../UiComponentTextCommonTextstyle020.ets | 41 + .../UiComponentTextCommonTextstyle023.ets | 36 + .../UiComponentTextCommonTextstyle024.ets | 36 + .../UiComponentTextCommonTextstyle025.ets | 36 + .../UiComponentTextCommonTextstyle026.ets | 36 + .../UiComponentTextCommonTextstyle027.ets | 36 + .../UiComponentTextCommonTextstyle028.ets | 36 + .../UiComponentTextCommonTextstyle029.ets | 36 + .../UiComponentTextCommonTextstyle030.ets | 36 + .../UiComponentTextCommonTextstyle031.ets | 36 + .../UiComponentTextCommonTextstyle037.ets | 35 + .../UiComponentTextCommonTextstyle038.ets | 36 + .../UiComponentTextCommonTextstyle039.ets | 36 + .../UiComponentTextCommonTextstyle040.ets | 36 + .../UiComponentTextCommonTextstyle041.ets | 36 + .../UiComponentTextCommonTextstyle042.ets | 37 + .../UiComponentTextCommonTextstyle043.ets | 37 + .../UiComponentTextCommonTextstyle044.ets | 37 + .../UiComponentTextCommonTextstyle045.ets | 37 + .../UiComponentTextCommonTextstyle046.ets | 35 + .../UiComponentTextCommonTextstyle047.ets | 34 + .../UiComponentTextCommonTextstyle048.ets | 36 + .../UiComponentTextCommonTextstyle049.ets | 36 + .../UiComponentTextCommonTextstyle050.ets | 36 + .../UiComponentTextCommonTextstyle051.ets | 36 + .../UiComponentTextCommonTextstyle052.ets | 34 + .../UiComponentTextCommonTextstyle053.ets | 34 + .../UiComponentTextCommonTextstyle054.ets | 34 + .../UiComponentTextCommonTextstyle055.ets | 34 + .../UiComponentTextCommonTextstyle056.ets | 34 + .../UiComponentTextCommonTextstyle057.ets | 34 + .../UiComponentTextCommonTextstyle058.ets | 34 + .../UiComponentTextCommonTextstyle059.ets | 34 + .../UiComponentTextCommonTextstyle060.ets | 34 + .../UiComponentTextCommonTextstyle061.ets | 34 + .../UiComponentTextCommonTextstyle062.ets | 35 + .../UiComponentTextCommonTextstyle063.ets | 37 + .../UiComponentTextCommonTextstyle064.ets | 39 + .../UiComponentTextCommonTextstyle065.ets | 38 + .../UiComponentTextCommonTextstyle066.ets | 38 + .../UiComponentTextCommonTextstyle067.ets | 38 + .../UiComponentTextCommonTextstyle068.ets | 36 + .../UiComponentTextCommonTextstyle069.ets | 36 + .../UiComponentTextCommonTextstyle070.ets | 37 + .../UiComponentTextCommonTextstyle071.ets | 37 + .../UiComponentTextCommonTextstyle072.ets | 37 + .../UiComponentTextCommonTextstyle0910.ets | 32 + .../UiComponentTextCommonTextstyle0920.ets | 32 + .../UiComponentTextCommonTextstyle0930.ets | 32 + .../UiComponentTextCommonTextstyle0940.ets | 32 + .../UiComponentTextCommonTextstyle1190.ets | 33 + .../UiComponentTextCommonTextstyle1200.ets | 33 + .../UiComponentTextCommonTextstyle1900.ets | 44 + .../UiComponentTextCommonTextstyle1950.ets | 41 + .../UiComponentTextCommonTextstyle1960.ets | 41 + .../UiComponentTextCommonTextstyle1970.ets | 41 + .../UiComponentTextCommonTextstyle1980.ets | 41 + .../UiComponentTextCommonTextstyle1990.ets | 40 + .../UiComponentTextCommonTextstyle2000.ets | 41 + .../UiComponentTextCommonTextstyle2010.ets | 41 + .../UiComponentTextCommonTextstyle2020.ets | 41 + .../UiComponentTextCommonTextstyle2030.ets | 41 + .../UiComponentTextCommonTextstyle2090.ets | 41 + .../UiComponentTextCommonTextstyle2100.ets | 41 + .../UiComponentTextCommonTextstyle2110.ets | 41 + .../UiComponentTextCommonTextstyle2160.ets | 31 + .../UiComponentTextCommonTextstyle2170.ets | 31 + .../UiComponentTextCommonTextstyle2180.ets | 31 + .../UiComponentTextCommonTextstyle2190.ets | 31 + .../UiComponentTextCommonTextstyle2200.ets | 31 + .../UiComponentTextCommonTextstyle2210.ets | 31 + .../UiComponentTextCommonTextstyle2220.ets | 31 + .../UiComponentTextCommonTextstyle2230.ets | 31 + .../UiComponentTextCommonTextstyle2240.ets | 31 + .../UiComponentTextCommonTextstyle2250.ets | 31 + .../UIComponentTextRefactorAdjustment001.ets | 33 + .../UIComponentTextRefactorAdjustment006.ets | 35 + .../UIComponentTextRefactorAdjustment008.ets | 35 + .../UIComponentTextRefactorAdjustment024.ets | 36 + .../UIComponentTextRefactorAdjustment025.ets | 33 + .../UIComponentTextRefactorAdjustment039.ets | 33 + .../UIComponentTextRefactorAdjustment040.ets | 34 + .../UIComponentTextRefactorAdjustment041.ets | 34 + .../UIComponentTextRefactorAdjustment043.ets | 33 + .../UIComponentTextTextareEnhances001.ets | 33 + .../UIComponentTextTextareEnhances002.ets | 33 + .../UIComponentTextTextareEnhances003.ets | 33 + .../UIComponentTextTextareEnhances004.ets | 33 + .../UIComponentTextTextareEnhances005.ets | 34 + .../UIComponentTextTextareEnhances006.ets | 34 + .../UIComponentTextTextareEnhances007.ets | 33 + .../UIComponentTextTextareEnhances008.ets | 33 + .../UIComponentTextTextareEnhances010.ets | 33 + .../UIComponentTextTextareEnhances011.ets | 33 + .../UIComponentTextTextareEnhances012.ets | 33 + .../UIComponentTextTextareEnhances013.ets | 36 + .../UIComponentTextTextareEnhances014.ets | 36 + .../UIComponentTextTextareEnhances015.ets | 36 + .../UIComponentTextTextareEnhances016.ets | 38 + .../UIComponentTextTextareEnhances017.ets | 34 + .../UIComponentTextTextareEnhances018.ets | 34 + .../UIComponentTextTextareEnhances019.ets | 34 + .../UIComponentTextTextareEnhances020.ets | 34 + .../UIComponentTextTextareEnhances021.ets | 35 + .../UIComponentTextTextareEnhances022.ets | 35 + .../UIComponentTextTextareEnhances023.ets | 34 + .../UIComponentTextTextareEnhances024.ets | 34 + .../UIComponentTextTextareEnhances026.ets | 34 + .../UIComponentTextTextareEnhances027.ets | 34 + .../UIComponentTextTextareEnhances028.ets | 34 + .../UIComponentTextTextareEnhances029.ets | 36 + .../UIComponentTextTextareEnhances030.ets | 36 + .../UIComponentTextTextareEnhances031.ets | 37 + .../UIComponentTextTextareEnhances032.ets | 37 + .../UIComponentTextTextareEnhances033.ets | 34 + .../UIComponentTextTextareEnhances034.ets | 34 + .../UIComponentTextTextareEnhances035.ets | 34 + .../UIComponentTextTextareEnhances036.ets | 34 + .../UIComponentTextTextareEnhances037.ets | 35 + .../UIComponentTextTextareEnhances038.ets | 35 + .../UIComponentTextTextareEnhances039.ets | 34 + .../UIComponentTextTextareEnhances040.ets | 34 + .../UIComponentTextTextareEnhances041.ets | 36 + .../UIComponentTextTextareEnhances042.ets | 34 + .../UIComponentTextTextareEnhances043.ets | 34 + .../UIComponentTextTextareEnhances044.ets | 34 + .../UIComponentTextTextareEnhances045.ets | 36 + .../UIComponentTextTextareEnhances046.ets | 36 + .../UIComponentTextTextareEnhances047.ets | 35 + .../UIComponentTextTextareEnhances048.ets | 35 + .../UIComponentTextTextinputAction001.ets | 40 + .../UIComponentTextTextinputAction014.ets | 35 + .../UIComponentTextTextinputAction024.ets | 44 + .../UIComponentTextTextinputAction028.ets | 37 + .../UIComponentTextTextinputAction029.ets | 43 + .../UIComponentTextTextinputAction030.ets | 45 + .../UIComponentTextTextinputAction031.ets | 35 + .../UIComponentTextTextinputAction033.ets | 37 + .../UIComponentTextTextinputAction038.ets | 44 + .../UIComponentTextTextinputAction039.ets | 54 + .../UIComponentTextTextinputAction057.ets | 46 + ...IComponentTextTextinputInterAction0020.ets | 32 + .../UIComponentTextTextinputInterface002.ets | 33 + .../UIComponentTextTextinputInterface007.ets | 36 + .../UIComponentTextTextinputInterface008.ets | 35 + .../UIComponentTextTextinputInterface009.ets | 36 + .../UIComponentTextTextinputInterface010.ets | 36 + .../UIComponentTextTextinputInterface011.ets | 36 + .../UIComponentTextTextinputInterface012.ets | 36 + .../UIComponentTextTextinputInterface013.ets | 36 + .../UIComponentTextTextinputInterface014.ets | 36 + .../UIComponentTextTextinputInterface015.ets | 36 + .../UIComponentTextTextinputInterface016.ets | 36 + .../UIComponentTextTextinputInterface017.ets | 36 + .../UIComponentTextTextinputInterface018.ets | 36 + .../UIComponentTextTextinputInterface019.ets | 36 + .../UIComponentTextTextinputInterface020.ets | 36 + .../UIComponentTextTextinputInterface021.ets | 36 + .../UIComponentTextTextinputInterface022.ets | 36 + .../UIComponentTextTextinputInterface028.ets | 33 + .../UIComponentTextTextinputInterface033.ets | 33 + .../UIComponentTextTextinputInterface034.ets | 33 + .../UIComponentTextTextinputInterface035.ets | 33 + .../UIComponentTextTextinputInterface041.ets | 32 + .../UIComponentTextTextinputInterface048.ets | 33 + .../UIComponentTextTextinputInterface049.ets | 33 + .../UIComponentTextTextinputInterface056.ets | 33 + .../UIComponentTextTextinputInterface057.ets | 34 + .../UIComponentTextTextinputInterface058.ets | 33 + .../UIComponentTextTextinputInterface059.ets | 33 + .../UIComponentTextTextinputInterface060.ets | 34 + .../UIComponentTextTextinputInterface061.ets | 33 + .../UIComponentTextTextinputInterface062.ets | 33 + .../UIComponentTextTextinputInterface063.ets | 34 + .../UIComponentTextTextinputInterface064.ets | 33 + .../UIComponentTextTextinputInterface068.ets | 40 + ...UIComponentTextTextinputPolymorphic001.ets | 34 + ...UIComponentTextTextinputPolymorphic002.ets | 35 + ...UIComponentTextTextinputPolymorphic003.ets | 35 + ...UIComponentTextTextinputPolymorphic004.ets | 36 + ...UIComponentTextTextinputPolymorphic005.ets | 35 + ...UIComponentTextTextinputPolymorphic006.ets | 35 + ...UIComponentTextTextinputPolymorphic007.ets | 41 + ...UIComponentTextTextinputPolymorphic008.ets | 31 + .../UIComponentTextinputUnderlinecolor001.ets | 37 + .../UIComponentTextinputUnderlinecolor002.ets | 59 + .../UIComponentTextinputUnderlinecolor003.ets | 59 + .../UIComponentTextinputUnderlinecolor004.ets | 59 + .../UIComponentTextinputUnderlinecolor005.ets | 59 + .../UIComponentTextinputUnderlinecolor006.ets | 47 + .../UIComponentTextinputUnderlinecolor007.ets | 39 + .../UIComponentTextinputUnderlinecolor008.ets | 41 + .../UIComponentTextinputUnderlinecolor009.ets | 59 + .../UIComponentTextinputUnderlinecolor010.ets | 44 + .../UIComponentTextinputUnderlinecolor011.ets | 54 + .../UIComponentTextinputUnderlinecolor012.ets | 54 + .../pages/UIFontFeature/UIFontFeature001.ets | 47 + .../pages/UIFontFeature/UIFontFeature002.ets | 39 + .../pages/UIFontFeature/UIFontFeature003.ets | 39 + .../pages/UIFontFeature/UIFontFeature004.ets | 39 + .../pages/UIFontFeature/UIFontFeature005.ets | 39 + .../pages/UIFontFeature/UIFontFeature006.ets | 39 + .../pages/UIFontFeature/UIFontFeature007.ets | 45 + .../pages/UIFontFeature/UIFontFeature008.ets | 39 + .../pages/UIFontFeature/UIFontFeature009.ets | 39 + .../pages/UIFontFeature/UIFontFeature010.ets | 39 + .../pages/UIFontFeature/UIFontFeature011.ets | 39 + .../pages/UIFontFeature/UIFontFeature012.ets | 39 + .../pages/UIFontFeature/UIFontFeature013.ets | 41 + .../pages/UIFontFeature/UIFontFeature014.ets | 39 + .../pages/UIFontFeature/UIFontFeature015.ets | 45 + .../pages/UIFontFeature/UIFontFeature016.ets | 39 + .../pages/UIFontFeature/UIFontFeature017.ets | 39 + .../pages/UIFontFeature/UIFontFeature018.ets | 38 + .../pages/UIFontFeature/UIFontFeature019.ets | 37 + .../pages/UIFontFeature/UIFontFeature020.ets | 37 + .../pages/UIFontFeature/UIFontFeature021.ets | 37 + .../pages/UIFontFeature/UIFontFeature022.ets | 45 + .../pages/UIFontFeature/UIFontFeature023.ets | 43 + .../pages/UIFontFeature/UIFontFeature024.ets | 39 + .../pages/UIFontFeature/UIFontFeature025.ets | 39 + .../pages/UIFontFeature/UIFontFeature026.ets | 45 + .../pages/UIFontFeature/UIFontFeature027.ets | 37 + .../pages/UIFontFeature/UIFontFeature028.ets | 39 + .../pages/UIFontFeature/UIFontFeature029.ets | 39 + .../pages/UIFontFeature/UIFontFeature030.ets | 39 + .../pages/UIFontFeature/UIFontFeature031.ets | 39 + .../pages/UIFontFeature/UIFontFeature032.ets | 51 + .../pages/UIFontFeature/UIFontFeature033.ets | 39 + .../pages/UIFontFeature/UIFontFeature034.ets | 45 + .../pages/UIFontFeature/UIFontFeature035.ets | 40 + .../pages/UIFontFeature/UIFontFeature036.ets | 39 + .../pages/UITestCase/UITestCase001.ets | 47 + .../pages/UITestCase/UITestCase002.ets | 33 + .../pages/UITestCase/UITestCase003.ets | 59 + .../pages/UITestCase/UITestCase004.ets | 52 + .../pages/UITestCase/UITestCase005.ets | 46 + .../pages/UITestCase/UITestCase006.ets | 50 + .../pages/UITestCase/UITestCase007.ets | 48 + .../pages/UITestCase/UITestCase008.ets | 59 + .../pages/UITestCase/UITestCase009.ets | 59 + .../pages/UITestCase/UITestCase010.ets | 58 + .../pages/UITestCase/UITestCase011.ets | 49 + .../pages/UITestCase/UITestCase012.ets | 43 + .../pages/UITestCase/UITestCase014.ets | 57 + .../pages/UITestCase/UITestCase020.ets | 47 + .../pages/UITestCase/UITestCase021.ets | 58 + .../pages/UITestCase/UITestCase022.ets | 50 + .../pages/UITestCase/UITestCase024.ets | 46 + .../pages/UITestCase/UITestCase025.ets | 48 + .../pages/UITestCase/UITestCase030.ets | 46 + .../pages/UITestCase/UITestCase034.ets | 48 + .../pages/UITestCase/UITestCase035.ets | 44 + .../pages/UITestCase/UITestCase040.ets | 40 + .../pages/UITestCase/UITestCase041.ets | 85 + .../pages/UITestCase/UITestCase042.ets | 84 + .../pages/UITestCase/UITestCase043.ets | 32 + .../pages/UITestCase/UITestCase044.ets | 81 + .../pages/UITestCase/UITestCase045.ets | 79 + .../pages/UITestCase/UITestCase046.ets | 36 + .../pages/UITestCase/UITestCase047.ets | 85 + .../pages/UITestCase/UITestdemo.ets | 20 + .../UiComponentLayoutCommonPixel001.ets | 51 + .../UiComponentLayoutCommonPixel002.ets | 47 + .../UiComponentLayoutCommonPixel003.ets | 50 + .../UiComponentLayoutCommonPixel004.ets | 50 + .../UiComponentLayoutCommonPixel005.ets | 50 + .../UiComponentLayoutCommonPixel006.ets | 50 + .../UiComponentLayoutCommonPixel007.ets | 52 + .../UiComponentLayoutCommonPixel008.ets | 52 + .../UiComponentLayoutCommonPixel009.ets | 52 + .../UiComponentLayoutCommonPixel010.ets | 50 + .../UiComponentLayoutCommonPixel011.ets | 50 + .../UiComponentLayoutCommonPixel012.ets | 50 + .../UiComponentLayoutCommonPixel024.ets | 48 + .../UiComponentLayoutCommonPixel025.ets | 46 + .../UiComponentLayoutCommonPixel026.ets | 50 + .../UiComponentLayoutCommonPixel027.ets | 50 + .../UiComponentLayoutCommonPixel028.ets | 50 + .../UiComponentLayoutCommonPixel029.ets | 48 + .../UiComponentLayoutCommonPixel030.ets | 48 + .../UiComponentLayoutCommonPixel031.ets | 48 + .../UiComponentLayoutCommonPixel042.ets | 49 + .../UiComponentLayoutCommonPixel043.ets | 49 + .../UiComponentLayoutCommonPixel045.ets | 50 + .../UiComponentLayoutCommonPixel046.ets | 55 + .../UiComponentLayoutCommonPixel047.ets | 55 + .../UiComponentLayoutCommonPixel048.ets | 55 + .../UiComponentLayoutCommonPixel049.ets | 53 + .../UiComponentLayoutCommonPixel050.ets | 53 + .../UiComponentLayoutCommonPixel051.ets | 53 + .../UiComponentLayoutCommonPixel063.ets | 56 + .../UiComponentLayoutCommonPixel066.ets | 54 + .../UiComponentLayoutCommonPixel068.ets | 54 + .../UiComponentNavModifier013.ets | 47 + ...tRowcolumnSidebarcontainerInterface018.ets | 57 + ...tRowcolumnSidebarcontainerInterface019.ets | 57 + ...tRowcolumnSidebarcontainerInterface020.ets | 57 + ...tRowcolumnSidebarcontainerInterface021.ets | 57 + ...tRowcolumnSidebarcontainerInterface022.ets | 57 + ...tRowcolumnSidebarcontainerInterface023.ets | 57 + ...tRowcolumnSidebarcontainerInterface024.ets | 57 + ...tRowcolumnSidebarcontainerInterface026.ets | 57 + ...tRowcolumnSidebarcontainerInterface075.ets | 58 + ...tRowcolumnSidebarcontainerInterface076.ets | 61 + ...tRowcolumnSidebarcontainerInterface077.ets | 61 + ...tRowcolumnSidebarcontainerInterface078.ets | 60 + ...tRowcolumnSidebarcontainerInterface079.ets | 61 + ...tRowcolumnSidebarcontainerInterface080.ets | 61 + ...tRowcolumnSidebarcontainerInterface081.ets | 61 + ...tRowcolumnSidebarcontainerInterface082.ets | 61 + ...tRowcolumnSidebarcontainerInterface083.ets | 61 + ...tRowcolumnSidebarcontainerInterface084.ets | 61 + ...tRowcolumnSidebarcontainerInterface085.ets | 61 + ...tRowcolumnSidebarcontainerInterface086.ets | 61 + ...tRowcolumnSidebarcontainerInterface087.ets | 61 + ...tRowcolumnSidebarcontainerInterface088.ets | 61 + ...tRowcolumnSidebarcontainerInterface089.ets | 61 + ...tRowcolumnSidebarcontainerInterface090.ets | 61 + ...tRowcolumnSidebarcontainerInterface091.ets | 61 + ...tRowcolumnSidebarcontainerInterface092.ets | 62 + ...tRowcolumnSidebarcontainerInterface093.ets | 62 + ...tRowcolumnSidebarcontainerInterface094.ets | 62 + ...tRowcolumnSidebarcontainerInterface095.ets | 62 + ...tRowcolumnSidebarcontainerInterface096.ets | 62 + ...tRowcolumnSidebarcontainerInterface097.ets | 61 + .../UiComponentSpanBaselineoffset001.ets | 59 + .../UiComponentSpanBaselineoffset003.ets | 60 + .../UiComponentSpanBaselineoffset004.ets | 34 + .../UiComponentSpanBaselineoffset005.ets | 66 + .../UiComponentSpanBaselineoffset007.ets | 67 + .../UiComponentSpanBaselineoffset008.ets | 40 + .../UiComponentSpanBaselineoffset009.ets | 36 + .../UiComponentSpanBaselineoffset010.ets | 32 + .../UiComponentSpanBaselineoffset012.ets | 36 + .../UiComponentSpanBaselineoffset013.ets | 32 + .../UiComponentSpanBaselineoffset014.ets | 49 + .../UiComponentSpanBaselineoffset019.ets | 58 + .../UiComponentSpanBaselineoffset020.ets | 58 + .../UiComponentSymbolSymbol009.ets | 51 + ...onentTextCommonAffineTransformation002.ets | 125 + ...onentTextCommonAffineTransformation003.ets | 125 + ...onentTextCommonAffineTransformation006.ets | 131 + ...onentTextCommonAffineTransformation007.ets | 61 + ...onentTextCommonAffineTransformation008.ets | 143 + ...onentTextCommonAffineTransformation009.ets | 143 + ...onentTextCommonAffineTransformation011.ets | 116 + ...onentTextCommonAffineTransformation012.ets | 116 + ...onentTextCommonAffineTransformation017.ets | 194 + ...onentTextCommonAffineTransformation018.ets | 194 + ...onentTextCommonAffineTransformation020.ets | 206 + ...onentTextCommonAffineTransformation021.ets | 206 + ...onentTextCommonAffineTransformation026.ets | 179 + ...onentTextCommonAffineTransformation027.ets | 179 + ...onentTextCommonAffineTransformation035.ets | 54 + ...onentTextCommonAffineTransformation036.ets | 54 + ...onentTextCommonAffineTransformation037.ets | 56 + ...onentTextCommonAffineTransformation038.ets | 55 + ...onentTextCommonAffineTransformation039.ets | 55 + ...onentTextCommonAffineTransformation040.ets | 32 + ...onentTextCommonAffineTransformation041.ets | 55 + ...onentTextCommonAffineTransformation042.ets | 55 + ...onentTextCommonAffineTransformation045.ets | 56 + ...onentTextCommonAffineTransformation046.ets | 41 + ...onentTextCommonAffineTransformation047.ets | 66 + ...onentTextCommonAffineTransformation048.ets | 66 + ...onentTextCommonAffineTransformation049.ets | 67 + ...onentTextCommonAffineTransformation050.ets | 67 + ...onentTextCommonAffineTransformation051.ets | 66 + ...onentTextCommonAffineTransformation052.ets | 66 + .../UiComponentTextModifier001.ets | 104 + .../UiComponentTextModifier002.ets | 149 + .../UiComponentTextModifier003.ets | 101 + .../UiComponentTextModifier004.ets | 130 + .../UiComponentTextModifier005.ets | 129 + .../UiComponentTextModifier006.ets | 98 + .../UiComponentTextModifier007.ets | 145 + .../UiComponentTextModifier008.ets | 98 + .../UiComponentTextModifier009.ets | 161 + .../UiComponentTextModifier010.ets | 89 + .../UiComponentTextModifier011.ets | 144 + .../UiComponentTextModifier012.ets | 139 + .../UiComponentTextModifier013.ets | 129 + .../UiComponentTextModifier014.ets | 97 + .../UiComponentTextModifier015.ets | 108 + .../UiComponentTextModifier016.ets | 121 + .../UiComponentTextModifier017.ets | 119 + .../UiComponentTextModifier018.ets | 98 + .../UiComponentTextModifier019.ets | 98 + .../UiComponentTextModifier020.ets | 105 + .../UiComponentTextModifier021.ets | 105 + .../UiComponentTextModifier022.ets | 93 + .../UiComponentTextModifier023.ets | 85 + .../UiComponentTextModifier024.ets | 109 + .../UiComponentTextModifier025.ets | 108 + .../UiComponentTextModifier026.ets | 77 + .../UiComponentTextModifier027.ets | 141 + .../UiComponentTextModifier028.ets | 77 + .../UiComponentTextModifier029.ets | 108 + .../UiComponentTextModifier030.ets | 109 + .../UiComponentTextModifier031.ets | 76 + .../UiComponentTextModifier032.ets | 116 + .../UiComponentTextModifier033.ets | 92 + .../UiComponentTextModifier034.ets | 92 + .../UiComponentTextModifier035.ets | 92 + .../UiComponentTextModifier036.ets | 101 + .../UiComponentTextModifier037.ets | 91 + .../UiComponentTextModifier038.ets | 91 + .../UiComponentTextModifier039.ets | 107 + .../UiComponentTextModifier040.ets | 91 + .../UiComponentTextModifier041.ets | 154 + .../UiComponentTextModifier042.ets | 90 + .../UiComponentTextModifier043.ets | 121 + .../UiComponentTextModifier044.ets | 121 + .../UiComponentTextModifier045.ets | 121 + .../UiComponentTextModifier046.ets | 105 + .../UiComponentTextModifier047.ets | 88 + .../UiComponentTextModifier048.ets | 119 + .../UiComponentTextModifier049.ets | 78 + .../UiComponentTextModifier050.ets | 86 + .../UiComponentTextModifier051.ets | 94 + .../UiComponentTextModifier052.ets | 105 + .../UiComponentTextModifier053.ets | 85 + .../UiComponentTextModifier054.ets | 93 + .../UiComponentTextModifier055.ets | 101 + .../UiComponentTextModifier056.ets | 85 + .../UiComponentTextModifier057.ets | 85 + .../UiComponentTextModifier058.ets | 127 + .../UiComponentTextModifier059.ets | 93 + .../UiComponentTextModifier060.ets | 77 + .../UiComponentTextModifier061.ets | 141 + .../UiComponentTextModifier062.ets | 77 + .../UiComponentTextModifier063.ets | 109 + .../UiComponentTextModifier064.ets | 109 + .../UiComponentTextModifier065.ets | 93 + .../UiComponentTextModifier066.ets | 85 + .../UiComponentTextModifier067.ets | 94 + .../UiComponentTextModifier068.ets | 77 + .../UiComponentTextModifier069.ets | 80 + .../UiComponentTextModifier070.ets | 78 + .../UiComponentTextModifier071.ets | 78 + .../UiComponentTextModifier072.ets | 80 + .../UiComponentTextModifier073.ets | 79 + .../UiComponentTextModifier074.ets | 78 + .../UiComponentTextModifier075.ets | 87 + .../UiComponentTextModifier076.ets | 79 + .../UiComponentTextModifier077.ets | 103 + .../UiComponentTextModifier078.ets | 110 + .../UiComponentTextModifier079.ets | 86 + .../UiComponentTextModifier080.ets | 110 + .../UiComponentTextModifier081.ets | 78 + .../UiComponentTextModifier082.ets | 110 + .../UiComponentTextModifier083.ets | 142 + .../UiComponentTextModifier084.ets | 110 + .../UiComponentTextModifier085.ets | 86 + .../UiComponentTextModifier086.ets | 78 + .../UiComponentTextModifier087.ets | 142 + .../UiComponentTextModifier088.ets | 78 + .../UiComponentTextModifier089.ets | 110 + .../UiComponentTextModifier090.ets | 110 + .../UiComponentTextModifier091.ets | 94 + .../UiComponentTextModifier092.ets | 94 + .../UiComponentTextModifier093.ets | 79 + .../UiComponentTextModifier094.ets | 81 + .../UiComponentTextModifier095.ets | 128 + .../UiComponentTextModifier096.ets | 95 + .../UiComponentTextTextareaInterface001.ets | 39 + .../UiComponentTextTextareaInterface002.ets | 39 + .../UiComponentTextTextareaInterface004.ets | 40 + .../UiComponentTextTextareaInterface005.ets | 40 + .../UiComponentTextTextareaInterface006.ets | 40 + .../UiComponentTextTextareaInterface007.ets | 40 + .../UiComponentTextTextareaInterface009.ets | 40 + .../UiComponentTextTextareaInterface1000.ets | 40 + .../UiComponentTextTextareaInterface1010.ets | 42 + .../UiComponentTextTextareaInterface1030.ets | 43 + .../UiComponentTextTextareaInterface1080.ets | 41 + .../UiComponentTextTextareaInterface1090.ets | 38 + .../UiComponentTextTextareaInterface140.ets | 40 + .../UiComponentTextTextareaInterface150.ets | 40 + .../UiComponentTextTextareaInterface170.ets | 40 + .../UiComponentTextTextareaInterface210.ets | 42 + .../UiComponentTextTextareaInterface220.ets | 42 + .../UiComponentTextTextareaInterface230.ets | 42 + .../UiComponentTextTextareaInterface340.ets | 40 + .../UiComponentTextTextareaInterface360.ets | 40 + .../UiComponentTextTextareaInterface370.ets | 40 + .../UiComponentTextTextareaInterface380.ets | 40 + .../UiComponentTextTextareaInterface420.ets | 40 + .../UiComponentTextTextareaInterface430.ets | 40 + .../UiComponentTextTextareaInterface440.ets | 40 + .../UiComponentTextTextareaInterface450.ets | 40 + .../UiComponentTextTextareaInterface470.ets | 40 + .../UiComponentTextTextareaInterface480.ets | 40 + .../UiComponentTextTextareaInterface490.ets | 40 + .../UiComponentTextTextareaInterface510.ets | 40 + .../UiComponentTextTextareaInterface530.ets | 40 + .../UiComponentTextTextareaInterface540.ets | 39 + .../UiComponentTextTextareaInterface560.ets | 37 + .../UiComponentTextTextareaInterface600.ets | 40 + .../UiComponentTextTextareaInterface610.ets | 42 + .../UiComponentTextTextareaInterface620.ets | 42 + .../UiComponentTextTextareaInterface630.ets | 40 + .../UiComponentTextTextareaInterface640.ets | 37 + .../UiComponentTextTextareaInterface750.ets | 53 + .../UiComponentTextTextareaInterface760.ets | 70 + .../UiComponentTextTextareaInterface770.ets | 40 + .../UiComponentTextTextareaInterface860.ets | 37 + .../UiComponentTextTextareaInterface870.ets | 37 + .../UiComponentTextTextareaInterface890.ets | 37 + .../UiComponentTextTextareaInterface910.ets | 37 + .../UiComponentTextTextareaInterface920.ets | 37 + .../UiComponentTextTextareaInterface930.ets | 37 + .../UiComponentTextTextareaInterface950.ets | 37 + .../UiComponentTextTextareaInterface960.ets | 38 + .../UiComponentTextTextareaInterface970.ets | 38 + .../UiComponentTextTextareaInterface980.ets | 38 + .../UiComponentTextTextareaInterface990.ets | 43 + .../UiComponentWordbreak001.ets | 64 + .../UiComponentWordbreak002.ets | 67 + .../UiComponentWordbreak003.ets | 67 + .../UiComponentWordbreak004.ets | 67 + .../UiComponentWordbreak005.ets | 78 + .../UiComponentWordbreak006.ets | 77 + .../UiComponentWordbreak007.ets | 88 + .../UiComponentWordbreak008.ets | 66 + .../UiComponentWordbreak009.ets | 73 + .../UiComponentWordbreak010.ets | 69 + .../UiComponentWordbreak011.ets | 64 + .../UiComponentWordbreak012.ets | 62 + .../UiComponentWordbreak013.ets | 74 + .../UiComponentWordbreak014.ets | 81 + .../UiComponentWordbreak015.ets | 61 + .../UiComponentWordbreak016.ets | 69 + .../UiComponentWordbreak017.ets | 66 + .../UiComponentWordbreak018.ets | 66 + .../UiComponentWordbreak019.ets | 78 + .../UiComponentWordbreak020.ets | 69 + .../UiComponentWordbreak021.ets | 81 + .../UiComponentWordbreak022.ets | 72 + .../UiTextBrighten/UiTextBrighten001.ets | 40 + .../UiTextBrighten/UiTextBrighten002.ets | 43 + .../UiTextBrighten/UiTextBrighten003.ets | 40 + .../UiTextBrighten/UiTextBrighten004.ets | 44 + .../UiTextBrighten/UiTextBrighten005.ets | 44 + .../UiTextBrighten/UiTextBrighten006.ets | 57 + .../UiTextBrighten/UiTextBrighten007.ets | 44 + .../UiTextBrighten/UiTextBrighten008.ets | 44 + .../UiTextBrighten/UiTextBrighten009.ets | 44 + .../UiTextBrighten/UiTextBrighten010.ets | 57 + .../UiTextBrighten/UiTextBrighten011.ets | 44 + .../UiTextBrighten/UiTextBrighten012.ets | 57 + .../UiTextBrighten/UiTextBrighten013.ets | 57 + .../UiTextBrighten/UiTextBrighten014.ets | 44 + .../UiTextBrighten/UiTextBrighten015.ets | 44 + .../UiTextBrighten/UiTextBrighten016.ets | 43 + .../UiTextBrighten/UiTextBrighten017.ets | 43 + .../UiTextBrighten/UiTextBrighten018.ets | 111 + .../UiTextBrighten/UiTextBrighten019.ets | 92 + .../UiTextBrighten/UiTextBrighten020.ets | 57 + .../UiTextBrighten/UiTextBrighten021.ets | 43 + .../UiTextBrighten/UiTextBrighten022.ets | 44 + .../UiTextBrighten/UiTextBrighten023.ets | 41 + .../UiTextBrighten/UiTextBrighten024.ets | 42 + .../UiTextBrighten/UiTextBrighten025.ets | 46 + .../UiTextBrighten/UiTextBrighten026.ets | 39 + .../UiTextBrighten/UiTextBrighten027.ets | 42 + .../UiTextBrighten/UiTextBrighten028.ets | 39 + .../UiTextBrighten/UiTextBrighten029.ets | 42 + .../UiTextBrighten/UiTextBrighten030.ets | 42 + .../UiTextBrighten/UiTextBrighten031.ets | 55 + .../UiTextBrighten/UiTextBrighten032.ets | 42 + .../UiTextBrighten/UiTextBrighten033.ets | 42 + .../UiTextBrighten/UiTextBrighten034.ets | 42 + .../UiTextBrighten/UiTextBrighten035.ets | 55 + .../UiTextBrighten/UiTextBrighten036.ets | 46 + .../UiTextBrighten/UiTextBrighten037.ets | 42 + .../UiTextBrighten/UiTextBrighten038.ets | 55 + .../UiTextBrighten/UiTextBrighten039.ets | 44 + .../UiTextBrighten/UiTextBrighten040.ets | 48 + .../UiTextBrighten/UiTextBrighten041.ets | 89 + .../UiTextBrighten/UiTextBrighten042.ets | 39 + .../UiTextBrighten/UiTextBrighten043.ets | 39 + .../UiTextBrighten/UiTextBrighten044.ets | 39 + .../UiTextBrighten/UiTextBrighten045.ets | 39 + .../UiTextBrighten/UiTextBrighten046.ets | 39 + .../UiTextBrighten/UiTextBrighten047.ets | 39 + .../UiTextBrighten/UiTextBrighten048.ets | 93 + .../UiTextBrighten/UiTextBrighten049.ets | 88 + .../UiTextBrighten/UiTextBrighten050.ets | 88 + .../UiTextBrighten/UiTextBrighten051.ets | 62 + .../UiTextBrighten/UiTextBrighten052.ets | 39 + .../UiTextBrighten/UiTextBrighten053.ets | 41 + .../UiTextBrighten/UiTextBrighten054.ets | 41 + .../UiTextBrighten/UiTextBrighten055.ets | 41 + .../UiTextBrighten/UiTextBrighten056.ets | 35 + .../UiTextBrighten/UiTextBrighten057.ets | 38 + .../UiTextBrighten/UiTextBrighten058.ets | 35 + .../UiTextBrighten/UiTextBrighten059.ets | 89 + .../UiTextBrighten/UiTextBrighten060.ets | 39 + .../UiTextBrighten/UiTextBrighten061.ets | 39 + .../UiTextBrighten/UiTextBrighten062.ets | 49 + .../UiTextBrighten/UiTextBrighten063.ets | 40 + .../UiTextBrighten/UiTextBrighten064.ets | 40 + .../UiTextBrighten/UiTextBrighten065.ets | 40 + .../UiTextBrighten/UiTextBrighten066.ets | 50 + .../UiTextBrighten/UiTextBrighten067.ets | 40 + .../UiTextBrighten/UiTextBrighten068.ets | 40 + .../UiTextBrighten/UiTextBrighten069.ets | 50 + .../UiTextBrighten/UiTextBrighten070.ets | 46 + .../UiTextBrighten/UiTextBrighten071.ets | 49 + .../UiTextBrighten/UiTextBrighten072.ets | 49 + .../UiTextBrighten/UiTextBrighten073.ets | 89 + .../UiTextBrighten/UiTextBrighten074.ets | 41 + .../UiTextBrighten/UiTextBrighten075.ets | 41 + .../UiTextBrighten/UiTextBrighten076.ets | 41 + .../UiTextBrighten/UiTextBrighten077.ets | 68 + .../UiTextBrighten/UiTextBrighten078.ets | 42 + .../UiTextBrighten/UiTextBrighten079.ets | 41 + .../UiTextBrighten/UiTextBrighten080.ets | 41 + .../UiTextBrighten/UiTextBrighten081.ets | 41 + .../UiTextBrighten/UiTextBrighten082.ets | 44 + .../UiTextBrighten/UiTextBrighten083.ets | 47 + .../UiTextBrighten/UiTextBrighten084.ets | 44 + .../UiTextBrighten/UiTextBrighten085.ets | 107 + .../UiTextBrighten/UiTextBrighten086.ets | 47 + .../UiTextBrighten/UiTextBrighten087.ets | 47 + .../UiTextBrighten/UiTextBrighten088.ets | 69 + .../UiTextBrighten/UiTextBrighten089.ets | 47 + .../UiTextBrighten/UiTextBrighten090.ets | 47 + .../UiTextBrighten/UiTextBrighten091.ets | 47 + .../UiTextBrighten/UiTextBrighten092.ets | 67 + .../UiTextBrighten/UiTextBrighten093.ets | 45 + .../UiTextBrighten/UiTextBrighten094.ets | 45 + .../UiTextBrighten/UiTextBrighten095.ets | 67 + .../UiTextBrighten/UiTextBrighten096.ets | 63 + .../UiTextBrighten/UiTextBrighten097.ets | 67 + .../UiTextBrighten/UiTextBrighten098.ets | 52 + .../UiTextBrighten/UiTextBrighten099.ets | 50 + .../UiTextBrighten/UiTextBrighten100.ets | 50 + .../UiTextBrighten/UiTextBrighten101.ets | 50 + .../UiTextBrighten/UiTextBrighten102.ets | 78 + .../UiTextBrighten/UiTextBrighten103.ets | 67 + .../UiTextBrighten/UiTextBrighten104.ets | 64 + .../UiTextBrighten/UiTextBrighten105.ets | 94 + .../UiTextBrighten/UiTextBrighten106.ets | 49 + .../UiTextBrighten/UiTextBrighten107.ets | 49 + .../UiTextBrighten/UiTextBrighten108.ets | 76 + .../UiTextBrighten/UiTextBrighten109.ets | 50 + .../UiTextBrighten/UiTextBrighten110.ets | 82 + .../UiTextBrighten/UiTextBrighten111.ets | 75 + .../UiTextBrighten/UiTextBrighten112.ets | 75 + .../pages/UiTextShadow/UiTextShadow001.ets | 40 + .../pages/UiTextShadow/UiTextShadow002.ets | 43 + .../pages/UiTextShadow/UiTextShadow003.ets | 40 + .../pages/UiTextShadow/UiTextShadow004.ets | 43 + .../pages/UiTextShadow/UiTextShadow005.ets | 43 + .../pages/UiTextShadow/UiTextShadow006.ets | 56 + .../pages/UiTextShadow/UiTextShadow007.ets | 44 + .../pages/UiTextShadow/UiTextShadow008.ets | 44 + .../pages/UiTextShadow/UiTextShadow009.ets | 44 + .../pages/UiTextShadow/UiTextShadow010.ets | 57 + .../pages/UiTextShadow/UiTextShadow011.ets | 44 + .../pages/UiTextShadow/UiTextShadow012.ets | 44 + .../pages/UiTextShadow/UiTextShadow013.ets | 57 + .../pages/UiTextShadow/UiTextShadow014.ets | 57 + .../pages/UiTextShadow/UiTextShadow015.ets | 44 + .../pages/UiTextShadow/UiTextShadow016.ets | 44 + .../pages/UiTextShadow/UiTextShadow017.ets | 43 + .../pages/UiTextShadow/UiTextShadow018.ets | 43 + .../pages/UiTextShadow/UiTextShadow019.ets | 111 + .../pages/UiTextShadow/UiTextShadow020.ets | 94 + .../pages/UiTextShadow/UiTextShadow021.ets | 72 + .../pages/UiTextShadow/UiTextShadow022.ets | 46 + .../ohosTest/ets/testability/pages/demo.ets | 55 + .../ets/testrunner/OpenHarmonyTestRunner.ts | 64 + .../uicompare/entry/src/ohosTest/module.json5 | 60 + .../resources/base/element/color.json | 24 + .../resources/base/element/float.json | 8 + .../resources/base/element/integer.json | 15 + .../resources/base/element/string.json | 56 + .../resources/base/media/big_icon.png | Bin 0 -> 27877 bytes .../src/ohosTest/resources/base/media/cat.jpg | Bin 0 -> 239194 bytes .../resources/base/media/closeeye.png | Bin 0 -> 45430 bytes .../ohosTest/resources/base/media/color.json | 12 + .../ohosTest/resources/base/media/icon.png | Bin 0 -> 6790 bytes .../ohosTest/resources/base/media/img2.png | Bin 0 -> 6790 bytes .../ohosTest/resources/base/media/openeye.png | Bin 0 -> 12417 bytes .../resources/base/profile/test_pages.json | 1674 +++++++++ .../src/ohosTest/resources/rawfile/cat.jpg | Bin 0 -> 239194 bytes .../ohosTest/resources/rawfile/font/own.ttf | Bin 0 -> 4192486 bytes .../ohosTest/resources/rawfile/font/own1.ttf | Bin 0 -> 7797628 bytes .../ohosTest/resources/rawfile/font/own2.TTF | Bin 0 -> 7133048 bytes .../ohosTest/resources/rawfile/string.json | 8 + .../uicompare/hvigor/hvigor-config.json5 | 6 + .../uicompare/hvigor/hvigor-wrapper.js | 1 + .../ui_compare_rh/uicompare/hvigorfile.ts | 2 + function/ui_compare_rh/uicompare/hvigorw | 48 + function/ui_compare_rh/uicompare/hvigorw.bat | 64 + .../uicompare/oh-package-lock.json5 | 15 + .../ui_compare_rh/uicompare/oh-package.json5 | 12 + .../UiCompareTools_progress.py | 2810 ++++++++++++++ .../uicompare_tools/excel/actionSheet.xlsx | Bin 0 -> 9897 bytes .../uicompare_tools/excel/uicompare.xlsx | Bin 0 -> 9919 bytes .../ui_compare_rh/uicompare_tools/mode.html | 432 +++ .../ui_compare_rh/uicompare_tools/run.bat | 22 + 1982 files changed, 139556 insertions(+) create mode 100644 function/ui_compare_rh/README.md create mode 100644 function/ui_compare_rh/figures/1.png create mode 100644 function/ui_compare_rh/figures/10.png create mode 100644 function/ui_compare_rh/figures/11.png create mode 100644 function/ui_compare_rh/figures/12.png create mode 100644 function/ui_compare_rh/figures/13.png create mode 100644 function/ui_compare_rh/figures/14.png create mode 100644 function/ui_compare_rh/figures/15.png create mode 100644 function/ui_compare_rh/figures/16.png create mode 100644 function/ui_compare_rh/figures/17.png create mode 100644 function/ui_compare_rh/figures/18.png create mode 100644 function/ui_compare_rh/figures/19.png create mode 100644 function/ui_compare_rh/figures/2.png create mode 100644 function/ui_compare_rh/figures/20.png create mode 100644 function/ui_compare_rh/figures/21.png create mode 100644 function/ui_compare_rh/figures/22.png create mode 100644 function/ui_compare_rh/figures/23.png create mode 100644 function/ui_compare_rh/figures/24.png create mode 100644 function/ui_compare_rh/figures/25.png create mode 100644 function/ui_compare_rh/figures/3.png create mode 100644 function/ui_compare_rh/figures/4.png create mode 100644 function/ui_compare_rh/figures/5.png create mode 100644 function/ui_compare_rh/figures/6.png create mode 100644 function/ui_compare_rh/figures/7.png create mode 100644 function/ui_compare_rh/figures/8.png create mode 100644 function/ui_compare_rh/figures/9.png create mode 100644 function/ui_compare_rh/uicompare/.gitignore create mode 100644 function/ui_compare_rh/uicompare/AppScope/app.json5 create mode 100644 function/ui_compare_rh/uicompare/AppScope/resources/base/element/string.json create mode 100644 function/ui_compare_rh/uicompare/AppScope/resources/base/media/app_icon.png create mode 100644 function/ui_compare_rh/uicompare/build-profile.json5 create mode 100644 function/ui_compare_rh/uicompare/entry/.gitignore create mode 100644 function/ui_compare_rh/uicompare/entry/build-profile.json5 create mode 100644 function/ui_compare_rh/uicompare/entry/hvigorfile.ts create mode 100644 function/ui_compare_rh/uicompare/entry/oh-package.json5 create mode 100644 function/ui_compare_rh/uicompare/entry/src/main/ets/entryability/EntryAbility.ts create mode 100644 function/ui_compare_rh/uicompare/entry/src/main/ets/pages/Index.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/main/module.json5 create mode 100644 function/ui_compare_rh/uicompare/entry/src/main/resources/base/element/color.json create mode 100644 function/ui_compare_rh/uicompare/entry/src/main/resources/base/element/string.json create mode 100644 function/ui_compare_rh/uicompare/entry/src/main/resources/base/media/icon.png create mode 100644 function/ui_compare_rh/uicompare/entry/src/main/resources/base/profile/main_pages.json create mode 100644 function/ui_compare_rh/uicompare/entry/src/main/resources/en_US/element/string.json create mode 100644 function/ui_compare_rh/uicompare/entry/src/main/resources/zh_CN/element/string.json create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/2.png create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/cat.jpg create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/Ability.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ComponentAttributeStringModifyingStyleTest/ComponentAttributeStringModifyingStyle001.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ComponentAttributeStringModifyingStyleTextTest/ComponentAttributeStringModifyingStyleText001.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ComponentAttributeStringModifyingTextTest/ComponentAttributeStringModifyingText001.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ComponentLayoutCommonPixelTest/ComponentLayoutCommonPixelTest001.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ComponentLayoutModifierTest/ComponentLayoutModifierTest001.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ComponentRowColumnSidebarContainerAttributeTest/ComponentRowColumnSidebarContainerAttributeTest001.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ComponentRowColumnSidebarContainerBlurStyleTest/ComponentRowColumnSidebarContainerBlurStyleTest001.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ComponentTextAttributeStringConstructsTest/ComponentTextAttributeStringConstructsTest001.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ComponentTextAttributeStringTest/ComponentTextAttributeStringTest001.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ComponentTextCommonAffineTransformationTest/ComponentTextCommonAffineTransformationTest001.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ComponentTextCommonTextMinFontSizeTest/ComponentTextCommonTextMinFontSizeTest001.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/Demo.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/List.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIAttributeFontInterfaceTest/UIAttributeFontInterface001.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIAttributeFontInterfaceTest/UIAttributeFontInterface002.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIAttributeFontInterfaceTest/UIAttributeFontInterface003.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIAttributeFontInterfaceTest/UIAttributeFontInterfaceColor.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIAttributeFontInterfaceTest/UIAttributeFontInterfaceFontFamily.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIAttributeFontInterfaceTest/UIAttributeFontInterfaceSize.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIAttributeFontInterfaceTest/UIAttributeFontInterfaceStyle.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIAttributeFontInterfaceTest/UIAttributeFontInterfaceWeight.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIAttributeFontSupportstageTest/UIAttributeFontSupportstage.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIAttributePositionInterfaceTest/UIAttributePositionInterfaceTest.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIAttributePositionSizeLayoutTest/UIAttributePositionSizeLayoutTest.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIAttributePositionVisibilityTest/UIAttributePositionVisibility001.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentCommonattrDrawingLayoutTest/UIComponentCommonattrDrawingLayout.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentCreateColorTest/UIComponentCreateColor.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentDividerBlankInterfaceTest/UIComponentDividerBlankInterfaceColor.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentDividerBlankInterfaceTest/UIComponentDividerBlankInterfaceMin.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentDividerBlankLayout/UIComponentDividerBlankLayout.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentDividerDividerInterface/UIComponentDividerDividerInterface.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentDividerDividerLayout/UIComponentDividerDividerLayout.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentDividerStyle/UIComponentDividerStyle.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentLayoutColumnInterfaceTest/UIComponentLayoutColumnInterface.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentLayoutColumnLayoutTest/UIComponentLayoutColumnLayout.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentLayoutModifierTest/UIComponentLayoutModifier.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentLayoutStackTest/UIComponentLayoutStack.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentLineheightDecorationTest/UIComponentLineheightDecoration.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentScrollSwiperInterfaceMixTest/UIComponentScrollSwiperInterfaceMix.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentSymbolColorrenderingTest/UIComponentSymbolColorrendering.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentSymbolDisplayTest/UIComponentSymbolDisplay.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentTextCapiTest/UIComponentTextCapi.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentTextCommonAffingTranTest/UIComponentTextCommonAffingTran.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentTextCommonLinespaceCTest/UIComponentTextCommonLinespaceC.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentTextCommonLinespaceTest/UIComponentTextCommonLinespace.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentTextCommonLocationTest/UIComponentTextCommonLocation.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentTextCommonTextStyleTest/UIComponentTextCommonTextStyleSpan.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentTextCommonTextStyleTest/UIComponentTextCommonTextStyleText.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentTextCommonTextStyleTest/UIComponentTextCommonTextStyleTextArea.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentTextCommonTextStyleTest/UiComponentTextCommonTextstyle.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentTextRefactorAdjustment/UIComponentTextRefactorAdjustment.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentTextTextareEnhances/UIComponentTextTextareEnhances.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentTextTextinputActionTest/UIComponentTextTextinputAction.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentTextTextinputInterfaceTest/UIComponentTextTextinputInterface.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentTextTextinputPolymorphicTest/UIComponentTextTextinputPolymorphic.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentTextinputUnderlinecolorTest/UIComponentTextinputUnderlinecolor.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIFontFeatureTest/UIFontFeature.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UITestCaseTest/UITestCase.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UiComponentDividerStyleTest/UiComponentDividerStyle.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UiComponentLayoutCommonPixelTest/UiComponentLayoutCommonPixel.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UiComponentNavModifierTest/UiComponentNavModifier.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UiComponentRowcolumnSidebarcontainerInterfaceTest/UiComponentRowcolumnSidebarcontainerInterface.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UiComponentSpanBaselineoffsetTest/UiComponentSpanBaselineoffset.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UiComponentSymbolSymbolTest/UiComponentSymbolSymbol.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UiComponentTextCommonAffineTransformationTest/UiComponentTextCommonAffineTransformation.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UiComponentTextModifierTest/UiComponentTextModifier.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UiComponentTextTextareaInterfaceTest/UiComponentTextTextareaInterface.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UiComponentWordbreakTest/UiComponentWordbreak.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UiTextBrightenTest/UiTextBrightenTest001.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UiTextShadowTest/UiTextShadowTest001.test.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/model/Logger.ts create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/model/Settings.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/model/Utils.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/model/globalThis.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/model/snapShot.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/TestAbility.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentAttributeStringModifyingStyle/ComponentAttributeStringModifyingStyle001.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentAttributeStringModifyingStyle/ComponentAttributeStringModifyingStyle002.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentAttributeStringModifyingStyle/ComponentAttributeStringModifyingStyle003.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentAttributeStringModifyingStyle/ComponentAttributeStringModifyingStyle004.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentAttributeStringModifyingStyle/ComponentAttributeStringModifyingStyle005.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentAttributeStringModifyingStyle/ComponentAttributeStringModifyingStyle006.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentAttributeStringModifyingStyleText/ComponentAttributeStringModifyingStyleText001.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentAttributeStringModifyingStyleText/ComponentAttributeStringModifyingStyleText002.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentAttributeStringModifyingStyleText/ComponentAttributeStringModifyingStyleText003.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentAttributeStringModifyingStyleText/ComponentAttributeStringModifyingStyleText004.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentAttributeStringModifyingStyleText/ComponentAttributeStringModifyingStyleText005.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentAttributeStringModifyingText/ComponentAttributeStringModifyingText001.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentAttributeStringModifyingText/ComponentAttributeStringModifyingText002.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentAttributeStringModifyingText/ComponentAttributeStringModifyingText003.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentAttributeStringModifyingText/ComponentAttributeStringModifyingText004.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentAttributeStringModifyingText/ComponentAttributeStringModifyingText005.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentAttributeStringModifyingText/ComponentAttributeStringModifyingText006.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentAttributeStringModifyingText/ComponentAttributeStringModifyingText007.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentAttributeStringModifyingText/ComponentAttributeStringModifyingText008.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentAttributeStringModifyingText/ComponentAttributeStringModifyingText009.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentAttributeStringModifyingText/ComponentAttributeStringModifyingText010.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentLayoutCommonPixel/ComponentLayoutCommonPixel001.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentLayoutCommonPixel/ComponentLayoutCommonPixel002.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentLayoutCommonPixel/ComponentLayoutCommonPixel003.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentLayoutCommonPixel/ComponentLayoutCommonPixel004.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentLayoutCommonPixel/ComponentLayoutCommonPixel005.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentLayoutCommonPixel/ComponentLayoutCommonPixel006.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentLayoutCommonPixel/ComponentLayoutCommonPixel007.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentLayoutCommonPixel/ComponentLayoutCommonPixel008.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentLayoutCommonPixel/ComponentLayoutCommonPixel009.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentLayoutCommonPixel/ComponentLayoutCommonPixel010.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentLayoutCommonPixel/ComponentLayoutCommonPixel011.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentLayoutCommonPixel/ComponentLayoutCommonPixel012.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentLayoutCommonPixel/ComponentLayoutCommonPixel013.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentLayoutCommonPixel/ComponentLayoutCommonPixel014.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentLayoutCommonPixel/ComponentLayoutCommonPixel015.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentLayoutCommonPixel/ComponentLayoutCommonPixel016.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentLayoutCommonPixel/ComponentLayoutCommonPixel017.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentLayoutCommonPixel/ComponentLayoutCommonPixel018.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentLayoutCommonPixel/ComponentLayoutCommonPixel019.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentLayoutCommonPixel/ComponentLayoutCommonPixel020.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentLayoutCommonPixel/ComponentLayoutCommonPixel021.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentLayoutModifier/ComponentLayoutModifier001.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentLayoutModifier/ComponentLayoutModifier002.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentLayoutModifier/ComponentLayoutModifier003.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentLayoutModifier/ComponentLayoutModifier004.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentLayoutModifier/ComponentLayoutModifier005.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentLayoutModifier/ComponentLayoutModifier006.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentLayoutModifier/ComponentLayoutModifier007.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentLayoutModifier/ComponentLayoutModifier008.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentLayoutModifier/ComponentLayoutModifier009.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentLayoutModifier/ComponentLayoutModifier010.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentLayoutModifier/ComponentLayoutModifier011.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentLayoutModifier/ComponentLayoutModifier012.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentLayoutModifier/ComponentLayoutModifier013.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentLayoutModifier/ComponentLayoutModifier014.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentLayoutModifier/ComponentLayoutModifier015.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentRowColumnSidebarContainerAttribute/ComponentRowColumnSidebarContainerAttribute001.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentRowColumnSidebarContainerAttribute/ComponentRowColumnSidebarContainerAttribute002.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentRowColumnSidebarContainerBlurStyle/ComponentRowColumnSidebarContainerBlurStyle001.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentRowColumnSidebarContainerBlurStyle/ComponentRowColumnSidebarContainerBlurStyle002.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentRowColumnSidebarContainerBlurStyle/ComponentRowColumnSidebarContainerBlurStyle003.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentRowColumnSidebarContainerBlurStyle/ComponentRowColumnSidebarContainerBlurStyle004.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentRowColumnSidebarContainerBlurStyle/ComponentRowColumnSidebarContainerBlurStyle005.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentRowColumnSidebarContainerBlurStyle/ComponentRowColumnSidebarContainerBlurStyle006.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentRowColumnSidebarContainerBlurStyle/ComponentRowColumnSidebarContainerBlurStyle007.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentRowColumnSidebarContainerBlurStyle/ComponentRowColumnSidebarContainerBlurStyle008.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeString/ComponentTextAttributeString001.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeString/ComponentTextAttributeString002.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeString/ComponentTextAttributeString003.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeString/ComponentTextAttributeString004.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeString/ComponentTextAttributeString005.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeString/ComponentTextAttributeString006.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeString/ComponentTextAttributeString007.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeString/ComponentTextAttributeString008.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeString/ComponentTextAttributeString009.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeString/ComponentTextAttributeString010.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeString/ComponentTextAttributeString011.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeString/ComponentTextAttributeString012.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeString/ComponentTextAttributeString013.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeString/ComponentTextAttributeString014.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeString/ComponentTextAttributeString015.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeString/ComponentTextAttributeString016.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeString/ComponentTextAttributeString017.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeString/ComponentTextAttributeString018.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeString/ComponentTextAttributeString019.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeString/ComponentTextAttributeString020.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeString/ComponentTextAttributeString021.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeString/ComponentTextAttributeString022.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeString/ComponentTextAttributeString023.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeString/ComponentTextAttributeString024.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeString/ComponentTextAttributeString025.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeString/ComponentTextAttributeString026.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeString/ComponentTextAttributeString027.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeString/ComponentTextAttributeString028.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeString/ComponentTextAttributeString029.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeString/ComponentTextAttributeString030.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeString/ComponentTextAttributeString031.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeString/ComponentTextAttributeString032.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeString/ComponentTextAttributeString033.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeString/ComponentTextAttributeString034.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeString/ComponentTextAttributeString035.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeString/ComponentTextAttributeString036.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeString/ComponentTextAttributeString037.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeString/ComponentTextAttributeString038.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeString/ComponentTextAttributeString039.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeString/ComponentTextAttributeString040.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeString/ComponentTextAttributeString041.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeString/ComponentTextAttributeString042.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeString/ComponentTextAttributeString043.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeString/ComponentTextAttributeString044.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeString/ComponentTextAttributeString045.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeString/ComponentTextAttributeString046.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeString/ComponentTextAttributeString047.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeString/ComponentTextAttributeString048.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeString/ComponentTextAttributeString049.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeString/ComponentTextAttributeString050.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeString/ComponentTextAttributeString051.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeString/ComponentTextAttributeString052.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeString/ComponentTextAttributeString053.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeString/ComponentTextAttributeString054.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeString/ComponentTextAttributeString055.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeString/ComponentTextAttributeString056.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeString/ComponentTextAttributeString057.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeString/ComponentTextAttributeString058.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeString/ComponentTextAttributeString059.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeString/ComponentTextAttributeString060.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeStringConstructs/ComponentTextAttributeStringConstructs001.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeStringConstructs/ComponentTextAttributeStringConstructs002.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeStringConstructs/ComponentTextAttributeStringConstructs003.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeStringConstructs/ComponentTextAttributeStringConstructs004.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeStringConstructs/ComponentTextAttributeStringConstructs005.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeStringConstructs/ComponentTextAttributeStringConstructs006.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeStringConstructs/ComponentTextAttributeStringConstructs007.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeStringConstructs/ComponentTextAttributeStringConstructs008.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeStringConstructs/ComponentTextAttributeStringConstructs009.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeStringConstructs/ComponentTextAttributeStringConstructs010.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeStringConstructs/ComponentTextAttributeStringConstructs011.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeStringConstructs/ComponentTextAttributeStringConstructs012.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeStringConstructs/ComponentTextAttributeStringConstructs013.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeStringConstructs/ComponentTextAttributeStringConstructs014.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeStringConstructs/ComponentTextAttributeStringConstructs015.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeStringConstructs/ComponentTextAttributeStringConstructs016.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeStringConstructs/ComponentTextAttributeStringConstructs017.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeStringConstructs/ComponentTextAttributeStringConstructs018.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeStringConstructs/ComponentTextAttributeStringConstructs019.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeStringConstructs/ComponentTextAttributeStringConstructs020.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeStringConstructs/ComponentTextAttributeStringConstructs021.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeStringConstructs/ComponentTextAttributeStringConstructs022.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeStringConstructs/ComponentTextAttributeStringConstructs023.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeStringConstructs/ComponentTextAttributeStringConstructs024.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeStringConstructs/ComponentTextAttributeStringConstructs025.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeStringConstructs/ComponentTextAttributeStringConstructs026.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeStringConstructs/ComponentTextAttributeStringConstructs027.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeStringConstructs/ComponentTextAttributeStringConstructs028.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextAttributeStringConstructs/ComponentTextAttributeStringConstructs029.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextCommonAffineTransformation/ComponentTextCommonAffineTransformation001.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextCommonAffineTransformation/ComponentTextCommonAffineTransformation002.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextCommonAffineTransformation/ComponentTextCommonAffineTransformation003.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextCommonAffineTransformation/ComponentTextCommonAffineTransformation004.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextCommonAffineTransformation/ComponentTextCommonAffineTransformation005.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextCommonAffineTransformation/ComponentTextCommonAffineTransformation006.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextCommonAffineTransformation/ComponentTextCommonAffineTransformation007.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextCommonAffineTransformation/ComponentTextCommonAffineTransformation008.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextCommonAffineTransformation/ComponentTextCommonAffineTransformation009.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextCommonAffineTransformation/ComponentTextCommonAffineTransformation010.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextCommonAffineTransformation/ComponentTextCommonAffineTransformation011.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextCommonAffineTransformation/ComponentTextCommonAffineTransformation012.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextCommonTextMinFontSize/ComponentTextCommonTextMinFontSize001.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextCommonTextMinFontSize/ComponentTextCommonTextMinFontSize002.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextCommonTextMinFontSize/ComponentTextCommonTextMinFontSize003.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextCommonTextMinFontSize/ComponentTextCommonTextMinFontSize004.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextCommonTextMinFontSize/ComponentTextCommonTextMinFontSize005.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextCommonTextMinFontSize/ComponentTextCommonTextMinFontSize006.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/ComponentTextCommonTextMinFontSize/ComponentTextCommonTextMinFontSize007.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/Index.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface/UIAttributeFontInterface001.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface/UIAttributeFontInterface002.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface/UIAttributeFontInterface003.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface/UIAttributeFontInterface004.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface/UIAttributeFontInterface007.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface/UIAttributeFontInterface008.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface/UIAttributeFontInterface009.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface/UIAttributeFontInterface010.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface/UIAttributeFontInterface011.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface/UIAttributeFontInterface012.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface/UIAttributeFontInterface013.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface/UIAttributeFontInterface014.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface/UIAttributeFontInterface015.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface/UIAttributeFontInterface016.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface/UIAttributeFontInterface017.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface/UIAttributeFontInterface018.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface/UIAttributeFontInterface019.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface/UIAttributeFontInterface020.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface/UIAttributeFontInterface021.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface/UIAttributeFontInterface022.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface/UIAttributeFontInterface023.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface/UIAttributeFontInterface024.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface/UIAttributeFontInterface025.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface/UIAttributeFontInterface026.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface/UIAttributeFontInterface027.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface/UIAttributeFontInterface028.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface/UIAttributeFontInterface029.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface/UIAttributeFontInterface030.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface/UIAttributeFontInterface031.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface/UIAttributeFontInterface050.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface/UIAttributeFontInterface060.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage01.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage03.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage04.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage05.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage06.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage07.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage08.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage09.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage10.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage100.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage101.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage102.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage103.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage104.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage105.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage106.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage107.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage108.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage109.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage11.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage110.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage111.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage112.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage113.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage114.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage115.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage116.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage117.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage118.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage119.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage12.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage120.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage121.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage122.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage123.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage124.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage125.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage126.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage127.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage128.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage129.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage13.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage130.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage131.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage132.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage133.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage134.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage135.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage136.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage137.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage138.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage139.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage14.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage140.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage141.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage142.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage143.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage144.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage145.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage146.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage147.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage148.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage149.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage15.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage150.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage151.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage152.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage153.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage154.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage155.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage156.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage157.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage158.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage159.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage16.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage160.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage161.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage162.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage163.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage164.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage165.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage166.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage167.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage168.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage169.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage17.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage170.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage171.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage172.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage173.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage174.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage175.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage176.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage177.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage178.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage179.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage18.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage180.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage181.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage182.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage183.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage184.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage185.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage186.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage19.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage20.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage21.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage22.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage23.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage24.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage25.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage26.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage27.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage28.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage29.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage30.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage33.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage34.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage35.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage36.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage41.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage42.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage43.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage44.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage45.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage46.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage47.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage48.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage49.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage50.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage51.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage52.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage53.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage54.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage55.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage56.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage57.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage58.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage59.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage60.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage61.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage62.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage63.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage64.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage65.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage66.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage67.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage68.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage69.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage70.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage71.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage72.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage73.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage74.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage75.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage76.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage77.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage78.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage79.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage80.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage81.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage82.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage83.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage84.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage85.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage86.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage87.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage88.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage89.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage90.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage91.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage92.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage93.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage94.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage95.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage96.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage97.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage98.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface02/fontAttributePage99.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle01.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle02.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle03.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle04.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle05.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle06.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle07.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle08.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle09.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle10.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle11.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle12.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle13.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle14.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle15.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle16.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle17.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle18.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle19.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle20.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle21.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle23.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle24.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle25.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle26.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle27.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle28.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle29.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle30.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle31.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle32.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle33.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle34.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle35.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle36.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle37.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle38.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle39.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle40.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle41.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle42.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle43.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle44.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle45.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle46.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle47.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle48.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle49.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle50.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle51.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle52.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle53.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle54.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle55.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle56.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle57.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle58.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle59.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle60.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle61.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle62.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle63.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle64.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle65.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle66.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle67.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle68.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle69.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle70.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle71.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle72.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle73.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle74.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle75.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle76.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle77.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle78.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle79.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle80.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle81.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle82.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle83.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle84.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle85.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle86.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontInterface04/fontAttributeAndStyle_01.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontSupportstage/UIAttributeFontSupportstage001.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontSupportstage/UIAttributeFontSupportstage002.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontSupportstage/UIAttributeFontSupportstage003.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontSupportstage/UIAttributeFontSupportstage004.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontSupportstage/UIAttributeFontSupportstage005.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontSupportstage/UIAttributeFontSupportstage006.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontSupportstage/UIAttributeFontSupportstage007.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontSupportstage/UIAttributeFontSupportstage008.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontSupportstage/UIAttributeFontSupportstage009.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributeFontSupportstage/UIAttributeFontSupportstage010.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributePositionInterface/UIAttributePositionInterface001.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributePositionInterface/UIAttributePositionInterface002.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributePositionInterface/UIAttributePositionInterface003.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributePositionInterface/UIAttributePositionInterface004.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributePositionInterface/UIAttributePositionInterface005.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributePositionInterface/UIAttributePositionInterface006.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributePositionSizeLayout/UIAttributePositionSizeLayout001.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributePositionSizeLayout/UIAttributePositionSizeLayout002.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributePositionSizeLayout/UIAttributePositionSizeLayout003.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributePositionSizeLayout/UIAttributePositionSizeLayout004.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributePositionSizeLayout/UIAttributePositionSizeLayout005.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributePositionSizeLayout/UIAttributePositionSizeLayout006.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributePositionVisibility/UIAttributePositionVisibility001.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributePositionVisibility/UIAttributePositionVisibility002.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributePositionVisibility/UIAttributePositionVisibility003.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributePositionVisibility/UIAttributePositionVisibility004.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributePositionVisibility/UIAttributePositionVisibility005.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributePositionVisibility/UIAttributePositionVisibility006.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributePositionVisibility/UIAttributePositionVisibility007.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributePositionVisibility/UIAttributePositionVisibility008.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributePositionVisibility/UIAttributePositionVisibility009.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributePositionVisibility/UIAttributePositionVisibility0100.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributePositionVisibility/UIAttributePositionVisibility0110.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIAttributePositionVisibility/UIAttributePositionVisibility0120.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentCommonattrDrawingLayout/UIComponentCommonattrDrawingLayout001.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentCommonattrDrawingLayout/UIComponentCommonattrDrawingLayout002.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentCommonattrDrawingLayout/UIComponentCommonattrDrawingLayout003.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentCommonattrDrawingLayout/UIComponentCommonattrDrawingLayout004.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentCommonattrDrawingLayout/UIComponentCommonattrDrawingLayout005.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentCommonattrDrawingLayout/UIComponentCommonattrDrawingLayout006.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentCommonattrDrawingLayout/UIComponentCommonattrDrawingLayout007.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentCommonattrDrawingLayout/UIComponentCommonattrDrawingLayout008.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentCommonattrDrawingLayout/UIComponentCommonattrDrawingLayout009.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentCommonattrDrawingLayout/UIComponentCommonattrDrawingLayout010.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentCommonattrDrawingLayout/UIComponentCommonattrDrawingLayout011.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentCommonattrDrawingLayout/UIComponentCommonattrDrawingLayout012.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentCommonattrDrawingLayout/UIComponentCommonattrDrawingLayout013.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentCommonattrDrawingLayout/UIComponentCommonattrDrawingLayout014.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentCommonattrDrawingLayout/UIComponentCommonattrDrawingLayout015.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentCommonattrDrawingLayout/UIComponentCommonattrDrawingLayout016.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentCommonattrDrawingLayout/UIComponentCommonattrDrawingLayout017.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentCommonattrDrawingLayout/UIComponentCommonattrDrawingLayout018.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentCommonattrDrawingLayout/UIComponentCommonattrDrawingLayout019.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentCommonattrDrawingLayout/UIComponentCommonattrDrawingLayout020.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentCommonattrDrawingLayout/UIComponentCommonattrDrawingLayout021.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentCommonattrDrawingLayout/UIComponentCommonattrDrawingLayout022.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentCommonattrDrawingLayout/UIComponentCommonattrDrawingLayout023.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentCommonattrDrawingLayout/UIComponentCommonattrDrawingLayout024.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentCommonattrDrawingLayout/UIComponentCommonattrDrawingLayout025.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentCommonattrDrawingLayout/UIComponentCommonattrDrawingLayout026.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentCommonattrDrawingLayout/UIComponentCommonattrDrawingLayout027.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentCreateColor/UIComponentCreateColor005.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentCreateColor/UIComponentCreateColor010.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentCreateColor/UIComponentCreateColor014.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerBlankInterface/UIComponentDividerBlankInterface009.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerBlankInterface/UIComponentDividerBlankInterface010.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerBlankInterface/UIComponentDividerBlankInterface012.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerBlankInterface/UIComponentDividerBlankInterface013.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerBlankInterface/UIComponentDividerBlankInterface014.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerBlankInterface/UIComponentDividerBlankInterface015.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerBlankInterface/UIComponentDividerBlankInterface016.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerBlankInterface/UIComponentDividerBlankInterface017.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerBlankInterface/UIComponentDividerBlankInterface018.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerBlankInterface/UIComponentDividerBlankInterface019.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerBlankInterface/UIComponentDividerBlankInterface020.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerBlankInterface/UIComponentDividerBlankInterface022.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerBlankLayout/UIComponentDividerBlankLayout001.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerBlankLayout/UIComponentDividerBlankLayout002.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerBlankLayout/UIComponentDividerBlankLayout003.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerBlankLayout/UIComponentDividerBlankLayout004.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerBlankLayout/UIComponentDividerBlankLayout005.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerBlankLayout/UIComponentDividerBlankLayout006.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerBlankLayout/UIComponentDividerBlankLayout007.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerBlankLayout/UIComponentDividerBlankLayout008.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerBlankLayout/UIComponentDividerBlankLayout009.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerBlankLayout/UIComponentDividerBlankLayout010.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerBlankLayout/UIComponentDividerBlankLayout011.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerBlankLayout/UIComponentDividerBlankLayout012.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerBlankLayout/UIComponentDividerBlankLayout013.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerBlankLayout/UIComponentDividerBlankLayout014.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerBlankLayout/UIComponentDividerBlankLayout015.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerBlankLayout/UIComponentDividerBlankLayout016.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerBlankLayout/UIComponentDividerBlankLayout017.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerBlankLayout/UIComponentDividerBlankLayout018.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerBlankLayout/UIComponentDividerBlankLayout019.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerBlankLayout/UIComponentDividerBlankLayout020.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerBlankLayout/UIComponentDividerBlankLayout021.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerBlankLayout/UIComponentDividerBlankLayout022.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerBlankLayout/UIComponentDividerBlankLayout023.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerDividerInterface/UIComponentDividerDividerInterface007.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerDividerLayout/UIComponentDividerDividerLayout001.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerDividerLayout/UIComponentDividerDividerLayout002.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerDividerLayout/UIComponentDividerDividerLayout003.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerStyle/UIComponentDividerStyle029.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerStyle/UIComponentDividerStyle030.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerStyle/UIComponentDividerStyle031.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerStyle/UIComponentDividerStyle032.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerStyle/UIComponentDividerStyle033.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerStyle/UIComponentDividerStyle034.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerStyle/UIComponentDividerStyle035.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerStyle/UiComponentDividerStyle001.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerStyle/UiComponentDividerStyle002.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerStyle/UiComponentDividerStyle003.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerStyle/UiComponentDividerStyle004.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerStyle/UiComponentDividerStyle005.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerStyle/UiComponentDividerStyle006.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerStyle/UiComponentDividerStyle007.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerStyle/UiComponentDividerStyle008.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerStyle/UiComponentDividerStyle009.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerStyle/UiComponentDividerStyle010.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerStyle/UiComponentDividerStyle011.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerStyle/UiComponentDividerStyle012.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerStyle/UiComponentDividerStyle013.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerStyle/UiComponentDividerStyle014.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerStyle/UiComponentDividerStyle015.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerStyle/UiComponentDividerStyle016.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerStyle/UiComponentDividerStyle017.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerStyle/UiComponentDividerStyle018.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerStyle/UiComponentDividerStyle019.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerStyle/UiComponentDividerStyle020.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerStyle/UiComponentDividerStyle021.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerStyle/UiComponentDividerStyle022.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerStyle/UiComponentDividerStyle023.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerStyle/UiComponentDividerStyle024.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerStyle/UiComponentDividerStyle025.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerStyle/UiComponentDividerStyle026.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerStyle/UiComponentDividerStyle027.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentDividerStyle/UiComponentDividerStyle028.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutColumnInterface/UIComponentLayoutColumnInterface003.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutColumnInterface/UIComponentLayoutColumnInterface004.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutColumnInterface/UIComponentLayoutColumnInterface005.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutColumnInterface/UIComponentLayoutColumnInterface006.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutColumnInterface/UIComponentLayoutColumnInterface007.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutColumnInterface/UIComponentLayoutColumnInterface008.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutColumnInterface/UIComponentLayoutColumnInterface009.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutColumnInterface/UIComponentLayoutColumnInterface010.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutColumnInterface/UIComponentLayoutColumnInterface011.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutColumnInterface/UIComponentLayoutColumnInterface012.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutColumnInterface/UIComponentLayoutColumnInterface013.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutColumnInterface/UIComponentLayoutColumnInterface014.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutColumnInterface/UIComponentLayoutColumnInterface015.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutColumnInterface/UIComponentLayoutColumnInterface016.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutColumnInterface/UIComponentLayoutColumnInterface017.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutColumnInterface/UIComponentLayoutColumnInterface018.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutColumnInterface/UIComponentLayoutColumnInterface019.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutColumnInterface/UIComponentLayoutColumnInterface020.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutColumnInterface/UIComponentLayoutColumnInterface021.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutColumnInterface/UIComponentLayoutColumnInterface022.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutColumnInterface/UIComponentLayoutColumnInterface023.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutColumnInterface/UIComponentLayoutColumnInterface024.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutColumnInterface/UIComponentLayoutColumnInterface025.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutColumnInterface/UIComponentLayoutColumnInterface026.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutColumnInterface/UIComponentLayoutColumnInterface027.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutColumnInterface/UIComponentLayoutColumnInterface028.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutColumnInterface/UIComponentLayoutColumnInterface029.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutColumnInterface/UIComponentLayoutColumnInterface030.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutColumnInterface/UIComponentLayoutColumnInterface031.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout001.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout002.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout003.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout004.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout005.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout006.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout007.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout008.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout009.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout010.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout011.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout012.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout013.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout014.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout015.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout016.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout017.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout018.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout019.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout020.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout021.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout022.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout023.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout024.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout025.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout026.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout027.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout028.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout029.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout030.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout031.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout032.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout033.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout034.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout035.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout036.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout037.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout038.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout039.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout040.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface001.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface002.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface003.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface004.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface005.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface006.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface007.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface008.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface009.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface010.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface011.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface012.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface019.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface020.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface021.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface022.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface023.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface024.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface025.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface026.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface027.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface028.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface029.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface030.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface031.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface032.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface033.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface034.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface035.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface036.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface037.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface038.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface039.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface040.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface041.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface042.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface043.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface044.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface045.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface046.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface047.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface048.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface049.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface050.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface051.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface052.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface053.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface054.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface055.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface056.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface057.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface058.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface059.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface060.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface061.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface062.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface063.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface064.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface065.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface066.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface067.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface068.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutModifier/UIComponentLayoutModifier023.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutModifier/UIComponentLayoutModifier024.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutModifier/UIComponentLayoutModifier025.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutModifier/UIComponentLayoutModifier026.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutModifier/UIComponentLayoutModifier027.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutModifier/UIComponentLayoutModifier028.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutModifier/UIComponentLayoutModifier029.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutModifier/UIComponentLayoutModifier030.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutModifier/UIComponentLayoutModifier039.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutModifier/UIComponentLayoutModifier041.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutModifier/UIComponentLayoutModifier042.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutModifier/UIComponentLayoutModifier043.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutModifier/UIComponentLayoutModifier044.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutModifier/UIComponentLayoutModifier045.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutModifier/UIComponentLayoutModifier046.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutModifier/UiComponentLayoutModifier016.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutModifier/UiComponentLayoutModifier017.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutModifier/UiComponentLayoutModifier018.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutModifier/UiComponentLayoutModifier019.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutModifier/UiComponentLayoutModifier020.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutModifier/UiComponentLayoutModifier021.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutModifier/UiComponentLayoutModifier022.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutModifier/UiComponentLayoutModifier031.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutModifier/UiComponentLayoutModifier032.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutModifier/UiComponentLayoutModifier033.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutModifier/UiComponentLayoutModifier034.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutModifier/UiComponentLayoutModifier035.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutModifier/UiComponentLayoutModifier036.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutModifier/UiComponentLayoutModifier037.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutModifier/UiComponentLayoutModifier038.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutModifier/UiComponentLayoutModifier047.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutModifier/UiComponentLayoutModifier048.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutModifier/UiComponentLayoutModifier049.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutModifier/UiComponentLayoutModifier050.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutModifier/UiComponentLayoutModifier051.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutModifier/UiComponentLayoutModifier052.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutModifier/UiComponentLayoutModifier053.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutModifier/UiComponentLayoutModifier054.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutModifier/UiComponentLayoutModifier055.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutModifier/UiComponentLayoutModifier056.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutModifier/UiComponentLayoutModifier057.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutModifier/UiComponentLayoutModifier058.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutModifier/UiComponentLayoutModifier059.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutModifier/UiComponentLayoutModifier060.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutModifier/UiComponentLayoutModifier061.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutModifier/UiComponentLayoutModifier062.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutModifier/UiComponentLayoutModifier063.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutModifier/UiComponentLayoutModifier064.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutModifier/UiComponentLayoutModifier065.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutModifier/UiComponentLayoutModifier066.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutModifier/UiComponentLayoutModifier067.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutModifier/UiComponentLayoutModifier068.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutModifier/UiComponentLayoutModifier069.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutModifier/UiComponentLayoutModifier070.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutModifier/UiComponentLayoutModifier071.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutModifier/UiComponentLayoutModifier072.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutModifier/UiComponentLayoutModifier073.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutModifier/UiComponentLayoutModifier074.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutModifier/UiComponentLayoutModifier075.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutModifier/UiComponentLayoutModifier076.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutModifier/UiComponentLayoutModifier077.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutModifier/UiComponentLayoutModifier078.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutModifier/UiComponentLayoutModifier079.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutModifier/UiComponentLayoutModifierPageB.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutStack/UIComponentLayoutStack025.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutStack/UIComponentLayoutStack030.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutStack/UIComponentLayoutStack031.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutStack/UIComponentLayoutStack032.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutStack/UIComponentLayoutStack033.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutStack/UIComponentLayoutStack034.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutStack/UIComponentLayoutStack038.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutStack/UIComponentLayoutStack039.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutStack/UIComponentLayoutStack041.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutStack/UIComponentLayoutStack042.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutStack/UIComponentLayoutStack043.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutStack/UIComponentLayoutStack047.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutStack/UIComponentLayoutStack048.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutStack/UIComponentLayoutStack049.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutStack/UIComponentLayoutStack050.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutStack/UIComponentLayoutStack053.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutStack/UIComponentLayoutStack054.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutStack/UIComponentLayoutStack055.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutStack/UIComponentLayoutStack064.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutStack/UIComponentLayoutStack065.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutStack/UIComponentLayoutStack066.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutStack/UIComponentLayoutStack067.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutStack/UIComponentLayoutStack068.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutStack/UIComponentLayoutStack069.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutStack/UIComponentLayoutStack070.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutStack/UIComponentLayoutStack071.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutStack/UIComponentLayoutStack072.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutStack/UIComponentLayoutStack089.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLayoutStack/UIComponentLayoutStack090.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLineheightDecoration/UIComponentLineheightDecoration002.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLineheightDecoration/UIComponentLineheightDecoration003.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLineheightDecoration/UIComponentLineheightDecoration004.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLineheightDecoration/UIComponentLineheightDecoration006.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLineheightDecoration/UIComponentLineheightDecoration007.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLineheightDecoration/UIComponentLineheightDecoration008.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLineheightDecoration/UIComponentLineheightDecoration009.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLineheightDecoration/UIComponentLineheightDecoration010.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLineheightDecoration/UIComponentLineheightDecoration011.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentLineheightDecoration/UIComponentLineheightDecoration012.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix039.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix042.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix048.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix049.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix050.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix051.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix052.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix053.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix054.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix055.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix056.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix057.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix058.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix059.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix060.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix061.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix062.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix063.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix064.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix065.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix066.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix067.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix068.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix069.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix070.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix071.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix072.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix073.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix074.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix075.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix076.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix077.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix078.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix079.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix080.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix081.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix082.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix083.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix084.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix085.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix086.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix087.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix088.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix090.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix091.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix092.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix093.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix094.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix095.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix096.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix097.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix098.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix099.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix100.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix101.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix102.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix103.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix104.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix105.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix106.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix107.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix108.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix109.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix110.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix111.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentSymbolColorrendering/UIComponentSymbolColorrendering002.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentSymbolColorrendering/UIComponentSymbolColorrendering007.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentSymbolColorrendering/UIComponentSymbolColorrendering008.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentSymbolColorrendering/UIComponentSymbolColorrendering009.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentSymbolColorrendering/UIComponentSymboldisplay003.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentSymbolDisplay/UIComponentSymbolDisplay003.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentSymbolDisplay/UIComponentSymbolDisplay009.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCapi/UIComponentTextCapi001.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCapi/UIComponentTextCapi002.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCapi/UIComponentTextCapi003.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCapi/UIComponentTextCapi004.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCapi/UIComponentTextCapi005.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCapi/UIComponentTextCapi006.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCapi/UIComponentTextCapi007.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCapi/UIComponentTextCapi008.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCapi/UIComponentTextCapi009.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCapi/UIComponentTextCapi010.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCapi/UIComponentTextCapi011.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCapi/UIComponentTextCapi012.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCapi/UIComponentTextCapi013.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCapi/UIComponentTextCapi015.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCapi/UIComponentTextCapi016.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCapi/UIComponentTextCapi017.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCapi/UIComponentTextCapi018.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCapi/UIComponentTextCapi019.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCapi/UIComponentTextCapi020.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCapi/UIComponentTextCapi021.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCapi/UIComponentTextCapi022.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCapi/UIComponentTextCapi023.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCapi/UIComponentTextCapi024.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCapi/UIComponentTextCapi026.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCapi/UIComponentTextCapi027.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCapi/UIComponentTextCapi028.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCapi/UIComponentTextCapi030.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCapi/UIComponentTextCapi031.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCapi/UIComponentTextCapi032.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCapi/UIComponentTextCapi033.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCapi/UIComponentTextCapi034.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCapi/UIComponentTextCapi035.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCapi/UIComponentTextCapi036.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCapi/UIComponentTextCapi037.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCapi/UIComponentTextCapi038.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCapi/UIComponentTextCapi039.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCapi/UIComponentTextCapi040.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCapi/UIComponentTextCapi041.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCapi/UIComponentTextCapi042.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCapi/UIComponentTextCapi043.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCapi/UIComponentTextCapi044.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCapi/UIComponentTextCapi045.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCapi/UIComponentTextCapi046.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCapi/UIComponentTextCapi048.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCapi/UIComponentTextCapi049.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCapi/UIComponentTextCapi050.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCapi/UIComponentTextCapi051.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCapi/UIComponentTextCapi052.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCapi/UIComponentTextCapi053.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCapi/UIComponentTextCapi054.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCapi/UIComponentTextCapi055.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonAffingTran/UIComponentTextCommonAffingTran0140.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonAffingTran/UIComponentTextCommonAffingTran0150.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonAffingTran/UIComponentTextCommonAffingTran0160.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonAffingTran/UIComponentTextCommonAffingTran0190.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonAffingTran/UIComponentTextCommonAffingTran0220.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonAffingTran/UIComponentTextCommonAffingTran0230.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonAffingTran/UIComponentTextCommonAffingTran0240.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonAffingTran/UIComponentTextCommonAffingTran0250.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonAffingTran/UIComponentTextCommonAffingTran0280.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonAffingTran/UIComponentTextCommonAffingTran0290.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonAffingTran/UIComponentTextCommonAffingTran0300.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonAffingTran/UIComponentTextCommonAffingTran0310.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonAffingTran/UIComponentTextCommonAffingTran0320.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonAffingTran/UIComponentTextCommonAffingTran0330.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonAffingTran/UIComponentTextCommonAffingTran0340.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonLinespace/UIComponentTextCommonLinespace001.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonLinespace/UIComponentTextCommonLinespace002.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonLinespace/UIComponentTextCommonLinespace003.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonLinespace/UIComponentTextCommonLinespace004.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonLinespace/UIComponentTextCommonLinespace005.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonLinespace/UIComponentTextCommonLinespace007.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonLinespace/UIComponentTextCommonLinespace008.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonLinespace/UIComponentTextCommonLinespace009.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonLinespace/UIComponentTextCommonLinespace010.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonLinespace/UIComponentTextCommonLinespace011.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonLinespace/UIComponentTextCommonLinespace012.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonLinespace/UIComponentTextCommonLinespace013.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonLinespace/UIComponentTextCommonLinespace014.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonLinespace/UIComponentTextCommonLinespace015.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonLinespaceC/UIComponentTextCommonLinespaceC002.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonLinespaceC/UIComponentTextCommonLinespaceC003.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonLinespaceC/UIComponentTextCommonLinespaceC004.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonLinespaceC/UIComponentTextCommonLinespaceC005.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonLinespaceC/UIComponentTextCommonLinespaceC006.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonLinespaceC/UIComponentTextCommonLinespaceC007.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonLinespaceC/UIComponentTextCommonLinespaceC008.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonLinespaceC/UIComponentTextCommonLinespaceC009.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation001.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation002.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation003.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation004.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation005.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation006.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation009.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation010.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation012.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation014.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation015.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation016.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation017.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation018.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation019.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation020.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation021.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation022.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation023.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation026.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation027.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation028.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation029.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation030.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation031.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation032.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation033.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation034.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation035.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation036.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation037.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation038.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation039.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation040.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation043.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation044.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation045.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation046.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation047.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation048.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation049.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation050.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation051.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle085.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle086.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle087.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle088.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle089.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle090.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle095.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle096.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle097.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle098.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle099.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle100.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle101.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle102.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle103.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle104.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle105.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle106.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle107.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle108.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle109.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle110.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle111.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle112.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle113.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle114.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle121.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle122.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle123.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle124.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle125.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle126.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle127.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle128.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle129.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle130.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle131.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle132.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle133.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle134.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle135.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle136.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle137.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle138.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle139.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle140.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle141.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle142.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle143.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle144.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle149.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle150.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle151.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle152.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle153.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle154.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle155.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle156.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle157.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle158.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle159.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle160.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle161.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle162.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle163.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle164.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle165.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle166.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle167.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle168.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle169.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle170.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle171.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle172.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle173.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle174.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle175.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle176.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle177.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle178.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle179.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle180.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle181.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle182.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle183.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle184.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle001.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle002.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle003.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle004.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle005.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle006.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle007.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle008.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle009.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle010.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle011.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle012.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle013.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle014.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle015.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle016.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle017.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle018.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle019.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle020.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle023.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle024.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle025.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle026.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle027.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle028.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle029.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle030.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle031.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle037.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle038.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle039.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle040.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle041.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle042.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle043.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle044.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle045.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle046.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle047.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle048.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle049.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle050.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle051.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle052.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle053.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle054.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle055.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle056.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle057.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle058.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle059.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle060.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle061.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle062.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle063.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle064.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle065.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle066.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle067.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle068.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle069.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle070.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle071.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle072.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle0910.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle0920.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle0930.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle0940.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle1190.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle1200.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle1900.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle1950.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle1960.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle1970.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle1980.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle1990.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle2000.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle2010.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle2020.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle2030.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle2090.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle2100.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle2110.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle2160.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle2170.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle2180.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle2190.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle2200.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle2210.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle2220.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle2230.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle2240.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle2250.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextRefactorAdjustment/UIComponentTextRefactorAdjustment001.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextRefactorAdjustment/UIComponentTextRefactorAdjustment006.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextRefactorAdjustment/UIComponentTextRefactorAdjustment008.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextRefactorAdjustment/UIComponentTextRefactorAdjustment024.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextRefactorAdjustment/UIComponentTextRefactorAdjustment025.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextRefactorAdjustment/UIComponentTextRefactorAdjustment039.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextRefactorAdjustment/UIComponentTextRefactorAdjustment040.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextRefactorAdjustment/UIComponentTextRefactorAdjustment041.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextRefactorAdjustment/UIComponentTextRefactorAdjustment043.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextareEnhances/UIComponentTextTextareEnhances001.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextareEnhances/UIComponentTextTextareEnhances002.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextareEnhances/UIComponentTextTextareEnhances003.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextareEnhances/UIComponentTextTextareEnhances004.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextareEnhances/UIComponentTextTextareEnhances005.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextareEnhances/UIComponentTextTextareEnhances006.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextareEnhances/UIComponentTextTextareEnhances007.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextareEnhances/UIComponentTextTextareEnhances008.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextareEnhances/UIComponentTextTextareEnhances010.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextareEnhances/UIComponentTextTextareEnhances011.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextareEnhances/UIComponentTextTextareEnhances012.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextareEnhances/UIComponentTextTextareEnhances013.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextareEnhances/UIComponentTextTextareEnhances014.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextareEnhances/UIComponentTextTextareEnhances015.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextareEnhances/UIComponentTextTextareEnhances016.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextareEnhances/UIComponentTextTextareEnhances017.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextareEnhances/UIComponentTextTextareEnhances018.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextareEnhances/UIComponentTextTextareEnhances019.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextareEnhances/UIComponentTextTextareEnhances020.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextareEnhances/UIComponentTextTextareEnhances021.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextareEnhances/UIComponentTextTextareEnhances022.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextareEnhances/UIComponentTextTextareEnhances023.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextareEnhances/UIComponentTextTextareEnhances024.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextareEnhances/UIComponentTextTextareEnhances026.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextareEnhances/UIComponentTextTextareEnhances027.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextareEnhances/UIComponentTextTextareEnhances028.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextareEnhances/UIComponentTextTextareEnhances029.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextareEnhances/UIComponentTextTextareEnhances030.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextareEnhances/UIComponentTextTextareEnhances031.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextareEnhances/UIComponentTextTextareEnhances032.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextareEnhances/UIComponentTextTextareEnhances033.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextareEnhances/UIComponentTextTextareEnhances034.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextareEnhances/UIComponentTextTextareEnhances035.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextareEnhances/UIComponentTextTextareEnhances036.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextareEnhances/UIComponentTextTextareEnhances037.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextareEnhances/UIComponentTextTextareEnhances038.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextareEnhances/UIComponentTextTextareEnhances039.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextareEnhances/UIComponentTextTextareEnhances040.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextareEnhances/UIComponentTextTextareEnhances041.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextareEnhances/UIComponentTextTextareEnhances042.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextareEnhances/UIComponentTextTextareEnhances043.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextareEnhances/UIComponentTextTextareEnhances044.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextareEnhances/UIComponentTextTextareEnhances045.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextareEnhances/UIComponentTextTextareEnhances046.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextareEnhances/UIComponentTextTextareEnhances047.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextareEnhances/UIComponentTextTextareEnhances048.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextinputAction/UIComponentTextTextinputAction001.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextinputAction/UIComponentTextTextinputAction014.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextinputAction/UIComponentTextTextinputAction024.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextinputAction/UIComponentTextTextinputAction028.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextinputAction/UIComponentTextTextinputAction029.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextinputAction/UIComponentTextTextinputAction030.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextinputAction/UIComponentTextTextinputAction031.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextinputAction/UIComponentTextTextinputAction033.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextinputAction/UIComponentTextTextinputAction038.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextinputAction/UIComponentTextTextinputAction039.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextinputAction/UIComponentTextTextinputAction057.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextinputAction/UIComponentTextTextinputInterAction0020.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextinputInterface/UIComponentTextTextinputInterface002.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextinputInterface/UIComponentTextTextinputInterface007.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextinputInterface/UIComponentTextTextinputInterface008.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextinputInterface/UIComponentTextTextinputInterface009.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextinputInterface/UIComponentTextTextinputInterface010.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextinputInterface/UIComponentTextTextinputInterface011.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextinputInterface/UIComponentTextTextinputInterface012.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextinputInterface/UIComponentTextTextinputInterface013.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextinputInterface/UIComponentTextTextinputInterface014.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextinputInterface/UIComponentTextTextinputInterface015.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextinputInterface/UIComponentTextTextinputInterface016.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextinputInterface/UIComponentTextTextinputInterface017.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextinputInterface/UIComponentTextTextinputInterface018.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextinputInterface/UIComponentTextTextinputInterface019.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextinputInterface/UIComponentTextTextinputInterface020.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextinputInterface/UIComponentTextTextinputInterface021.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextinputInterface/UIComponentTextTextinputInterface022.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextinputInterface/UIComponentTextTextinputInterface028.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextinputInterface/UIComponentTextTextinputInterface033.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextinputInterface/UIComponentTextTextinputInterface034.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextinputInterface/UIComponentTextTextinputInterface035.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextinputInterface/UIComponentTextTextinputInterface041.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextinputInterface/UIComponentTextTextinputInterface048.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextinputInterface/UIComponentTextTextinputInterface049.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextinputInterface/UIComponentTextTextinputInterface056.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextinputInterface/UIComponentTextTextinputInterface057.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextinputInterface/UIComponentTextTextinputInterface058.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextinputInterface/UIComponentTextTextinputInterface059.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextinputInterface/UIComponentTextTextinputInterface060.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextinputInterface/UIComponentTextTextinputInterface061.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextinputInterface/UIComponentTextTextinputInterface062.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextinputInterface/UIComponentTextTextinputInterface063.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextinputInterface/UIComponentTextTextinputInterface064.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextinputInterface/UIComponentTextTextinputInterface068.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextinputPolymorphic/UIComponentTextTextinputPolymorphic001.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextinputPolymorphic/UIComponentTextTextinputPolymorphic002.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextinputPolymorphic/UIComponentTextTextinputPolymorphic003.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextinputPolymorphic/UIComponentTextTextinputPolymorphic004.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextinputPolymorphic/UIComponentTextTextinputPolymorphic005.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextinputPolymorphic/UIComponentTextTextinputPolymorphic006.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextinputPolymorphic/UIComponentTextTextinputPolymorphic007.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextTextinputPolymorphic/UIComponentTextTextinputPolymorphic008.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextinputUnderlinecolor/UIComponentTextinputUnderlinecolor001.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextinputUnderlinecolor/UIComponentTextinputUnderlinecolor002.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextinputUnderlinecolor/UIComponentTextinputUnderlinecolor003.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextinputUnderlinecolor/UIComponentTextinputUnderlinecolor004.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextinputUnderlinecolor/UIComponentTextinputUnderlinecolor005.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextinputUnderlinecolor/UIComponentTextinputUnderlinecolor006.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextinputUnderlinecolor/UIComponentTextinputUnderlinecolor007.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextinputUnderlinecolor/UIComponentTextinputUnderlinecolor008.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextinputUnderlinecolor/UIComponentTextinputUnderlinecolor009.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextinputUnderlinecolor/UIComponentTextinputUnderlinecolor010.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextinputUnderlinecolor/UIComponentTextinputUnderlinecolor011.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIComponentTextinputUnderlinecolor/UIComponentTextinputUnderlinecolor012.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIFontFeature/UIFontFeature001.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIFontFeature/UIFontFeature002.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIFontFeature/UIFontFeature003.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIFontFeature/UIFontFeature004.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIFontFeature/UIFontFeature005.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIFontFeature/UIFontFeature006.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIFontFeature/UIFontFeature007.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIFontFeature/UIFontFeature008.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIFontFeature/UIFontFeature009.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIFontFeature/UIFontFeature010.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIFontFeature/UIFontFeature011.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIFontFeature/UIFontFeature012.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIFontFeature/UIFontFeature013.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIFontFeature/UIFontFeature014.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIFontFeature/UIFontFeature015.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIFontFeature/UIFontFeature016.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIFontFeature/UIFontFeature017.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIFontFeature/UIFontFeature018.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIFontFeature/UIFontFeature019.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIFontFeature/UIFontFeature020.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIFontFeature/UIFontFeature021.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIFontFeature/UIFontFeature022.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIFontFeature/UIFontFeature023.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIFontFeature/UIFontFeature024.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIFontFeature/UIFontFeature025.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIFontFeature/UIFontFeature026.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIFontFeature/UIFontFeature027.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIFontFeature/UIFontFeature028.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIFontFeature/UIFontFeature029.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIFontFeature/UIFontFeature030.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIFontFeature/UIFontFeature031.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIFontFeature/UIFontFeature032.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIFontFeature/UIFontFeature033.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIFontFeature/UIFontFeature034.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIFontFeature/UIFontFeature035.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UIFontFeature/UIFontFeature036.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UITestCase/UITestCase001.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UITestCase/UITestCase002.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UITestCase/UITestCase003.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UITestCase/UITestCase004.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UITestCase/UITestCase005.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UITestCase/UITestCase006.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UITestCase/UITestCase007.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UITestCase/UITestCase008.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UITestCase/UITestCase009.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UITestCase/UITestCase010.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UITestCase/UITestCase011.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UITestCase/UITestCase012.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UITestCase/UITestCase014.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UITestCase/UITestCase020.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UITestCase/UITestCase021.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UITestCase/UITestCase022.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UITestCase/UITestCase024.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UITestCase/UITestCase025.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UITestCase/UITestCase030.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UITestCase/UITestCase034.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UITestCase/UITestCase035.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UITestCase/UITestCase040.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UITestCase/UITestCase041.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UITestCase/UITestCase042.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UITestCase/UITestCase043.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UITestCase/UITestCase044.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UITestCase/UITestCase045.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UITestCase/UITestCase046.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UITestCase/UITestCase047.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UITestCase/UITestdemo.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentLayoutCommonPixel/UiComponentLayoutCommonPixel001.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentLayoutCommonPixel/UiComponentLayoutCommonPixel002.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentLayoutCommonPixel/UiComponentLayoutCommonPixel003.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentLayoutCommonPixel/UiComponentLayoutCommonPixel004.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentLayoutCommonPixel/UiComponentLayoutCommonPixel005.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentLayoutCommonPixel/UiComponentLayoutCommonPixel006.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentLayoutCommonPixel/UiComponentLayoutCommonPixel007.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentLayoutCommonPixel/UiComponentLayoutCommonPixel008.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentLayoutCommonPixel/UiComponentLayoutCommonPixel009.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentLayoutCommonPixel/UiComponentLayoutCommonPixel010.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentLayoutCommonPixel/UiComponentLayoutCommonPixel011.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentLayoutCommonPixel/UiComponentLayoutCommonPixel012.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentLayoutCommonPixel/UiComponentLayoutCommonPixel024.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentLayoutCommonPixel/UiComponentLayoutCommonPixel025.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentLayoutCommonPixel/UiComponentLayoutCommonPixel026.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentLayoutCommonPixel/UiComponentLayoutCommonPixel027.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentLayoutCommonPixel/UiComponentLayoutCommonPixel028.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentLayoutCommonPixel/UiComponentLayoutCommonPixel029.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentLayoutCommonPixel/UiComponentLayoutCommonPixel030.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentLayoutCommonPixel/UiComponentLayoutCommonPixel031.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentLayoutCommonPixel/UiComponentLayoutCommonPixel042.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentLayoutCommonPixel/UiComponentLayoutCommonPixel043.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentLayoutCommonPixel/UiComponentLayoutCommonPixel045.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentLayoutCommonPixel/UiComponentLayoutCommonPixel046.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentLayoutCommonPixel/UiComponentLayoutCommonPixel047.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentLayoutCommonPixel/UiComponentLayoutCommonPixel048.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentLayoutCommonPixel/UiComponentLayoutCommonPixel049.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentLayoutCommonPixel/UiComponentLayoutCommonPixel050.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentLayoutCommonPixel/UiComponentLayoutCommonPixel051.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentLayoutCommonPixel/UiComponentLayoutCommonPixel063.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentLayoutCommonPixel/UiComponentLayoutCommonPixel066.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentLayoutCommonPixel/UiComponentLayoutCommonPixel068.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentNavModifier/UiComponentNavModifier013.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentRowcolumnSidebarcontainerInterface/UiComponentRowcolumnSidebarcontainerInterface018.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentRowcolumnSidebarcontainerInterface/UiComponentRowcolumnSidebarcontainerInterface019.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentRowcolumnSidebarcontainerInterface/UiComponentRowcolumnSidebarcontainerInterface020.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentRowcolumnSidebarcontainerInterface/UiComponentRowcolumnSidebarcontainerInterface021.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentRowcolumnSidebarcontainerInterface/UiComponentRowcolumnSidebarcontainerInterface022.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentRowcolumnSidebarcontainerInterface/UiComponentRowcolumnSidebarcontainerInterface023.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentRowcolumnSidebarcontainerInterface/UiComponentRowcolumnSidebarcontainerInterface024.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentRowcolumnSidebarcontainerInterface/UiComponentRowcolumnSidebarcontainerInterface026.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentRowcolumnSidebarcontainerInterface/UiComponentRowcolumnSidebarcontainerInterface075.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentRowcolumnSidebarcontainerInterface/UiComponentRowcolumnSidebarcontainerInterface076.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentRowcolumnSidebarcontainerInterface/UiComponentRowcolumnSidebarcontainerInterface077.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentRowcolumnSidebarcontainerInterface/UiComponentRowcolumnSidebarcontainerInterface078.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentRowcolumnSidebarcontainerInterface/UiComponentRowcolumnSidebarcontainerInterface079.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentRowcolumnSidebarcontainerInterface/UiComponentRowcolumnSidebarcontainerInterface080.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentRowcolumnSidebarcontainerInterface/UiComponentRowcolumnSidebarcontainerInterface081.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentRowcolumnSidebarcontainerInterface/UiComponentRowcolumnSidebarcontainerInterface082.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentRowcolumnSidebarcontainerInterface/UiComponentRowcolumnSidebarcontainerInterface083.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentRowcolumnSidebarcontainerInterface/UiComponentRowcolumnSidebarcontainerInterface084.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentRowcolumnSidebarcontainerInterface/UiComponentRowcolumnSidebarcontainerInterface085.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentRowcolumnSidebarcontainerInterface/UiComponentRowcolumnSidebarcontainerInterface086.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentRowcolumnSidebarcontainerInterface/UiComponentRowcolumnSidebarcontainerInterface087.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentRowcolumnSidebarcontainerInterface/UiComponentRowcolumnSidebarcontainerInterface088.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentRowcolumnSidebarcontainerInterface/UiComponentRowcolumnSidebarcontainerInterface089.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentRowcolumnSidebarcontainerInterface/UiComponentRowcolumnSidebarcontainerInterface090.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentRowcolumnSidebarcontainerInterface/UiComponentRowcolumnSidebarcontainerInterface091.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentRowcolumnSidebarcontainerInterface/UiComponentRowcolumnSidebarcontainerInterface092.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentRowcolumnSidebarcontainerInterface/UiComponentRowcolumnSidebarcontainerInterface093.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentRowcolumnSidebarcontainerInterface/UiComponentRowcolumnSidebarcontainerInterface094.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentRowcolumnSidebarcontainerInterface/UiComponentRowcolumnSidebarcontainerInterface095.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentRowcolumnSidebarcontainerInterface/UiComponentRowcolumnSidebarcontainerInterface096.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentRowcolumnSidebarcontainerInterface/UiComponentRowcolumnSidebarcontainerInterface097.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentSpanBaselineoffset/UiComponentSpanBaselineoffset001.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentSpanBaselineoffset/UiComponentSpanBaselineoffset003.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentSpanBaselineoffset/UiComponentSpanBaselineoffset004.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentSpanBaselineoffset/UiComponentSpanBaselineoffset005.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentSpanBaselineoffset/UiComponentSpanBaselineoffset007.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentSpanBaselineoffset/UiComponentSpanBaselineoffset008.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentSpanBaselineoffset/UiComponentSpanBaselineoffset009.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentSpanBaselineoffset/UiComponentSpanBaselineoffset010.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentSpanBaselineoffset/UiComponentSpanBaselineoffset012.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentSpanBaselineoffset/UiComponentSpanBaselineoffset013.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentSpanBaselineoffset/UiComponentSpanBaselineoffset014.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentSpanBaselineoffset/UiComponentSpanBaselineoffset019.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentSpanBaselineoffset/UiComponentSpanBaselineoffset020.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentSymbolSymbol/UiComponentSymbolSymbol009.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextCommonAffineTransformation/UiComponentTextCommonAffineTransformation002.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextCommonAffineTransformation/UiComponentTextCommonAffineTransformation003.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextCommonAffineTransformation/UiComponentTextCommonAffineTransformation006.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextCommonAffineTransformation/UiComponentTextCommonAffineTransformation007.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextCommonAffineTransformation/UiComponentTextCommonAffineTransformation008.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextCommonAffineTransformation/UiComponentTextCommonAffineTransformation009.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextCommonAffineTransformation/UiComponentTextCommonAffineTransformation011.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextCommonAffineTransformation/UiComponentTextCommonAffineTransformation012.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextCommonAffineTransformation/UiComponentTextCommonAffineTransformation017.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextCommonAffineTransformation/UiComponentTextCommonAffineTransformation018.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextCommonAffineTransformation/UiComponentTextCommonAffineTransformation020.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextCommonAffineTransformation/UiComponentTextCommonAffineTransformation021.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextCommonAffineTransformation/UiComponentTextCommonAffineTransformation026.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextCommonAffineTransformation/UiComponentTextCommonAffineTransformation027.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextCommonAffineTransformation/UiComponentTextCommonAffineTransformation035.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextCommonAffineTransformation/UiComponentTextCommonAffineTransformation036.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextCommonAffineTransformation/UiComponentTextCommonAffineTransformation037.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextCommonAffineTransformation/UiComponentTextCommonAffineTransformation038.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextCommonAffineTransformation/UiComponentTextCommonAffineTransformation039.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextCommonAffineTransformation/UiComponentTextCommonAffineTransformation040.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextCommonAffineTransformation/UiComponentTextCommonAffineTransformation041.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextCommonAffineTransformation/UiComponentTextCommonAffineTransformation042.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextCommonAffineTransformation/UiComponentTextCommonAffineTransformation045.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextCommonAffineTransformation/UiComponentTextCommonAffineTransformation046.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextCommonAffineTransformation/UiComponentTextCommonAffineTransformation047.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextCommonAffineTransformation/UiComponentTextCommonAffineTransformation048.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextCommonAffineTransformation/UiComponentTextCommonAffineTransformation049.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextCommonAffineTransformation/UiComponentTextCommonAffineTransformation050.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextCommonAffineTransformation/UiComponentTextCommonAffineTransformation051.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextCommonAffineTransformation/UiComponentTextCommonAffineTransformation052.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier001.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier002.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier003.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier004.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier005.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier006.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier007.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier008.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier009.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier010.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier011.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier012.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier013.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier014.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier015.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier016.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier017.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier018.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier019.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier020.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier021.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier022.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier023.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier024.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier025.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier026.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier027.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier028.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier029.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier030.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier031.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier032.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier033.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier034.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier035.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier036.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier037.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier038.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier039.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier040.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier041.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier042.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier043.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier044.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier045.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier046.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier047.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier048.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier049.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier050.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier051.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier052.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier053.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier054.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier055.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier056.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier057.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier058.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier059.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier060.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier061.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier062.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier063.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier064.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier065.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier066.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier067.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier068.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier069.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier070.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier071.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier072.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier073.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier074.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier075.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier076.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier077.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier078.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier079.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier080.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier081.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier082.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier083.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier084.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier085.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier086.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier087.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier088.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier089.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier090.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier091.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier092.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier093.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier094.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier095.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextModifier/UiComponentTextModifier096.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextTextareaInterface/UiComponentTextTextareaInterface001.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextTextareaInterface/UiComponentTextTextareaInterface002.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextTextareaInterface/UiComponentTextTextareaInterface004.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextTextareaInterface/UiComponentTextTextareaInterface005.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextTextareaInterface/UiComponentTextTextareaInterface006.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextTextareaInterface/UiComponentTextTextareaInterface007.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextTextareaInterface/UiComponentTextTextareaInterface009.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextTextareaInterface/UiComponentTextTextareaInterface1000.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextTextareaInterface/UiComponentTextTextareaInterface1010.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextTextareaInterface/UiComponentTextTextareaInterface1030.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextTextareaInterface/UiComponentTextTextareaInterface1080.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextTextareaInterface/UiComponentTextTextareaInterface1090.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextTextareaInterface/UiComponentTextTextareaInterface140.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextTextareaInterface/UiComponentTextTextareaInterface150.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextTextareaInterface/UiComponentTextTextareaInterface170.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextTextareaInterface/UiComponentTextTextareaInterface210.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextTextareaInterface/UiComponentTextTextareaInterface220.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextTextareaInterface/UiComponentTextTextareaInterface230.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextTextareaInterface/UiComponentTextTextareaInterface340.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextTextareaInterface/UiComponentTextTextareaInterface360.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextTextareaInterface/UiComponentTextTextareaInterface370.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextTextareaInterface/UiComponentTextTextareaInterface380.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextTextareaInterface/UiComponentTextTextareaInterface420.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextTextareaInterface/UiComponentTextTextareaInterface430.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextTextareaInterface/UiComponentTextTextareaInterface440.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextTextareaInterface/UiComponentTextTextareaInterface450.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextTextareaInterface/UiComponentTextTextareaInterface470.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextTextareaInterface/UiComponentTextTextareaInterface480.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextTextareaInterface/UiComponentTextTextareaInterface490.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextTextareaInterface/UiComponentTextTextareaInterface510.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextTextareaInterface/UiComponentTextTextareaInterface530.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextTextareaInterface/UiComponentTextTextareaInterface540.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextTextareaInterface/UiComponentTextTextareaInterface560.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextTextareaInterface/UiComponentTextTextareaInterface600.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextTextareaInterface/UiComponentTextTextareaInterface610.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextTextareaInterface/UiComponentTextTextareaInterface620.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextTextareaInterface/UiComponentTextTextareaInterface630.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextTextareaInterface/UiComponentTextTextareaInterface640.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextTextareaInterface/UiComponentTextTextareaInterface750.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextTextareaInterface/UiComponentTextTextareaInterface760.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextTextareaInterface/UiComponentTextTextareaInterface770.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextTextareaInterface/UiComponentTextTextareaInterface860.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextTextareaInterface/UiComponentTextTextareaInterface870.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextTextareaInterface/UiComponentTextTextareaInterface890.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextTextareaInterface/UiComponentTextTextareaInterface910.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextTextareaInterface/UiComponentTextTextareaInterface920.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextTextareaInterface/UiComponentTextTextareaInterface930.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextTextareaInterface/UiComponentTextTextareaInterface950.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextTextareaInterface/UiComponentTextTextareaInterface960.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextTextareaInterface/UiComponentTextTextareaInterface970.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextTextareaInterface/UiComponentTextTextareaInterface980.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentTextTextareaInterface/UiComponentTextTextareaInterface990.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentWordbreak/UiComponentWordbreak001.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentWordbreak/UiComponentWordbreak002.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentWordbreak/UiComponentWordbreak003.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentWordbreak/UiComponentWordbreak004.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentWordbreak/UiComponentWordbreak005.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentWordbreak/UiComponentWordbreak006.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentWordbreak/UiComponentWordbreak007.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentWordbreak/UiComponentWordbreak008.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentWordbreak/UiComponentWordbreak009.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentWordbreak/UiComponentWordbreak010.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentWordbreak/UiComponentWordbreak011.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentWordbreak/UiComponentWordbreak012.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentWordbreak/UiComponentWordbreak013.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentWordbreak/UiComponentWordbreak014.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentWordbreak/UiComponentWordbreak015.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentWordbreak/UiComponentWordbreak016.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentWordbreak/UiComponentWordbreak017.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentWordbreak/UiComponentWordbreak018.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentWordbreak/UiComponentWordbreak019.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentWordbreak/UiComponentWordbreak020.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentWordbreak/UiComponentWordbreak021.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiComponentWordbreak/UiComponentWordbreak022.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten001.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten002.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten003.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten004.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten005.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten006.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten007.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten008.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten009.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten010.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten011.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten012.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten013.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten014.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten015.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten016.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten017.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten018.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten019.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten020.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten021.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten022.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten023.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten024.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten025.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten026.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten027.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten028.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten029.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten030.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten031.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten032.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten033.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten034.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten035.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten036.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten037.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten038.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten039.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten040.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten041.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten042.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten043.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten044.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten045.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten046.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten047.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten048.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten049.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten050.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten051.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten052.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten053.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten054.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten055.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten056.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten057.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten058.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten059.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten060.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten061.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten062.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten063.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten064.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten065.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten066.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten067.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten068.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten069.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten070.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten071.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten072.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten073.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten074.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten075.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten076.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten077.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten078.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten079.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten080.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten081.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten082.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten083.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten084.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten085.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten086.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten087.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten088.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten089.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten090.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten091.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten092.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten093.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten094.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten095.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten096.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten097.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten098.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten099.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten100.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten101.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten102.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten103.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten104.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten105.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten106.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten107.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten108.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten109.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten110.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten111.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextBrighten/UiTextBrighten112.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextShadow/UiTextShadow001.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextShadow/UiTextShadow002.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextShadow/UiTextShadow003.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextShadow/UiTextShadow004.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextShadow/UiTextShadow005.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextShadow/UiTextShadow006.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextShadow/UiTextShadow007.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextShadow/UiTextShadow008.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextShadow/UiTextShadow009.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextShadow/UiTextShadow010.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextShadow/UiTextShadow011.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextShadow/UiTextShadow012.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextShadow/UiTextShadow013.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextShadow/UiTextShadow014.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextShadow/UiTextShadow015.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextShadow/UiTextShadow016.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextShadow/UiTextShadow017.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextShadow/UiTextShadow018.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextShadow/UiTextShadow019.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextShadow/UiTextShadow020.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextShadow/UiTextShadow021.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/UiTextShadow/UiTextShadow022.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testability/pages/demo.ets create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/testrunner/OpenHarmonyTestRunner.ts create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/module.json5 create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/resources/base/element/color.json create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/resources/base/element/float.json create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/resources/base/element/integer.json create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/resources/base/element/string.json create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/resources/base/media/big_icon.png create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/resources/base/media/cat.jpg create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/resources/base/media/closeeye.png create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/resources/base/media/color.json create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/resources/base/media/icon.png create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/resources/base/media/img2.png create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/resources/base/media/openeye.png create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/resources/base/profile/test_pages.json create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/resources/rawfile/cat.jpg create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/resources/rawfile/font/own.ttf create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/resources/rawfile/font/own1.ttf create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/resources/rawfile/font/own2.TTF create mode 100644 function/ui_compare_rh/uicompare/entry/src/ohosTest/resources/rawfile/string.json create mode 100644 function/ui_compare_rh/uicompare/hvigor/hvigor-config.json5 create mode 100644 function/ui_compare_rh/uicompare/hvigor/hvigor-wrapper.js create mode 100644 function/ui_compare_rh/uicompare/hvigorfile.ts create mode 100644 function/ui_compare_rh/uicompare/hvigorw create mode 100644 function/ui_compare_rh/uicompare/hvigorw.bat create mode 100644 function/ui_compare_rh/uicompare/oh-package-lock.json5 create mode 100644 function/ui_compare_rh/uicompare/oh-package.json5 create mode 100644 function/ui_compare_rh/uicompare_tools/UiCompareTools_progress.py create mode 100644 function/ui_compare_rh/uicompare_tools/excel/actionSheet.xlsx create mode 100644 function/ui_compare_rh/uicompare_tools/excel/uicompare.xlsx create mode 100644 function/ui_compare_rh/uicompare_tools/mode.html create mode 100644 function/ui_compare_rh/uicompare_tools/run.bat diff --git a/function/ui_compare_rh/README.md b/function/ui_compare_rh/README.md new file mode 100644 index 000000000..c4522b53d --- /dev/null +++ b/function/ui_compare_rh/README.md @@ -0,0 +1,136 @@ +# UI对比测试开发指南 + +## 0、需求(文本用例) + +用例举例,开发如下用例: + +| 用例_名称 | 用例_编号 | 创建版本 |预置条件| 测试步骤|预期结果|自动化类型| +|-----|------|-------|------|------|------|------| +| 文本样式fontColor:Color类型 | SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0010 | OpenHarmony V400R001 |新建eTS页面|1、添加文本组件2、设置fontColor为Color.Blue 3、编译测试demo|3、编译通过,文本显示蓝色|UI对比| + +## 1、编写工程和代码 + +### 1.1 新建或导入已有工程,创建目录和页面 + +以从DevEco导入本目录下的uicompare工程为例: + +在testability目录下创建页面,命名规则,用例编号除数字外,相同的用例在pages下创建一个同名子目录,每个编号的用例创建一个ets文件,文件名采用大驼峰如下: + +![image](figures/1.png) + +### 1.2 创建测试用例目录和文件 + +在test目录下创建用例目录,目录名称和2\.1中的页面相同并在后面加Test,用例文件和页面ets文件相同,后缀多了\.test,如下图: + +![image](figures/2.png) + +### 1.3 编写页面 + +按用例要求编写页面,创建文本组件,并设置颜色为Blue。 + +结构名称和文件名相同,组件需要设置id的,使用本文件名加"_001"按递增使用,避免和别的文件中的id重名。 + +![image](figures/3.png) + +### 1.4 编写用例 + +修改类名,注释,测试套名称,用例名称,和测试用例文件及用例文档中对应,修改调用的页面文件路由,和页面路径对应: + +![image](figures/4.png) + +![image](figures/5.png) + +### 1.5 在List.test.ets中添加测试套和页面路由 +注意:这里的页面是写在ohosTest模块下,不要写到main模块里。 + +![image](figures/6.png) + +![image](figures/7.png) + +## 2、编译运行 +### 2.1 编译 + +因为工程使用了截屏接口,需要系统权限,在SDK的sdk\12\toolchains\lib\UnsgnedReleasedProfileTemplate.json文件中修改应用级别:"apl":"system_core", +"app-feature":"hos_system_app"。 + +在IDE的file -> Project Structure 中自动签名: + +![image](figures/8.png) + +Build-> Rebuild 编译hap: + +![image](figures/9.png) + +### 2.2 执行用例 +右键xxxxx.test.ets 文件执行用例,或右键test目录执行全部用例: + +![image](figures/10.png) + +观察设备是否正常显示测试页面,显示了蓝色的文字: + +![image](figures/11.png) + +测试结果: + +![image](figures/12.png) + +### 2.3 检查截屏图片: + +![image](figures/13.png) + +用hdc从设备拉取截屏图片: + +![image](figures/14.png) + +打开检查截图是否正确: + +![image](figures/15.png) + +用例开发完成,且调试成功。 + +## 3、对比UI图片 + +使用uicompare_tools目录下的python对比工具脚本。 + +使用对比脚本前需要安装python环境,安装依赖包:需安装三个包:openpyxl、numpy、pillow。 + +hdc配置到系统环境变量。 + +### 3.1 将编译的hap包拷贝到ui对比工具的hap目录下 + +![image](figures/16.png) + +![image](figures/17.png) + +### 3.2 在excel表中添加测试用例 + +excel文件名和hap名必须相同,一个excel对应一个hap。 + +![image](figures/18.png) + +![image](figures/19.png) + +### 3.3 生成基线图片: + +![image](figures/20.png) + +![image](figures/21.png) + +### 3.4 对此测试 + +指定基线图片目录和上中路径一致: + +![image](figures/22.png) + +测试显示用例执行通过: + +![image](figures/23.png) + +### 3.5 测试报告 + +![image](figures/24.png) + +![image](figures/25.png) + + + diff --git a/function/ui_compare_rh/figures/1.png b/function/ui_compare_rh/figures/1.png new file mode 100644 index 0000000000000000000000000000000000000000..5424b7902c69330ffe5f6dd97aadefda3091164f GIT binary patch literal 7583 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%0AZ^4I-{UH#~LQ>OP`g@|@aa!Rk$tZ@n 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�Ln)pzIxB8^*2<|ZRkZ&h=EnPs~wgb4U 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 literal 0 HcmV?d00001 diff --git a/function/ui_compare_rh/figures/11.png b/function/ui_compare_rh/figures/11.png new file mode 100644 index 0000000000000000000000000000000000000000..7dbbbb8680139cc82151b17593d7fd2bd5e42402 GIT binary patch literal 41185 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 U$~U7qox9)87-ptlqU##E1`J#f z;LX)cyOmc-f7(uMw!T{dN5I#mBB9y^x6w3db^w=D5{>Mrle11S{N`{!d}nF3`+gNU zd~Z19?96}W%}_dc{`@%*1VIqQKJnxx4VF6`TJdNq?zdlLjZ-Zfu9e36tY$KBYRTGCAB!mo4Y55i zFYt8yzwF2=sg*>tWoeI%ROG&o|D56P>z${JDqUHv8*FA$>v(H!%Wl1fm#MVN(zgZX z1s;@7gxvR;EQ*_-&h46BWv`&DJ*ZaT8gDC0Z7UXX-}|iRP)QhhfzM5En%O851%(KH z)(sv8Wt9{!-qh~u9_2_tSDlO|k?g44lGWn(-SIb{K7G>1e;fYrXDL9T5r=|K? zuIp4SEO$6`FQ=nXrg+X^=w3GDGPm1s21b)M;%CAhh$bAoI;UrO& zM5AQ}a?Su6?G0@Pv*;pG7fEU7`#6_P8=1FbS?_rf(cA}AvfI$h?6Tx3whB3yzz2(BklC1II)!cELO5kABc^6b?B@ z87U}5uzS||uwh1bcawcpSoHiMrw1fPM40S*fNw-rP?8) zl#(H8#l{}0HRVDnWw267BKy41(vlwcy*}1d(t{{b(0GTel*TL}6E`&r!$|^w+~-$e zty``KInidQbQf+jWVt`n`7Rv^JuHxOoJCRXVbIv_jP7}e!gSSGxtaKB+_KSd3lQ5_&G@xGsp()XK!qavX@yR*Ri87!Mo(7>vhRyfjY%C<3UJ;Hj97 zE{>WmSw?wO))|Zkpmn!QHDp^WKpB?R)5<9f8tKH2!fXaAQUDB57Sl6zrGS+}SGNQJ zK<@QbGP$zrvcYVo>e|OV4`;RJ+P0~IJuLdu&Yc&cRFT4IK+LazL0CGPF5cGRBsO-v0QgeyC)}t3ePJPDv2)e>}HU-+vH9xc& zNXdhs8sfxN?JjrL6U46AhOu&+Vb4P6j!)hkpS;lrMN0KxIpRVL272;mxvnGPX$phv z+M#7Zd*QFGBVsx_t;8_3SdFH+- z9o|T3+cd~#X|N(7_X~J+J;nB+<}#ZRFq_GFq*PCNJp`$0U1wzyR#7DE`{h)uttQC1 zc`#C$`4w^Rzyl@arcq)wm+0|A@5&%&aV8Z2pv_d$Jt}(mAR;nMCX-12Og%mi=gZq& z4)c6av-XdAdF5`f;YG8K@&N#dI8KMIYl+l#AwCrVj>#;IPe(C;GZ-JO$j~`*z;cFT zw{W#A5a}hjgYmGnzovc@AyW6q0Rcyc;w-jaIaUnTq1Havlq~>&nC7Y`;y4{1IUts% z6T1X*-|s^<(AHzlj%L`f%qDYDtC!MBS6vcnk4M`!-E;=z*7Yg`(L~o%Y$a+gmDfX1 zJyc2osJR5s#^lOoN|n#Je9cd*S8h^tn_Xc=J@Z5E`+5H=qsc_JHoUaLp6yboB$B?z z=V7AqAxCjT1Q{jZalIjCv)A(QP_wK#6hG7Mc2`A4ler!EJ~Zm8qjEEv;#b5rf7UYq z=+LL@I^tV0o}mjJHgfCJ(z z1voTjYi(FEVyDP95KiiS6qdUxdI)N+OqR$w1FY^^@B=mr!vtDN$9Ny=cRZPj+orL@Wj0&f7??>JC~HO{S|yC;zH<BNqJoHH3UnvhIp(C51IVZ0BsL>ets5>5&t32GKj!bE9Zo3|GCYAv~KV<=qF#WK%p zX0VYLazF67d05@`6kCg&OJ;L~Vq<6Hd>xq0mhUBMIe0;a$4q@U+H9i&02n1SLq@eK zDNeV#UN%9^CGwmD>q)^0h>R1MKNaNFy zaEH}kV{F{+nF^7*`Rd4!esoixVqetW9i$qzp+_4u;NSAJKgp{OFU6Ub^kS?=k%Z434$Pqy@SM$AP9okJ4pNpf*^>!gT#*@2!hxnZfx1XdpWk;$2!bF8;!dHkCqWPdv3HR85d=XHdk2Xh xK@bG7cRc3Y^#7#@f*=TD7y0<{)0nq>e literal 0 HcmV?d00001 diff --git a/function/ui_compare_rh/figures/15.png b/function/ui_compare_rh/figures/15.png new file mode 100644 index 0000000000000000000000000000000000000000..08c41aa20d552bfaddd2a40e90ea4eafc0fbadc3 GIT binary patch literal 8313 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 literal 0 HcmV?d00001 diff --git a/function/ui_compare_rh/figures/17.png b/function/ui_compare_rh/figures/17.png new file mode 100644 index 0000000000000000000000000000000000000000..b3c346c1220ee4529f0b60752b9996e16485617d GIT binary patch literal 11184 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 F{}*i+#Wnx{ literal 0 HcmV?d00001 diff --git a/function/ui_compare_rh/figures/18.png b/function/ui_compare_rh/figures/18.png new file mode 100644 index 0000000000000000000000000000000000000000..68d8881e20e301488b1cd85fb33bf3b106dad5c7 GIT binary patch literal 8681 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 literal 0 HcmV?d00001 diff --git a/function/ui_compare_rh/figures/19.png b/function/ui_compare_rh/figures/19.png new file mode 100644 index 0000000000000000000000000000000000000000..ac58da7cc49e6f0957fbadc50a1927becfc4e2c9 GIT binary patch literal 5152 zcmaJ_cOaYJ*N~4U&w1|o+J0Dv4zk}a=Y zBHib$U%eqUl%85(ZvcR{?e9gFCPK>w05A+`t3Naf$l91{Ou}jA{Mh-7yvF$=^Ogm^ z*kC;2*Sx}!#5K=$zUQ;s0DcHZ`4E{!+b^q1-uedd0Jse`lipnSA}1|{2=VYHCJW&2l!wLRPq@!d5W zYA#M@y6W~wYXba!O#$l&=ORg!uP6*R#R0+LBCY^HU80l+Nta7QaiWqBFQFyLHBtXj z?W4&6fbje5x`ijoINKEVcw;N1mvxQ?nXBUk_}*-`ait~_ejG7 zCLautJ{rK0T;*T%|Alf@BFD+GW?k3J8&lgltjlIvPu$*JcfBQkzR8{gSKV}#Q2PP# zIa~Kgmskl4ImI}H9eKuQkR3n{+5}dW%51iRr{|VDhw(lwm=Uf0B2_aTc5ltd)SnX> zxqCD+OUGgGu-(?hg(TI6bI-cPrLi0}2A`&g4IRI_Cy}YC45*o>lZO-hbF0GZ$^@>% zwpHhvjoudy#Ka_}yCDoF6_mNrIpS(Z50y{6zvlFPlJo4@KVDfmn|Ac{>%v#4`VO3& zY&D0SpB~}rJuLcxYk7(O71-cmhWtCS6l<%eAILm%DN~!zJ=8yvRxd~%5WIHeG_vZ-zT68c{TRVia8~ zGS%8fs6zgyPS9ECR#Ybc0|r(3AnxKtKnrqe|BQ#CvJp=9Tj$Rc_@hhbl#>%T8}F%*S;b4*=L^qSx7n> zpuKSe*QXnwmw1@(1H|uh`UbR9nnq38evazkY?qR+2e^B_yuvwX0E3~E$je0 zT78+@K}KGIjVe^jT>&YzwXm=-R$(Q;RjjP6yzbXv(LK_U5Z$W3pNLF%%%0Bg_x$yd zZ1`h9OG*ws0Oqrg&rv(sFYJlAI6AUgjt|I@^Q7k03n4kI+DdOd@5b`7JudJEfj_ki zbJOrnRWnJbLjqoiWwlqD9-PUE{^g9{|IY%Wic5g{k!G5US2!@B5_<7xjH@pDO0G%* z5gk}RR;RxU2%l;PUk@&*ItD-C(Ntn3s`r_gU&B5J0_uRQnB4lNWfyx$%aki4qlD;$5A=o6;7 z6Nj6AzB5BLmNzU=(f0C?#*+0)a*~OX?YYU%e@IGoCn$kW4ARP~^zcRh`RE2qqQ@;0 ze?mqvlP{JUF(i9^h6Rx^eqPLz^}=~A!H$w-JPr-Exj!s+yi(ZN*Es$J6+P$E$UWjV zy20()VPfM+8i`qoT`1%!R;Gt#NXq_c-h~s)<^g-!5HHe$yM)$t$K5nHtu_!tehpvjX6EZp%_tWR6^xI8a+<R9|Qd}Y@O@s@~WZ#zm?>AC{ zZ3Sjd`w)B=z`VjxE*d|IgYhAmzGOceOWZyJ`{O=KPUM@uQunZVGTXK!^NrWf_N9NNZ(z7>S2JILfm6ylw1gJu1 z9jNa&tABc4Q+D3=UQSF$vT^tH23F?n#|2AOwbTeit{R@7|9sI_3@B6ofx?#i*`Z#BEV?I;40>wUuE)>w^ zQui10U-wE(;WSrB=rup#^*#xI{Cx;JVtuprzr*WrD+4Fmw9uY_+-n_DJz)rdn#BJ8`Ut>WC}EWi$95zuY=B=F>rASd(@bb5noCL!lW49%PN2HXpqmep%#NW5r*cl+6%S@z@%QUb;xZc|{X9V@H$wQ?72f~P;6=fA zrGHH+scyc*j1<{sX5WQ8MxMH@%qQk2^E4GW!4S`w0pSXu4_Xtm%3DQj24LKf@ld@? zpXZW!!*Gr7kYGxGp-)1u>iobSSMAI1qC!a^e&vsv@wJIYjq<#Z$4|}0yo@=%r6JR2 zx{1C5pFoB1?;-d1<|ngyb-G&Ij8Hhun`FY1?bXB*$x=Rs%nb>Pi1;LZ@*Upvs`Y7E zAhsrkOQlyr#u9AA*wr`&7RU&+ySjS<^RSQ$Vu^XXFL1=1BE;UBcBR1RW5lo=L>0Ki zA|YZ-9Q$p=$LP|@z65g|4C3JZ&H5egFOQ1(UgWU|~dAMfGDm zE7T(hi}z8?p4=50LAE(R5pYW2seNB0!sdi{-0*D5-H>nI0y(*!(Il((VTna&Y*1$A zdR78gEY73g8l9=+zuW0DDW)x&X4!fTJ86*H?h z1C3i`UnY8a%X}@sir*KT+M|^i=#REu`Sa~_V!fM4>*ElJDCDs;`)#p!3IJ8KTS_EZ zv`AX|7-~A<{AExv0URon^Id&FVqnF)Qz#L%taP4E7`#=^#X;9&`kuOT3ChaUo$y|W z8o6pFI8wp1L{Wau-@VR9y_i$lW)f?jdI9P>&Vi($j}}f)FEbxq!^*U;OA0X){3;pJ zdEJEK03*6sMuWs2Q-he=qMoYp9Cr%091iM*4PgSKM%lc1KcQ1x@iK}*)clP*1zd>3 z{~0S{W3>tAy6>*oS7!3h;`W#pd2IW_xhhP2;!M=d@vOyKStw(uRlQeIhA;G&cIcH6 zU_q}_{m*LQ{=jF?L>0+>n{FB~t88Ir7Z+V`9gt4mq_K-TrZb1Wd$HweQic)QsAyR@ zBrLe4F@Ro|{7F*u6))>Ys16%C9+g|%9IbNs9})rvABNcwhNKu{rs};!3cXXlshf(A zZB&PBa*klSLOR1tUfbc#hWg((w>kAw1rjobgxIRPS?n=Y`sQCvj5xn3W`4Al5Kq21 zptlG_(6!XRU(H|C%sA$P#1zq|FSJk8m#o<+L$6TZ6iEd5{%MlXMV_*1a*QqpSbkrM zW@^KY7?v0^0z>h{M2HN)O;uZN+m#JJ>8Igp{=C)69Z6q)+Zz@O>b?e+n04tmUHqcV zP0%XANi2VusTZB8$xn^C7c}L(Mb-Ipu2aZE*^y0bhug8M;1E> zFXsrEfL7Z4mRl(_dbU#X@(o+(0~o_TDj3M_8k#H*XmUgS^J!`$)lLE05+2$|BxIzPQZd>z@M#YSv|v{s(B zg)(9q4mcNVhs&ypKQ%{G8!Vx#1rPGahHHW!y~A*`uDP!R-|V)e?~%PTS`ta11!tt~ zSsT^L!;DzuTcjB0f~$7Tx)&K#5=+fOV;DKJ5sd7`j|%MIpFXc<*tDBhnUtHB)5o*< z@44*~!)_2Pdb)WYOy|A1(myV|_NjE#vzjS@9OjHcmO`g%zFJw<9;Aswk2^uNftx4= z1uC{J8=N8NqZPVnaZhAsQfK_SZu{VIoz+xdrk4R$b2-S?j8ygRnztUz}(nN%7bFyDUqJ1m|{qkHTkuPrsg zL)1Z(3fp<#b*QcQF=ZHpw2)z<39LY$WbM=Wmv-*M7? zTKVjZvQ*q5EPW4wA%s#=;g(~1R?_tqCQzM35U;nW^T25QVV1lB1d@|O^W{XwTZp~T z^7-=Zr=xLp&F!cO3)d$3Ly|kEee}3pE~<+z8HhpB`+~pINo(B9bvI073Dpk!Tsrru zF28Wu2u19`F_bcZuXqRJYls;>A>%kV-Z?hR)xg7B0H=FDk+nE(8NLm@6PP zUI(bs)lkdO?}`yV2L_l|snh7d)Z+%>r%X=-PB@;@0(S>~V0=5{o%{WueNort-thPkA8tHILeXUCXu_0NRAlO`ZEsf=e<1;cD=p8it`>cW z;!mYaFWY!o0|-v!2dvA$BoAoz{w)Um_r#V0qeiMWykI=5|EH{zeuo4$3sR(e6qW8^ zn$$mV@<<)Bol2JdPcaC57)6)eS@`NngMY~Ho7T77rS(YNe@vxju5dJc9-|>W$cSS} zhj|PSMk%z{V&iW{t*N1B7Msq_=dB-d`0Ei0t3N z3$^|eH%3<)(L#Kdr3JlVXGDu2y4&5R#ARsV+bcd7(gLDf>$EYwUAky6+ z{VslQz3;!?`qo=-tvhqiy7%03&)xCczr8m?Q(b}JF4bKC00@*6q1pg|^&1?o-^K?2 z#rCly!P6ZVMSXVwApCs&!%E^Lqy_*wJte4&u6M@fw1ETlMCz@bkrWX`hM0QZ%hJ4$ zI!x*!`GyuvY<3k9796Hcm3R(N-*RqG9fxVs8^{Gp^2JR*?y$TW&E=nmY@V2;%CmHZ&FRvHSm@uK`u&;u=|SWsSLqL zhN$lRh=O(OQkzxXzUYg4-#@h3FIP?z9Zji^WKBMn*n27FarqNtQ0Mf?&(PA_Yt)=o zIb2SwVcHxESU0G#>lXmpOHrSuaR4CLPO}IL;3BZ30@}y_G5lV4yytfuz z8Y3<16SE!{rylbc5}2#O#ETImy|l+3B`2*J_bY3|-_b?-<5cF}&gk-@`>Jeo&ets#=6CFXv zvH8JN6S8=w&F$5O6gNS!AQ}LmLZdKnmVG6W^C+gxl!A+5^~|XzuSX=dtP?{$Dj_c! z&Km!m+;0|NsUfpX;X0uHL1Ww&ieAm#tJU63eJ{c(uD7a3?cEc~#V44lD7Y$z4G6dw zE3|3{9fwg?2L8##2sR2!Jtnb+LYu|!yDYD9EiVkKzs~!N2%L4IEFS!LH%4@9zMhJ3 z=@0ErJ`rxSdaSSL@Ja&!aDG1zK&K9} zw)q}@EAleHGhg+k=A3&g`?Gk87TZl--Sk>^u5zFe%^ZKycz)(00^dgn@L3tt| zxH5#F05G*>Ljyo^`2R7aJu!$>)VvYAHMU!`YQ@Bc4Z!r$t^CH|Nj@<8y~)Ya=|e_NrfoRXF>m=PvVL8SOUWwxCF!9It%A!0pM%sc)-5TOojennLn_U;oOwP|G0`|LBg2YElt9KcxB| zGaJW6VKD#*RO$=}EOH#m5lPwb%6uHlF{mU?ey66Rt7GKWi_V+v?T*@WtOX~QD=N&$ z>ejN!XsJl6k=%&_O!EkN&|j->$a80U;D>`U=G6daI8aXu$b*{+PW|rabHKStCl@Wj zAmLcG$b9l@sZ7->|H8oUvZp)I?ehGJZNYzz{zwd(B4$p+tC^gqxnhl5aog~R zyB=lFum0AdaDKP@63DTK?{GtbV5eZvXaE(tR9v7+0BQSw4^hK`MGAP=7BYobvnqyS zkcs!Y6_8i4_d~m#8|5SbjN%#zq(6NH0pNK&X=-&s;LIG+#u8OVa3H2d$?aQW`zQfr zl5j+=q3J;W=%#0lV#0Bx5JZ&!0n0Ufs=YGP8ig=-g}vk1bcOVkY}6N#0kB1Ig~X!2 zn1Ij1RtYS_nTll-*=J}E-rP#UAT*I8W7}k5-nuNtckz#VtXaO=4K#&fd5It;)#Ll_ zgheXuyivhqUazS+t=AZ2Xd+f8Qk`Q7P_onpfOf zyqU~47?}ip<8$VdfS`n#ap(nEiYgI8O3AxymUgh(sTwO)bqq+!30`uk=`!c5u!fT$ zjDa!}%4t~?g?v1SNx!O1_VN-F_&E^<3x{#Z ztf}hXQTUT%EujegY_`j^+i-+#3C#92Y+=0v7-8vyHlG~+|I<*{hdNZJ(A;~Ky_=54 zlnhS+;7y0a6#U2Q;w<7Ur(-rCM<-V`y-Z24(Q1idc`ruAzm_80Z@w^iqWd2GJT&M; z2C%uq<@@f-?|qvNo#z-(vWkAVI6zX4YWhlo|6GE9?sR?$h&<}VB)i(dZ6$rNW48UI zI=N6e%DL-6q3{ap$-HKfny%XjF_44BhJKz%Bw_LK&okDM{ycz#nT?`_S;37Arhae+ zHR$V@%6GXH;0f_~0A&EL)Wg^~$S^dD33E^fyuq2zHExtU$ruk4m??Ku_%N6 zd!*#|AP~_6&W^Bo2cAv`LT6s#2tgq>iUAg3mU~u@0$DRzwC;MFqaV8$UcLINY+vpM zE*Q@5m@NK*a_^bcrXN>+hMvjsj<|H2I~Zhmel`S@c}+I`Ugu4&JZE7&4S;l8v&gC% z)x&ldkuHi_$5%H+pTBVN7^f1=U&elNb5htbuXaRfEt~F)uoiMm=;yZ~F6Fn}$+EmJ zCfKM=Z03rSc|#roA$`4(D%88L&f}xSu(s&HMS^$?sowSc(JxKP+UN~2b4Nes>v3&K zbASZKSZe9h5LH4NQYjY4`*IoOgn!+KAOHbYlv#u*~-cH2QeB>Ias8IG|A$5KQS?q z*>KX4 z_lAuy(zeDT!8t84=nE{ZB;<7|l}uRD!*=4Fp(=(EuBZD%Wo6`nFm}PQQP-9n+3^A@ z3VLWT!xO)kLer3`^R8Ozt@q>FI~MadzMVLS?Q|)>M?8&P4!z5H{r0ej6z$|EwYJme zU0JMI--IeZ2{~#OeuWmWW5cDmd{JKx-L0k0<5IT$-SWAvs`xSnQcUW9fl{WVFX zDIvv^tTs0_^jj~JQ2d_cPdRD!vFF@7RsG*cl5d-ef#0Nil`PIoGZ&h*YicXtsQ)Hc zsPgTwT|S;*i>vz929!-XW93+KTia?07FGaNKhVXODEIJq&5ZpH-*Sq)C;P45ska2P z7zrf3Yn|v#BEL9^R_W*a-#g7*!y+S@?^&^yW*}kAJ5@`6U&s$C_@_?`@!LJyS#ys? zNYU@dWUgRfQfVeF3OC1(DWmd+&9B{7xxq_$q?T^8>7H=fYr_L!J(X-;vhNx1F~cV) zMIvEz-tT6EjQ0Odd|-uU(PsT>pPi^2Ywu1HJ!6Wvy^o92wWjB0;TEeEcE2mHzO!?k z%1@4iiMhJET~7U&{GyDJi=3_17q>?P8Xgp)A<&+t=ZRUy$k~3ZMmL3q7=E zNbB%!HDm5cB#Mu}J?anoV5vCX82%T%8!Iks=x=>r6y7GmuSyTf`~6H?>T zOn#r@D}O&CFxx0KE7d$>z&wQ!K~A!}l@rmKTcVmVu_RFYG!2F#^%pU3 zirGxYR=A~l#-GhVpF*B+n$DsSR9|ETkerhP7#M`q8fr1WDKsSh>a7|#N;J#MtuIHNV*p8&8B~S4 ztDUp)k_xD51RMcV1WRk{Ms65 zb4A|rDrZ%nmsS(Yx1dR0+#U@9?|*IP_EHu>e(%9gZXH3;^?q})dHSKVG&d}ftYK6Z zp_Y8GbRF(d^!=dD24x*!Nxx)XQ((hI{-uj|R(5pHS`Clfg!r|^%W#PxDB_&NmvUK% zwP9H%7EaYf&Mzu-eoAkWTlfAxS585D(!9DkFz_Qq+U}UGRG-oRV*mJ&m5KD!ht@Al zBgd0oq+=CjK@Epmc0-cX!Uv9p(ydx< z8b%prrq0_9(uM2%$W0q#xzM*}g0}rqW}QK%H?=WaCw01)Z(@7Q)()p_7P?qk8gia> z9((`VQ%J4hjz^%-1txp8VSo2f&}+74PQ^rjf9uC46%)MD`UCei%owDLIr3uls%-&R zRs-tH-vidS;jwG94#Vn1EBxS#h%6iZ;4Z13_{mKG8;Xtp7$E+YQfwTQ$eazXXgn6? zVW*^=^{b1S#|m}|#lUH|Rxy7LhCfISAJ_Rk6b;ja4lh!t{7GXiC(IZSro)GiEQdKw z$k(i@r3+0rdOS`%f%;VyFV7sVZ#M>BH0}mwZ3Hd#U0V0YQA!)V2fidykrz_k1!}F^EWc{tqH4BkP0GP>p3QKM%IEDo#sxiEY&pb=40me$3we zrOjrU+tN?sc{tE=a&lmG)KSmVd|#Xd0efIy7z?oh51mdhkCp>)CQCqs1K z9+FUSAt`yRUHNo5t}Z^NE^%+*o!NG;#x9^)6m4}~Vwl_E{F@_Xi+R{>&$K`bG7anQ zu7SRPUluFNM9WKlwJ8_A@3EG4@uf{EI%tS&cP5AN0inF* zH8)Q`Vx%MzoIrGpl=wL*4O^TD6So^0=@u#Jyl*?}#M6^LAH@diC}341!wjk#FWGdH zC*G{PF9QC&34jpap_8IX!`HE8Gn*6HCiMOJ>T+a{Idh$vnZwR`UIsG$6+QE3@b!yd z-d?=FhM(CD_hn|@mPe3Xv@RRnBM1fIP(vlobeIH?mQ#;C)?(WRc1ZZ5d> zsgLBM_G_mrGl}_3VAevKN_|oyY4rCZA1zZvCzHTzn=F)zLN78Brv38h#YEXu{gf$O znm;|7H@%B`P|c$z(Od6>dD(Oiqg0kW)ulv}mebNcO1^h?Uyk=J=38VG zE`!-Vueapa@(U)Aa%O${{llA+4*%agfBb#1!94eaYDjKN;|hhD{R0)j1)q?FxzPpa z(MY*!%&a2$|1fzzamv6iJtQO;@1~0Lj5H-gniZWwCE;~CIixYqFY>P0c({j@#N$Nd zYBfr1&WNxw*2%*F!bv(+L2Zq$h>se1-Qdd3n{`!vKAiM$QYrP@U}jQue-+bC0UKB` zYDm{jo9N@vLn4T9!x1Ge(Q(WW*QQzFEvE5v#tu|wM6usR>jpoHCKZ4ExZ=7XwO4a# zA);&P_Tp<$5|*&oyYn1UzK98W;`b|P_B8c`IZb5bgRSRdwtb}Rz22kwt|}MAUqhb@ay|o!;Ai ze@Teo?%*qaqq@xj`he}dvrW3200Gw{BIIIpzUl|5^;z|4r{nu;M=8|VWMk$ICkDco zUr)=N2e`<_7Mr#j+$N?g+Qa}7Nw@u)3SnuvW{mX%v5%FDT0o{p? z8e0V`Ogww0GHUR9dbU%`iEUFQ;S(q#Ye=EKVr`wzvmqvkwq2K2zi7m%`RcZ#KZ^t-Jomr^ljkw8t?AB=L?G8>1Z|o^i$U4vgjz zdA&```<-hc{Em62_9z!#gD38%8NEFj29c3AJMFpVekcu%>X#cryw2dgmaldaQ?tv0(q{eW+oH9jaXL-s-gmNCxY~7td?fG z<$Q{54x40G-g+Q3k&GqIJ=nSz;_MQ<#3y$H)}mP?j&z&=GSBqw0+mGTdmAhnJ}Gu~ z%xB3!#9Y`K3%Cw;aWE6RDY0x#J^pbSv7=ZczqHQ_v&Z6k>h+##3|lw#XDSL@?ak%m zttqQi${f{7z*ZzK$4Q13BPldA+Te}j^AdPNk;r^Z^xa!=(R%78w3x1C^=(Pm&mdPK zL8^6v9-+LGFVbi2yKy*BoYob(#g&!56RG8oe7zK#3Osanm5IvPTD-i#RCRBPL7i6Y znm>+5tNiI~R9@iT)dv|$nN*>8guxar4I|Ru7Ga~5CH-(~Et;FBPeB3AXx^%zUgptT z6wnfFvlHwBKiJWNthw9yanR6DQc6}iYqk+1;XE`FJjSAKlP$=W(T+lgkJJ(_Y|7BI zsQpDW+NrjkU?ZAtHic8*Q+(@dzXPU2(YP3bI4)JnV+|9YM&HApXSj)HHsmVwBB&sC zy^iD2I0d3d6af~wHYK_h26D48L>bak?uRQY@XK^jlXI*xBl#cIBR=Kz^eeJ#=pyg) zGik7}kr{NRgmXc(^^217cQh2bcmB%yDtPm=c1$mNq^(?Ksb7StCmOl zA$~$k4`Iv#A=eScMrKn@Cmfe1RAu)XC$F$c3e_``5s}GAcNIZ0@-m@Hq5IQu8DhI` zb^~-K0>bh`o_Vx(-A;$CeW%=*>^|3>`t8s0rFB>wL{j#BFzKpNkOD5Yo+O@3(7VM= zpU(Rn9-gv#jc5L-yMoW{|ETkAy$JoCIIfrM5GSFEyuv%-t&?Y!(YjBQ!wo7h>t_g7 z@2}PGmm-FziQ*&=Fz@0UwfAR%np@~)38AGNG#k3mcJf;%M?^vnKLXD*D1|mIe^gVcLEpRMz3;#|bBk{1 z?7%ty{Yv`4?bz6*Bi%Pomk{(0aP#(Gu^Y*)+B@e39Yv>n`zY&N$W%H?Aeb)2KbdPT76IXXoIS>7^w2>BT=NG#4z`8K* z>p}jE@pj4l{Ci`?OIFZ*Y3j)Qd{%_^v!)8c;KIoy$%wpLUpb%t#Op3TSKa3xZ&21+ zw!C;Up}&7~W^9WO{*KSnhb!Pjar-;R$icNSHalNhD1{6+pME%baIoyPbv{eorhoP; zg{Rl}u~+>l?VEG!JG6Jfq+>CqSY_?d`YK?F@N7Trj1G3T!?<~$5`dF}d>#40W1)E5 zD`+#Fo1PFXSRie61U?NB0y#9Ez5oE5I<FP8q#@XjI8>@b`AK#$$G{`87ywSnao6kON z^;sok+QHZDReYl{!^b|C7Y8Dh;c|~p?EB=4$$Ki?D?c%_o<^Tx0brGSqRMGD8rNV( z>O^NV<&~+1rS)jPyyaw{yE~Ub@uFfS4=3XO{?R^Dag32%pPqkfwubQ=U7MbLY}WPx# literal 0 HcmV?d00001 diff --git a/function/ui_compare_rh/figures/20.png b/function/ui_compare_rh/figures/20.png new file mode 100644 index 0000000000000000000000000000000000000000..f1168f94ca1a07da6b8d4573040f440e19a37811 GIT binary patch literal 1457 zcmV;i1y1^jP)<{9Fc+$~w^MEn0000m6RHJ`1poj5M4~#;SO5S3KqRWuX_;FC z0002Ygz9wU*P8$U01yZMD+B-l0HP828;iDWV=DmwfEmL3#i$f$@A8XpzyI~8AH<=i zX5o6xdmx>3SonXY!@k1R)nZPhI?#eGr;7h;|I5v{1w2Y_T;$f1{*VsC@3wtxH{J*f2U zyEM2^zN8m1)t~rHjW&+>!d|btnd&U$pzhv~D+OueZ1ggVE|y zFR}Jg4yor@OkIDk9w{kPUCm9;X0y4yz1?oNw*t~r6WVFwVE5P*-}In&T>YzdT|4Tu zUY#yaT_&jUwQB{e>+8RlZ(e#V(E{qB*B>>eC9I?1#PuLfu&m{tS1fPxpy_Uh^q>&DuA{okV&xSa$231UFW)*J zB0!pNTG!(Lc*M$UVg9V2>wI2#I+;a(fdAS*S#7hvgBlAk(Fix07rKj`?5LVO z(hWVw`HAVRhXm_7E^2DgwEA=9m60s1bf8QNH+Z0DzirP20s zOxw9n0<|`xmr6juTsDsCgNca#nDocWD_5QSu3OqRjHM?{Uh0`JE&Yxp*x+7Eq<@dD zTtu{O>)7T<4N)P@S})OcS^}D`arcsdBAA5F1B=`4PnZMAd<$4;NIi6%_hZKp4fYA@ zc<)OxejstN!bN9q9PvC%^JXJHZkk5DrQ~ux2k(opGSjY`MSpZuC0_L~(9h_4+*xim zo5#mTamaLPTXvV)h^V2Y`jDn|OK8i;GC^HVySfQAH8s9vT)Iv!TMs6*^$?I(tGi+$jn4xU<}BHcwAa1EVB3 z5$28EK)d`%VrKPL4rRVyj7@2EHL9LCjRgPz0Kh`~<4phn0Dv%P zEC2uiAR5*2c)Ys0$}Ix`008DdwcG8kudj2<0001hIZ*BQdm0M>004+WUDx%)!^7+A z>)~+7Ed~Gp0H#g7UazaFy1&1Fetym^1^@s6rcHfwbFB;9XK{`dgkG|W00000 LNkvXXu0mjfZkNSp literal 0 HcmV?d00001 diff --git a/function/ui_compare_rh/figures/21.png b/function/ui_compare_rh/figures/21.png new file mode 100644 index 0000000000000000000000000000000000000000..62c5318d417bd4616d52857c7661c12a768f840e GIT binary patch literal 9855 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 P%0SOmw3W*gU%mTp7iFq% literal 0 HcmV?d00001 diff --git a/function/ui_compare_rh/figures/22.png b/function/ui_compare_rh/figures/22.png new file mode 100644 index 0000000000000000000000000000000000000000..03ce77ab89e45415079f6239d53cde66e1bbc37a GIT binary patch literal 2199 zcmai#`#%%jAIFEjZee{&$epfk$tTn>^C3iTeHEsVJDGcYHrCXqi%*wPA)(FvmRoJ4 zXejqq)>^yRVuW&=Wz*2izUCkJ{&3#s^?pC!=e*B(JkI01@A!DRDl2L#0ssJIx6`No z3joM)w)7!+=`Cyjjnlj}DI}eSrUC#eeUc$nV4|W00LZ(!o%-t>{3!?HiDOwST`TZV zsY#1wX0}mQRErW)6iVwo{RNpz@9LlJ+Ofl@>J*dR4iBfOZti$k=CN>fjZdVvx3{x6 zg0u31R}#2nSNDGd#`NVvVs*0v004J?VqWYBkN+2FCs%r(^vJaI2g3KO z9jTDmPvP(VnH@G;W`^J;83_F{{2v6#<>}0 zPrgS0FtBbZ3wI%)q?l0zwsH|y_tt2GsPCN|MOGUrmfaN`ih)r)b$M9dcJ@`0BKa1I zvfh}cd2k>TIr`?QP3XQ^{Qj=e1f83B4V#0vtx=a@;?RP+yzxc1lVfjW=ATCB&Z&XS ziO)4&e0CQ!-mSv>0b>d;TRt)X6^D@1E4_oHg_m{b#)op68Qkx7Byy^s#haj}&7F>9 zh0lv&t^>;NOp@L|x4z=86uu{mx?DFG|oK~&b#d=0r2YC*WE?B$tWBgA==gc4-S z6c_T7&>tQtxOYe0XtjZFSf01jS2p1qecD-;aAQtP5KaC3UR%CdSYbGxb*{-{=sh`N z1oAj~G$AsF8{w~`_vh+2#_<(+i85`fKdLi7j~bVGpfhqti-Xnoh`MFW2?;*1+0545 zr-sftlAw7{En55!a_IM?tAr~T^ulJ*OsI1Xd2}edE~M>SB&ZWoRaYUg-a{ zFnnS?9dfqYGP5cUM~c9*J5aGJQCXIox|zFcElY@v1-pxxcnAbti7Uj$lWN*N?-%y% zYoQBn^5O;5kxneGL<^TuZ)kS3j%Z5d3P@_h=PT(x{KFGsgHG16C z9LFy@o?Dqb3rdJ)}2`EPg|C427P3^`&@xaSjbb-d}D?7}v~*ylQkSAKhzv4<4I)5e~c_M2lOz}r_C^IE3RX16Y%?&hs3ra}LAq`x2 zQ|O|Z2xCN6mY~cSgTwQME<3aENXbXY;-nLT*=%+*oyB5tmRDJjEb#`>`;O=ETXjCF zpfwYthD(ku9IZq%UF7PIHUv3!9NK!LJRS>ng2oPfivAFw7dBY#_ti1^Sf303uY0)| z16{&dTeKj?J|==+-eV5(D(J7(Csj|!x?<^$XUbvs9wq`e_Iu1e*fp^3epC-}I@z8z z08`QTA`G(h-W?x51daI7UGol6t$oQ`N>GQjf{)Gqp^NtR>r&I>?8@re_s3Az13?JN z6pYDGezfU3V)YT))Ez|~!RHYe%8n^Y-L1*v8sd^*S74*fCSR|claB>kObn{%PhM@4 z|H7j`0eY2_>3jAtT(S^|C^C4L2V7wwsWig>%4r@&54wA!U( zqT(C&l7`STjR^L9>pz}49csmEs5q7HdOGO7Rz;(>1eVF!ds41+vuk5J*tOIJ;phG5 z^0i_dt2P$B6{}id*@0;<1y>#SPD*kCw#i^fu*nSP!W?eCsqLUYi!g806)j5E`x+;= zg|D4GB8K?j5{@?C5Xm*4`Pn8lqO(q%EF?y**U{8fwztThY?{KCOyI#B<)!j50Uqx4 zTomifaFmfyF#hadG;#D}X~lap6XwgOzYLh(QOYtEnc>raI`@2(#>BPY5Uw7<5gA`Bvb~~In_I`CxOI3Xpw>YwCX}xms^m?zKXHW$_ zq~4bzsn+w>vVIEupLV&*CnKBh&ifwDQoqosE;&Y-+(oh6Gr~SGWogdhynx}umgGAC zVf5wnnfY~t#yzhq2T(Y)>sZtzb}XNZR0T?w^+2^-TL$==k5%`YxH^9{>OV literal 0 HcmV?d00001 diff --git a/function/ui_compare_rh/figures/23.png b/function/ui_compare_rh/figures/23.png new file mode 100644 index 0000000000000000000000000000000000000000..8efdb1a39de83730abec3a4b7f0f5fb740c2389a GIT binary patch literal 30524 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 Ye`{-*<=DglC;$Ke07*qoM6N<$f^uihXaE2J literal 0 HcmV?d00001 diff --git a/function/ui_compare_rh/figures/25.png b/function/ui_compare_rh/figures/25.png new file mode 100644 index 0000000000000000000000000000000000000000..5277cf722abb4f1d7943c2deffaf90e4d33dab39 GIT binary patch literal 33919 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 literal 0 HcmV?d00001 diff --git a/function/ui_compare_rh/figures/4.png b/function/ui_compare_rh/figures/4.png new file mode 100644 index 0000000000000000000000000000000000000000..fb62a3cf06c8afe812c7caebef4d2283a3e46e13 GIT binary patch literal 108152 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


Gz&BXLmQ!boBG}3L5?=qk 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ÐFVi=?` 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 literal 0 HcmV?d00001 diff --git a/function/ui_compare_rh/figures/5.png b/function/ui_compare_rh/figures/5.png new file mode 100644 index 0000000000000000000000000000000000000000..b728087c47ad5e2f7ef28dc1de3566165b1604ce GIT binary patch literal 27465 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 literal 0 HcmV?d00001 diff --git a/function/ui_compare_rh/figures/9.png b/function/ui_compare_rh/figures/9.png new file mode 100644 index 0000000000000000000000000000000000000000..5ab1b3c96fb2d320093889235d364fc651e2238b GIT binary patch literal 20959 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 literal 0 HcmV?d00001 diff --git a/function/ui_compare_rh/uicompare/.gitignore b/function/ui_compare_rh/uicompare/.gitignore new file mode 100644 index 000000000..fbabf7710 --- /dev/null +++ b/function/ui_compare_rh/uicompare/.gitignore @@ -0,0 +1,11 @@ +/node_modules +/oh_modules +/local.properties +/.idea +**/build +/.hvigor +.cxx +/.clangd +/.clang-format +/.clang-tidy +**/.test \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/AppScope/app.json5 b/function/ui_compare_rh/uicompare/AppScope/app.json5 new file mode 100644 index 000000000..eabf71557 --- /dev/null +++ b/function/ui_compare_rh/uicompare/AppScope/app.json5 @@ -0,0 +1,10 @@ +{ + "app": { + "bundleName": "com.example.uicompare", + "vendor": "example", + "versionCode": 1000000, + "versionName": "1.0.0", + "icon": "$media:app_icon", + "label": "$string:app_name" + } +} diff --git a/function/ui_compare_rh/uicompare/AppScope/resources/base/element/string.json b/function/ui_compare_rh/uicompare/AppScope/resources/base/element/string.json new file mode 100644 index 000000000..c102b07cf --- /dev/null +++ b/function/ui_compare_rh/uicompare/AppScope/resources/base/element/string.json @@ -0,0 +1,8 @@ +{ + "string": [ + { + "name": "app_name", + "value": "uicompare" + } + ] +} diff --git a/function/ui_compare_rh/uicompare/AppScope/resources/base/media/app_icon.png b/function/ui_compare_rh/uicompare/AppScope/resources/base/media/app_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ce307a8827bd75456441ceb57d530e4c8d45d36c GIT binary patch literal 6790 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 { + if (err.code) { + hilog.error(0x0000, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err) ?? ''); + return; + } + hilog.info(0x0000, 'testTag', 'Succeeded in loading the content. Data: %{public}s', JSON.stringify(data) ?? ''); + }); + } + + onWindowStageDestroy() { + // Main window is destroyed, release UI related resources + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageDestroy'); + } + + onForeground() { + // Ability has brought to foreground + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onForeground'); + } + + onBackground() { + // Ability has back to background + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onBackground'); + } +} diff --git a/function/ui_compare_rh/uicompare/entry/src/main/ets/pages/Index.ets b/function/ui_compare_rh/uicompare/entry/src/main/ets/pages/Index.ets new file mode 100644 index 000000000..b4f3ac24e --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/main/ets/pages/Index.ets @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development 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 Index { + @State message: string = 'Hello World' + + build() { + Row() { + Column() { + Text(this.message) + .fontSize(50) + .fontWeight(FontWeight.Bold) + } + .width('100%') + } + .height('100%') + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/main/module.json5 b/function/ui_compare_rh/uicompare/entry/src/main/module.json5 new file mode 100644 index 000000000..9b07af70a --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/main/module.json5 @@ -0,0 +1,37 @@ +{ + "module": { + "name": "entry", + "type": "entry", + "description": "$string:module_desc", + "mainElement": "EntryAbility", + "deviceTypes": [ + "default", + "tablet" + ], + "deliveryWithInstall": true, + "installationFree": false, + "pages": "$profile:main_pages", + "abilities": [ + { + "name": "EntryAbility", + "srcEntry": "./ets/entryability/EntryAbility.ts", + "description": "$string:EntryAbility_desc", + "icon": "$media:icon", + "label": "$string:EntryAbility_label", + "startWindowIcon": "$media:icon", + "startWindowBackground": "$color:start_window_background", + "exported": true, + "skills": [ + { + "entities": [ + "entity.system.home" + ], + "actions": [ + "action.system.home" + ] + } + ] + } + ] + } +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/main/resources/base/element/color.json b/function/ui_compare_rh/uicompare/entry/src/main/resources/base/element/color.json new file mode 100644 index 000000000..3c712962d --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/main/resources/base/element/color.json @@ -0,0 +1,8 @@ +{ + "color": [ + { + "name": "start_window_background", + "value": "#FFFFFF" + } + ] +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/main/resources/base/element/string.json b/function/ui_compare_rh/uicompare/entry/src/main/resources/base/element/string.json new file mode 100644 index 000000000..f94595515 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/main/resources/base/element/string.json @@ -0,0 +1,16 @@ +{ + "string": [ + { + "name": "module_desc", + "value": "module description" + }, + { + "name": "EntryAbility_desc", + "value": "description" + }, + { + "name": "EntryAbility_label", + "value": "label" + } + ] +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/main/resources/base/media/icon.png b/function/ui_compare_rh/uicompare/entry/src/main/resources/base/media/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ce307a8827bd75456441ceb57d530e4c8d45d36c GIT binary patch literal 6790 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

vawJkrAqs zv*{U5rOCUTnZq6@rS`q>!J&|{<8>RFcA5BTL0Z-YMfTQFD}swQmyoRg|g65{y{)b19H z#k2al6tjUUAYw^to-SJ6KFGV4`QfVT60o1&_!UucC_WGddi>YYz^lV$De4Qo-Crf_v<@-o@l6#Hm|j1asJ(OYn8^H})!0 z5)Ep`OhmovxC?)L&afGW-b1B1+_t(JAH3|mY}kG9$DJh*^c>E$Zz5TADP*;1G<8Og z-tou6jgI8DkL~>zgQ=PpP#>r^f;Q#; zq^q}cUub-(*ij(=HGo*+y=w8NBWyw;UK<0^b+>>$dR5R^ROvs8gq1A(w|-B zsj&ayx>m@+*EV7*@0@#!%{`IQ2XMjd`^_Q$*izbxGs4JP@*7;+;b(2@0lPno+FACV zuQCB&g_;D%a+W_@$vqwrYCzZ5ktZL`?p8dsB-|%}itgvH3=K0cPKHvt6e7Spk&<-D z6S&7WSY>{TNcXX3Z;~%u7jOR-&o28Ddi~7!YdiR!WUs6q#7n3bZA5MSD%GgZ<@ z7mgUBuObpTCsM=)VzQGo5qfdu@EcV-e+x$iy;^P@6 zD&YSS8CkMGB^tj-!!NpE-u2X+u`8Z;{Gz0^sG8K&g)^5|>044x15Plo5JyTvAmJx6 zZggm=n76B--icV^y2>(?MlEl_YezEl&HUKbH}|QyreE%|9HeMGb$0g9#9GBH@gx{6 zn;%!s{fwbA>jN=PGHJlgojs1aHrWy@Jh57Eby8n80wDzK)LxXR$O2#O^f(GEbo7{; zxV!28^*GCi9jyl-sT_C~qVF}1W^ulV+l)=UIR0LIK_5QeHr2jQG*=M`c)8Sb>BQxb zw`njNfSLcv<%7%PsGv^xH|N`=TTfnwU`tD7>!==3u$nF?+(jT(?kNOYVVxp)poGJe zK<+(s>SF2k%6z8*I|IKnFD(+sq89{M3kL(AW#J)ry|P0Qx()pPk>6>wro%_LHCirdi2P&wUQ{NG2-^%;)I}1m~M`TwPAc4}X;a zW4~`)*(=Wt)n}3PT@xHMo%}sucefh(ZZO=?f%~+EMG}hLvRp7C<%>BI`ToA+nSJMQ z)~Uk%5Y2xo%`CYBe{}tklpw1)92$3C@ErbW?^QagTP$Sb&Hg8=Oq*>u$r3X8KYF0= z=Zw(4OA@HwThnjKjg87h^KCqT=2(1v`o*-%WGsyPJCQnj!pQt(nsZIda?%r(#6;M2 zaEWKYmN{SX0�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൞PU}(s(&@cChsu3VtV_muPXcVzt)cD2F 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%0A# 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 Xj`DJsQ^cU@00000NkvXXu0mjf7{ji= literal 0 HcmV?d00001 diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/cat.jpg b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/cat.jpg new file mode 100644 index 0000000000000000000000000000000000000000..382ac7dc322871219388ca27f7c637447e8c9e77 GIT binary patch literal 239194 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

    vawJkrAqs zv*{U5rOCUTnZq6@rS`q>!J&|{<8>RFcA5BTL0Z-YMfTQFD}swQmyoRg|g65{y{)b19H z#k2al6tjUUAYw^to-SJ6KFGV4`QfVT60o1&_!UucC_WGddi>YYz^lV$De4Qo-Crf_v<@-o@l6#Hm|j1asJ(OYn8^H})!0 z5)Ep`OhmovxC?)L&afGW-b1B1+_t(JAH3|mY}kG9$DJh*^c>E$Zz5TADP*;1G<8Og z-tou6jgI8DkL~>zgQ=PpP#>r^f;Q#; zq^q}cUub-(*ij(=HGo*+y=w8NBWyw;UK<0^b+>>$dR5R^ROvs8gq1A(w|-B zsj&ayx>m@+*EV7*@0@#!%{`IQ2XMjd`^_Q$*izbxGs4JP@*7;+;b(2@0lPno+FACV zuQCB&g_;D%a+W_@$vqwrYCzZ5ktZL`?p8dsB-|%}itgvH3=K0cPKHvt6e7Spk&<-D z6S&7WSY>{TNcXX3Z;~%u7jOR-&o28Ddi~7!YdiR!WUs6q#7n3bZA5MSD%GgZ<@ z7mgUBuObpTCsM=)VzQGo5qfdu@EcV-e+x$iy;^P@6 zD&YSS8CkMGB^tj-!!NpE-u2X+u`8Z;{Gz0^sG8K&g)^5|>044x15Plo5JyTvAmJx6 zZggm=n76B--icV^y2>(?MlEl_YezEl&HUKbH}|QyreE%|9HeMGb$0g9#9GBH@gx{6 zn;%!s{fwbA>jN=PGHJlgojs1aHrWy@Jh57Eby8n80wDzK)LxXR$O2#O^f(GEbo7{; zxV!28^*GCi9jyl-sT_C~qVF}1W^ulV+l)=UIR0LIK_5QeHr2jQG*=M`c)8Sb>BQxb zw`njNfSLcv<%7%PsGv^xH|N`=TTfnwU`tD7>!==3u$nF?+(jT(?kNOYVVxp)poGJe zK<+(s>SF2k%6z8*I|IKnFD(+sq89{M3kL(AW#J)ry|P0Qx()pPk>6>wro%_LHCirdi2P&wUQ{NG2-^%;)I}1m~M`TwPAc4}X;a zW4~`)*(=Wt)n}3PT@xHMo%}sucefh(ZZO=?f%~+EMG}hLvRp7C<%>BI`ToA+nSJMQ z)~Uk%5Y2xo%`CYBe{}tklpw1)92$3C@ErbW?^QagTP$Sb&Hg8=Oq*>u$r3X8KYF0= z=Zw(4OA@HwThnjKjg87h^KCqT=2(1v`o*-%WGsyPJCQnj!pQt(nsZIda?%r(#6;M2 zaEWKYmN{SX0�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൞PU}(s(&@cChsu3VtV_muPXcVzt)cD2F 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%0A# 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 Xj`DJsQ^cU@00000NkvXXu0mjf7{ji= literal 0 HcmV?d00001 diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/Ability.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/Ability.test.ets new file mode 100644 index 000000000..1469eb907 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/Ability.test.ets @@ -0,0 +1,50 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development 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' + +export default function abilityTest() { + describe('ActsAbilityTest', 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(function () { + // Presets an action, which is performed before each unit test case starts. + // The number of execution times is the same as the number of test cases defined by **it**. + // This API supports only one parameter: preset action function. + }) + 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('assertContain',0, function () { + // Defines a test case. This API supports three parameters: test case name, filter parameter, and test case function. + hilog.info(0x0000, 'testTag', '%{public}s', 'it begin'); + let a = 'abc' + let b = 'b' + // Defines a variety of assertion methods, which are used to declare expected boolean conditions. + expect(a).assertContain(b) + expect(a).assertEqual(a) + }) + }) +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ComponentAttributeStringModifyingStyleTest/ComponentAttributeStringModifyingStyle001.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ComponentAttributeStringModifyingStyleTest/ComponentAttributeStringModifyingStyle001.test.ets new file mode 100644 index 000000000..adc1fe9f8 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ComponentAttributeStringModifyingStyleTest/ComponentAttributeStringModifyingStyle001.test.ets @@ -0,0 +1,137 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development 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 Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' + +export default function ComponentAttributeStringModifyingStyle001() { + + describe('ComponentAttributeStringModifyingStyle001', () => { + afterEach(async (done: Function) => { + if (Settings.windowClass == undefined) { + return + } + + Settings.windowClass.destroyWindow((err) => { + if (err.code) { + Logger.error('TEST', `Failed to destroy the window. Cause : ${JSON.stringify(err)}`) + return; + } + Logger.info('TEST', `Succeeded in destroy the window.`); + }) + await Utils.sleep(1000); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_STYLE_0010 + * @tc.name STRING_MODIFYING_STYLE + * @tc.desc Normal replacement of some string styles + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_STYLE_0010', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_STYLE_0010 start.`); + Settings.createWindow("testability/pages/ComponentAttributeStringModifyingStyle/ComponentAttributeStringModifyingStyle001") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_STYLE_0010 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_STYLE_0020 + * @tc.name STRING_MODIFYING_STYLE + * @tc.desc Replace the specified range style to obtain the string style + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_STYLE_0020', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_STYLE_0020 start.`); + Settings.createWindow("testability/pages/ComponentAttributeStringModifyingStyle/ComponentAttributeStringModifyingStyle002") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_STYLE_0020 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_STYLE_0080 + * @tc.name STRING_MODIFYING_STYLE + * @tc.desc Normal specification of partial string setting new style + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_STYLE_0080', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_STYLE_0080 start.`); + Settings.createWindow("testability/pages/ComponentAttributeStringModifyingStyle/ComponentAttributeStringModifyingStyle003") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_STYLE_0080 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_STYLE_0290 + * @tc.name STRING_MODIFYING_STYLE + * @tc.desc Clear all styles of the string + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_STYLE_0290', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_STYLE_0290 start.`); + Settings.createWindow("testability/pages/ComponentAttributeStringModifyingStyle/ComponentAttributeStringModifyingStyle004") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_STYLE_0290 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_STYLE_0300 + * @tc.name STRING_MODIFYING_STYLE + * @tc.desc Clear all styles of the string and obtain the string style + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_STYLE_0300', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_STYLE_0300 start.`); + Settings.createWindow("testability/pages/ComponentAttributeStringModifyingStyle/ComponentAttributeStringModifyingStyle005") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_STYLE_0300 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_STYLE_0310 + * @tc.name STRING_MODIFYING_STYLE + * @tc.desc Add multiple new styles and delete styles + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_STYLE_0310', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_STYLE_0310 start.`); + Settings.createWindow("testability/pages/ComponentAttributeStringModifyingStyle/ComponentAttributeStringModifyingStyle006") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_STYLE_0310 finish.`); + done() + }) + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ComponentAttributeStringModifyingStyleTextTest/ComponentAttributeStringModifyingStyleText001.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ComponentAttributeStringModifyingStyleTextTest/ComponentAttributeStringModifyingStyleText001.test.ets new file mode 100644 index 000000000..63b7a4506 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ComponentAttributeStringModifyingStyleTextTest/ComponentAttributeStringModifyingStyleText001.test.ets @@ -0,0 +1,121 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development 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 Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' + +export default function ComponentAttributeStringModifyingStyleText001() { + + describe('ComponentAttributeStringModifyingStyleText001', () => { + afterEach(async (done: Function) => { + if (Settings.windowClass == undefined) { + return + } + + Settings.windowClass.destroyWindow((err) => { + if (err.code) { + Logger.error('TEST', `Failed to destroy the window. Cause : ${JSON.stringify(err)}`) + return; + } + Logger.info('TEST', `Succeeded in destroy the window.`); + }) + await Utils.sleep(1000); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_STYLE_TEXT_0010 + * @tc.name STRING_MODIFYING_STYLE_TEXT + * @tc.desc Replace the specified range with a new attribute string + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_STYLE_TEXT_0010', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_STYLE_TEXT_0010 start.`); + Settings.createWindow("testability/pages/ComponentAttributeStringModifyingStyleText/ComponentAttributeStringModifyingStyleText001") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_STYLE_TEXT_0010 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_STYLE_TEXT_0020 + * @tc.name STRING_MODIFYING_STYLE_TEXT + * @tc.desc Replace the specified range with a new attribute string, obtain the length, string information, and string style of the new string + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_STYLE_TEXT_0020', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_STYLE_TEXT_0020 start.`); + Settings.createWindow("testability/pages/ComponentAttributeStringModifyingStyleText/ComponentAttributeStringModifyingStyleText002") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_STYLE_TEXT_0020 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_STYLE_TEXT_0080 + * @tc.name STRING_MODIFYING_STYLE_TEXT + * @tc.desc Insert attribute string at specified location + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_STYLE_TEXT_0080', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_STYLE_TEXT_0080 start.`); + Settings.createWindow("testability/pages/ComponentAttributeStringModifyingStyleText/ComponentAttributeStringModifyingStyleText003") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_STYLE_TEXT_0080 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_STYLE_TEXT_0120 + * @tc.name STRING_MODIFYING_STYLE_TEXT + * @tc.desc Add attribute string at the end + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_STYLE_TEXT_0120', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_STYLE_TEXT_0120 start.`); + Settings.createWindow("testability/pages/ComponentAttributeStringModifyingStyleText/ComponentAttributeStringModifyingStyleText004") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_STYLE_TEXT_0120 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_STYLE_TEXT_0130 + * @tc.name STRING_MODIFYING_STYLE_TEXT + * @tc.desc Add attribute string at the end, obtain string length, obtain string information, and obtain string style + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_STYLE_TEXT_0130', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_STYLE_TEXT_0130 start.`); + Settings.createWindow("testability/pages/ComponentAttributeStringModifyingStyleText/ComponentAttributeStringModifyingStyleText005") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_STYLE_TEXT_0130 finish.`); + done() + }) + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ComponentAttributeStringModifyingTextTest/ComponentAttributeStringModifyingText001.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ComponentAttributeStringModifyingTextTest/ComponentAttributeStringModifyingText001.test.ets new file mode 100644 index 000000000..0737584ab --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ComponentAttributeStringModifyingTextTest/ComponentAttributeStringModifyingText001.test.ets @@ -0,0 +1,201 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development 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 Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' + +export default function ComponentAttributeStringModifyingText001() { + + describe('ComponentAttributeStringModifyingText001', () => { + afterEach(async (done: Function) => { + if (Settings.windowClass == undefined) { + return + } + + Settings.windowClass.destroyWindow((err) => { + if (err.code) { + Logger.error('TEST', `Failed to destroy the window. Cause : ${JSON.stringify(err)}`) + return; + } + Logger.info('TEST', `Succeeded in destroy the window.`); + }) + await Utils.sleep(1000); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_TEXT_0010 + * @tc.name STRING_MODIFYING_STYLE_TEXT + * @tc.desc Normal replacement of specified text + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_TEXT_0010', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_TEXT_0010 start.`); + Settings.createWindow("testability/pages/ComponentAttributeStringModifyingText/ComponentAttributeStringModifyingText001") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_TEXT_0010 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_TEXT_0020 + * @tc.name STRING_MODIFYING_STYLE_TEXT + * @tc.desc Replace text with a length less than length + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_TEXT_0020', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_TEXT_0020 start.`); + Settings.createWindow("testability/pages/ComponentAttributeStringModifyingText/ComponentAttributeStringModifyingText002") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_TEXT_0020 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_TEXT_0070 + * @tc.name STRING_MODIFYING_STYLE_TEXT + * @tc.desc Replace specified text to obtain string length and content + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_TEXT_0070', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_TEXT_0070 start.`); + Settings.createWindow("testability/pages/ComponentAttributeStringModifyingText/ComponentAttributeStringModifyingText003") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_TEXT_0070 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_TEXT_0080 + * @tc.name STRING_MODIFYING_STYLE_TEXT + * @tc.desc Insert string normally + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_TEXT_0080', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_TEXT_0080 start.`); + Settings.createWindow("testability/pages/ComponentAttributeStringModifyingText/ComponentAttributeStringModifyingText004") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_TEXT_0080 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_TEXT_0090 + * @tc.name STRING_MODIFYING_STYLE_TEXT + * @tc.desc Test for inserting special symbols such as line breaks and spaces + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_TEXT_0090', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_TEXT_0090 start.`); + Settings.createWindow("testability/pages/ComponentAttributeStringModifyingText/ComponentAttributeStringModifyingText005") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_TEXT_0090 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_TEXT_0100 + * @tc.name STRING_MODIFYING_STYLE_TEXT + * @tc.desc Insert at the color stitching of characters + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_TEXT_0100', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_TEXT_0100 start.`); + Settings.createWindow("testability/pages/ComponentAttributeStringModifyingText/ComponentAttributeStringModifyingText006") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_TEXT_0100 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_TEXT_0130 + * @tc.name STRING_MODIFYING_STYLE_TEXT + * @tc.desc Insert a string to obtain its length and content + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_TEXT_0130', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_TEXT_0130 start.`); + Settings.createWindow("testability/pages/ComponentAttributeStringModifyingText/ComponentAttributeStringModifyingText007") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_TEXT_0130 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_TEXT_0140 + * @tc.name STRING_MODIFYING_STYLE_TEXT + * @tc.desc Normal deletion of specified range attribute strings + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_TEXT_0140', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_TEXT_0140 start.`); + Settings.createWindow("testability/pages/ComponentAttributeStringModifyingText/ComponentAttributeStringModifyingText008") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_TEXT_0140 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_TEXT_0200 + * @tc.name STRING_MODIFYING_STYLE_TEXT + * @tc.desc Delete the specified range attribute string to obtain the new string length and content + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_TEXT_0200', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_TEXT_0200 start.`); + Settings.createWindow("testability/pages/ComponentAttributeStringModifyingText/ComponentAttributeStringModifyingText009") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_TEXT_0200 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_TEXT_0210 + * @tc.name STRING_MODIFYING_STYLE_TEXT + * @tc.desc Get the color of the TextCtyle property + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_TEXT_0210', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_TEXT_0210 start.`); + Settings.createWindow("testability/pages/ComponentAttributeStringModifyingText/ComponentAttributeStringModifyingText010") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_ATTRIBUTE_STRING_MODIFYING_TEXT_0210 finish.`); + done() + }) + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ComponentLayoutCommonPixelTest/ComponentLayoutCommonPixelTest001.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ComponentLayoutCommonPixelTest/ComponentLayoutCommonPixelTest001.test.ets new file mode 100644 index 000000000..0e12a457e --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ComponentLayoutCommonPixelTest/ComponentLayoutCommonPixelTest001.test.ets @@ -0,0 +1,377 @@ + /* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development 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 Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' + +export default function ComponentLayoutCommonPixelTest001() { + + describe('ComponentLayoutCommonPixelTest001', () => { + afterEach(async (done: Function) => { + if (Settings.windowClass == undefined) { + return + } + + Settings.windowClass.destroyWindow((err) => { + if (err.code) { + Logger.error('TEST', `Failed to destroy the window. Cause : ${JSON.stringify(err)}`) + return; + } + Logger.info('TEST', `Succeeded in destroy the window.`); + }) + await Utils.sleep(1000); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_0710 + * @tc.name LAYOUT_COMMON_PIXEL + * @tc.desc Swiper component displays 7 components on one page + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_0710', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_0710 start.`); + Settings.createWindow("testability/pages/ComponentLayoutCommonPixel/ComponentLayoutCommonPixel001") + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_0710 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_0720 + * @tc.name LAYOUT_COMMON_PIXEL + * @tc.desc Swiper component displays 8 components on one page + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_0720', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_0720 start.`); + Settings.createWindow("testability/pages/ComponentLayoutCommonPixel/ComponentLayoutCommonPixel002") + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_0720 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_0740 + * @tc.name LAYOUT_COMMON_PIXEL + * @tc.desc The Swiper component does not activate the navigation point indicator + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_0740', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_0740 start.`); + Settings.createWindow("testability/pages/ComponentLayoutCommonPixel/ComponentLayoutCommonPixel003") + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_0740 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_0750 + * @tc.name LAYOUT_COMMON_PIXEL + * @tc.desc Do not set disabling Swipe for the Swiper component, check if there are pixel gaps in the layout + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_0750', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_0750 start.`); + Settings.createWindow("testability/pages/ComponentLayoutCommonPixel/ComponentLayoutCommonPixel004") + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_0750 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_0760 + * @tc.name LAYOUT_COMMON_PIXEL + * @tc.desc Swiper component enables switch arrow + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_0760', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_0760 start.`); + Settings.createWindow("testability/pages/ComponentLayoutCommonPixel/ComponentLayoutCommonPixel005") + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_0760 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_0790 + * @tc.name LAYOUT_COMMON_PIXEL + * @tc.desc Delete the SwiperItem sub component with index=0 and check if there are pixel gaps in the layout + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_0790', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_0790 start.`); + Settings.createWindow("testability/pages/ComponentLayoutCommonPixel/ComponentLayoutCommonPixel006") + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_0790 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_0800 + * @tc.name LAYOUT_COMMON_PIXEL + * @tc.desc Delete the SwiperItem sub component with index=2 and check if there are pixel gaps in the layout + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_0800', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_0800 start.`); + Settings.createWindow("testability/pages/ComponentLayoutCommonPixel/ComponentLayoutCommonPixel007") + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_0800 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_0810 + * @tc.name LAYOUT_COMMON_PIXEL + * @tc.desc Delete the SwiperItem sub component with index=6 and check if there are pixel gaps in the layout + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_0810', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_0810 start.`); + Settings.createWindow("testability/pages/ComponentLayoutCommonPixel/ComponentLayoutCommonPixel008") + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_0810 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_0820 + * @tc.name LAYOUT_COMMON_PIXEL + * @tc.desc Add a SwinerItem subcomponent with floating-point width and height values at index=0 position, and check if there are pixel gaps in the layout + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_0820', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_0820 start.`); + Settings.createWindow("testability/pages/ComponentLayoutCommonPixel/ComponentLayoutCommonPixel009") + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_0820 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_0830 + * @tc.name LAYOUT_COMMON_PIXEL + * @tc.desc Add a SwinerItem subcomponent with floating-point width and height values at index=2 position, and check if there are pixel gaps in the layout + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_0830', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_0830 start.`); + Settings.createWindow("testability/pages/ComponentLayoutCommonPixel/ComponentLayoutCommonPixel010") + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_0830 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_0840 + * @tc.name LAYOUT_COMMON_PIXEL + * @tc.desc Add a SwinerItem subcomponent with floating-point width and height values at index=6 position, and check if there are pixel gaps in the layout + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_0840', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_0840 start.`); + Settings.createWindow("testability/pages/ComponentLayoutCommonPixel/ComponentLayoutCommonPixel011") + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_0840 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_0870 + * @tc.name LAYOUT_COMMON_PIXEL + * @tc.desc Set the disable Swipe property to 'ture' in the Swiper component to check if there are any pixel gaps in the layout + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_0870', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_0870 start.`); + Settings.createWindow("testability/pages/ComponentLayoutCommonPixel/ComponentLayoutCommonPixel012") + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_0870 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_0890 + * @tc.name LAYOUT_COMMON_PIXEL + * @tc.desc Set the width and height of the Swiper component to floating-point numbers, and check if the layout width and height are rounded to the nearest whole + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_0890', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_0890 start.`); + Settings.createWindow("testability/pages/ComponentLayoutCommonPixel/ComponentLayoutCommonPixel013") + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_0890 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_1020 + * @tc.name LAYOUT_COMMON_PIXEL + * @tc.desc Delete the FlowItem sub component with index=0 and check if there are pixel gaps in the layout + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_1020', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_1020 start.`); + Settings.createWindow("testability/pages/ComponentLayoutCommonPixel/ComponentLayoutCommonPixel014") + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_1020 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_1030 + * @tc.name LAYOUT_COMMON_PIXEL + * @tc.desc Delete the FlowItem sub component with index=2 and check if there are pixel gaps in the layout + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_1030', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_1030 start.`); + Settings.createWindow("testability/pages/ComponentLayoutCommonPixel/ComponentLayoutCommonPixel015") + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_1030 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_1040 + * @tc.name LAYOUT_COMMON_PIXEL + * @tc.desc Delete the FlowItem sub component with index=6 and check if there are pixel gaps in the layout + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_1040', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_1040 start.`); + Settings.createWindow("testability/pages/ComponentLayoutCommonPixel/ComponentLayoutCommonPixel016") + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_1040 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_1050 + * @tc.name LAYOUT_COMMON_PIXEL + * @tc.desc Add a FlowItem subcomponent with floating-point width and height values at index=0 position, and check if there are pixel gaps in the layout + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_1050', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_1050 start.`); + Settings.createWindow("testability/pages/ComponentLayoutCommonPixel/ComponentLayoutCommonPixel017") + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_1050 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_1060 + * @tc.name LAYOUT_COMMON_PIXEL + * @tc.desc Add a FlowItem subcomponent with floating-point width and height values at index=2 position, and check if there are pixel gaps in the layout + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_1060', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_1060 start.`); + Settings.createWindow("testability/pages/ComponentLayoutCommonPixel/ComponentLayoutCommonPixel018") + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_1060 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_1070 + * @tc.name LAYOUT_COMMON_PIXEL + * @tc.desc Add a FlowItem subcomponent with floating-point width and height values at index=6 position, and check if there are pixel gaps in the layout + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_1070', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_1070 start.`); + Settings.createWindow("testability/pages/ComponentLayoutCommonPixel/ComponentLayoutCommonPixel019") + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_1070 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_1140 + * @tc.name LAYOUT_COMMON_PIXEL + * @tc.desc Set the width and height of the WaterFlow component to floating-point numbers, and check if the layout width and height are rounded to the nearest whole + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_1140', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_1140 start.`); + Settings.createWindow("testability/pages/ComponentLayoutCommonPixel/ComponentLayoutCommonPixel020") + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_1140 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_1150 + * @tc.name LAYOUT_COMMON_PIXEL + * @tc.desc FlowItem: Set the width and height to floating point numbers and check if there are pixel gaps in the layout + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_1150', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_1150 start.`); + Settings.createWindow("testability/pages/ComponentLayoutCommonPixel/ComponentLayoutCommonPixel021") + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COMMON_PIXEL_1150 finish.`); + done() + }) + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ComponentLayoutModifierTest/ComponentLayoutModifierTest001.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ComponentLayoutModifierTest/ComponentLayoutModifierTest001.test.ets new file mode 100644 index 000000000..57763618c --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ComponentLayoutModifierTest/ComponentLayoutModifierTest001.test.ets @@ -0,0 +1,488 @@ + /* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development 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 Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' +import { Driver, ON , Component} from '@ohos.UiTest' + + export default function ComponentLayoutModifierTest001() { + + describe('ComponentLayoutModifierTest001', () => { + afterEach(async (done: Function) => { + if (Settings.windowClass == undefined) { + return + } + + Settings.windowClass.destroyWindow((err) => { + if (err.code) { + Logger.error('TEST', `Failed to destroy the window. Cause : ${JSON.stringify(err)}`) + return; + } + Logger.info('TEST', `Succeeded in destroy the window.`); + }) + await Utils.sleep(1000); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0010 + * @tc.name LAYOUT_MODIFIER + * @tc.desc GridColModifier, Set a custom Modifier to a component, and the corresponding properties of the component will take effect (span and gridCOOffset) + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0010', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0010 start.`); + Settings.createWindow("testability/pages/ComponentLayoutModifier/ComponentLayoutModifier001") + await Utils.sleep(1000) + let driver: Driver = Driver.create(); + let SliderCom1 = await driver.findComponent(ON.id("ComponentLayoutModifier001_Span")); + let pointCenter1 = await SliderCom1.getBoundsCenter(); + for (let i = 0; i < 6; i++) { + await driver.click(pointCenter1.x, pointCenter1.y); + windowSnap.snapShot() + await Utils.sleep(500) + } + let driver2: Driver = Driver.create(); + let SliderCom2 = await driver2.findComponent(ON.id("ComponentLayoutModifier001_switch")); + let pointCenter2 = await SliderCom2.getBoundsCenter(); + await driver2.click(pointCenter2.x, pointCenter2.y); + let driver3: Driver = Driver.create(); + let SliderCom3 = await driver3.findComponent(ON.id("ComponentLayoutModifier001_gridColOffset")); + let pointCenter3 = await SliderCom3.getBoundsCenter(); + for (let i = 0; i < 4; i++) { + await driver3.click(pointCenter3.x, pointCenter3.y); + windowSnap.snapShot() + await Utils.sleep(500) + } + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0010 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0020 + * @tc.name LAYOUT_MODIFIER + * @tc.desc GridColModifier, Set a custom modifier to a component, and the corresponding properties of the component will take effect (span xs and gridCOOffset xs) + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0020', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0020 start.`); + Settings.createWindow("testability/pages/ComponentLayoutModifier/ComponentLayoutModifier002") + await Utils.sleep(1000) + let driver: Driver = Driver.create(); + let SliderCom1 = await driver.findComponent(ON.id("ComponentLayoutModifier002_Span")); + let pointCenter1 = await SliderCom1.getBoundsCenter(); + for (let i = 0; i < 6; i++) { + await driver.click(pointCenter1.x, pointCenter1.y); + windowSnap.snapShot() + await Utils.sleep(500) + } + let driver2: Driver = Driver.create(); + let SliderCom2 = await driver2.findComponent(ON.id("ComponentLayoutModifier002_switch")); + let pointCenter2 = await SliderCom2.getBoundsCenter(); + await driver2.click(pointCenter2.x, pointCenter2.y); + let driver3: Driver = Driver.create(); + let SliderCom3 = await driver3.findComponent(ON.id("ComponentLayoutModifier002_gridColOffset")); + let pointCenter3 = await SliderCom3.getBoundsCenter(); + for (let i = 0; i < 4; i++) { + await driver3.click(pointCenter3.x, pointCenter3.y); + windowSnap.snapShot() + await Utils.sleep(500) + } + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0020 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0030 + * @tc.name LAYOUT_MODIFIER + * @tc.desc GridColModifier, Set a custom modifier to a component, and the corresponding properties of the component will take effect (span sm and gridCOOffset sm) + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0030', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0030 start.`); + Settings.createWindow("testability/pages/ComponentLayoutModifier/ComponentLayoutModifier003") + await Utils.sleep(1000) + let driver: Driver = Driver.create(); + let SliderCom1 = await driver.findComponent(ON.id("ComponentLayoutModifier003_Span")); + let pointCenter1 = await SliderCom1.getBoundsCenter(); + for (let i = 0; i < 6; i++) { + await driver.click(pointCenter1.x, pointCenter1.y); + windowSnap.snapShot() + await Utils.sleep(500) + } + let driver2: Driver = Driver.create(); + let SliderCom2 = await driver2.findComponent(ON.id("ComponentLayoutModifier003_switch")); + let pointCenter2 = await SliderCom2.getBoundsCenter(); + await driver2.click(pointCenter2.x, pointCenter2.y); + let driver3: Driver = Driver.create(); + let SliderCom3 = await driver3.findComponent(ON.id("ComponentLayoutModifier003_gridColOffset")); + let pointCenter3 = await SliderCom3.getBoundsCenter(); + for (let i = 0; i < 4; i++) { + await driver3.click(pointCenter3.x, pointCenter3.y); + windowSnap.snapShot() + await Utils.sleep(500) + } + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0030 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0040 + * @tc.name LAYOUT_MODIFIER + * @tc.desc GridColModifier, Set a custom modifier to a component, and the corresponding properties of the component will take effect (span md and gridCOOffset md) + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0040', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0040 start.`); + Settings.createWindow("testability/pages/ComponentLayoutModifier/ComponentLayoutModifier004") + await Utils.sleep(1000) + let driver: Driver = Driver.create(); + let SliderCom1 = await driver.findComponent(ON.id("ComponentLayoutModifier004_Span")); + let pointCenter1 = await SliderCom1.getBoundsCenter(); + for (let i = 0; i < 6; i++) { + await driver.click(pointCenter1.x, pointCenter1.y); + windowSnap.snapShot() + await Utils.sleep(500) + } + let driver2: Driver = Driver.create(); + let SliderCom2 = await driver2.findComponent(ON.id("ComponentLayoutModifier004_switch")); + let pointCenter2 = await SliderCom2.getBoundsCenter(); + await driver2.click(pointCenter2.x, pointCenter2.y); + let driver3: Driver = Driver.create(); + let SliderCom3 = await driver3.findComponent(ON.id("ComponentLayoutModifier004_gridColOffset")); + let pointCenter3 = await SliderCom3.getBoundsCenter(); + for (let i = 0; i < 4; i++) { + await driver3.click(pointCenter3.x, pointCenter3.y); + windowSnap.snapShot() + await Utils.sleep(500) + } + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0040 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0050 + * @tc.name LAYOUT_MODIFIER + * @tc.desc GridColModifier, Set a custom modifier to a component, and the corresponding properties of the component will take effect (span lg and gridCOOffset lg) + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0050', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0050 start.`); + Settings.createWindow("testability/pages/ComponentLayoutModifier/ComponentLayoutModifier005") + await Utils.sleep(1000) + let driver: Driver = Driver.create(); + let SliderCom1 = await driver.findComponent(ON.id("ComponentLayoutModifier005_Span")); + let pointCenter1 = await SliderCom1.getBoundsCenter(); + for (let i = 0; i < 6; i++) { + await driver.click(pointCenter1.x, pointCenter1.y); + windowSnap.snapShot() + await Utils.sleep(500) + } + let driver2: Driver = Driver.create(); + let SliderCom2 = await driver2.findComponent(ON.id("ComponentLayoutModifier005_switch")); + let pointCenter2 = await SliderCom2.getBoundsCenter(); + await driver2.click(pointCenter2.x, pointCenter2.y); + let driver3: Driver = Driver.create(); + let SliderCom3 = await driver3.findComponent(ON.id("ComponentLayoutModifier005_gridColOffset")); + let pointCenter3 = await SliderCom3.getBoundsCenter(); + await driver.click(pointCenter3.x, pointCenter3.y); + for (let i = 0; i < 4; i++) { + await driver3.click(pointCenter3.x, pointCenter3.y); + windowSnap.snapShot() + await Utils.sleep(500) + } + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0050 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0060 + * @tc.name LAYOUT_MODIFIER + * @tc.desc GridColModifier, Set a custom modifier to a component, and the corresponding properties of the component will take effect (span xl and gridCOOffset xl) + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0060', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0060 start.`); + Settings.createWindow("testability/pages/ComponentLayoutModifier/ComponentLayoutModifier006") + await Utils.sleep(1000) + let driver: Driver = Driver.create(); + let SliderCom1 = await driver.findComponent(ON.id("ComponentLayoutModifier006_Span")); + let pointCenter1 = await SliderCom1.getBoundsCenter(); + for (let i = 0; i < 6; i++) { + await driver.click(pointCenter1.x, pointCenter1.y); + windowSnap.snapShot() + await Utils.sleep(500) + } + let driver2: Driver = Driver.create(); + let SliderCom2 = await driver2.findComponent(ON.id("ComponentLayoutModifier006_switch")); + let pointCenter2 = await SliderCom2.getBoundsCenter(); + await driver2.click(pointCenter2.x, pointCenter2.y); + let driver3: Driver = Driver.create(); + let SliderCom3 = await driver3.findComponent(ON.id("ComponentLayoutModifier006_gridColOffset")); + let pointCenter3 = await SliderCom3.getBoundsCenter(); + await driver.click(pointCenter3.x, pointCenter3.y); + for (let i = 0; i < 4; i++) { + await driver3.click(pointCenter3.x, pointCenter3.y); + windowSnap.snapShot() + await Utils.sleep(500) + } + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0060 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0070 + * @tc.name LAYOUT_MODIFIER + * @tc.desc GridColModifier, Set a custom modifier to a component, and the corresponding properties of the component will take effect (span xxl and gridCOOffset xxl) + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0070', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0070 start.`); + Settings.createWindow("testability/pages/ComponentLayoutModifier/ComponentLayoutModifier007") + await Utils.sleep(1000) + let driver: Driver = Driver.create(); + let SliderCom1 = await driver.findComponent(ON.id("ComponentLayoutModifier007_Span")); + let pointCenter1 = await SliderCom1.getBoundsCenter(); + for (let i = 0; i < 6; i++) { + await driver.click(pointCenter1.x, pointCenter1.y); + windowSnap.snapShot() + await Utils.sleep(500) + } + let driver2: Driver = Driver.create(); + let SliderCom2 = await driver2.findComponent(ON.id("ComponentLayoutModifier007_switch")); + let pointCenter2 = await SliderCom2.getBoundsCenter(); + await driver2.click(pointCenter2.x, pointCenter2.y); + let driver3: Driver = Driver.create(); + let SliderCom3 = await driver3.findComponent(ON.id("ComponentLayoutModifier007_gridColOffset")); + let pointCenter3 = await SliderCom3.getBoundsCenter(); + for (let i = 0; i < 4; i++) { + await driver3.click(pointCenter3.x, pointCenter3.y); + windowSnap.snapShot() + await Utils.sleep(500) + } + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0070 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0080 + * @tc.name LAYOUT_MODIFIER + * @tc.desc GridColModifier, Set a custom modifier to a component, and the corresponding properties of the component will take effect (span xxl and gridCOOffset xxl) + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0080', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0080 start.`); + Settings.createWindow("testability/pages/ComponentLayoutModifier/ComponentLayoutModifier008") + await Utils.sleep(1000) + let driver: Driver = Driver.create(); + let SliderCom1 = await driver.findComponent(ON.id("ComponentLayoutModifier008_Span")); + let pointCenter1 = await SliderCom1.getBoundsCenter(); + for (let i = 0; i < 3; i++) { + await driver.click(pointCenter1.x, pointCenter1.y); + windowSnap.snapShot() + await Utils.sleep(500) + } + let driver3: Driver = Driver.create(); + let SliderCom3 = await driver3.findComponent(ON.id("ComponentLayoutModifier008_gridColOffset")); + let pointCenter3 = await SliderCom3.getBoundsCenter(); + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0080 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0090 + * @tc.name LAYOUT_MODIFIER + * @tc.desc GridColModifier, Set a custom Modifier to a component, and the corresponding property of the component takes effect (order sm) + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0090', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0090 start.`); + Settings.createWindow("testability/pages/ComponentLayoutModifier/ComponentLayoutModifier009") + await Utils.sleep(1000) + let driver: Driver = Driver.create(); + let SliderCom1 = await driver.findComponent(ON.id("ComponentLayoutModifier009_Span")); + let pointCenter1 = await SliderCom1.getBoundsCenter(); + for (let i = 0; i < 3; i++) { + await driver.click(pointCenter1.x, pointCenter1.y); + windowSnap.snapShot() + await Utils.sleep(500) + } + let driver3: Driver = Driver.create(); + let SliderCom3 = await driver3.findComponent(ON.id("ComponentLayoutModifier009_gridColOffset")); + let pointCenter3 = await SliderCom3.getBoundsCenter(); + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0090 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0100 + * @tc.name LAYOUT_MODIFIER + * @tc.desc GridColModifier, Set a custom Modifier to a component, and the corresponding property of the component takes effect (order sm) + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0100', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0100 start.`); + Settings.createWindow("testability/pages/ComponentLayoutModifier/ComponentLayoutModifier010") + await Utils.sleep(1000) + let driver: Driver = Driver.create(); + let SliderCom1 = await driver.findComponent(ON.id("ComponentLayoutModifier010_Span")); + let pointCenter1 = await SliderCom1.getBoundsCenter(); + await driver.click(pointCenter1.x, pointCenter1.y); + await Utils.sleep(1000) + let driver3: Driver = Driver.create(); + let SliderCom3 = await driver3.findComponent(ON.id("ComponentLayoutModifier010_gridColOffset")); + let pointCenter3 = await SliderCom3.getBoundsCenter(); + await driver3.click(pointCenter3.x, pointCenter3.y); + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0100 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0110 + * @tc.name LAYOUT_MODIFIER + * @tc.desc GridColModifier, Set a custom Modifier to a component, and the corresponding properties of the component will take effect (span xs and gridCOOffset). Set a custom Modifier to two components, and when the Modifier properties change, both components will take effect simultaneously + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0110', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0110 start.`); + Settings.createWindow("testability/pages/ComponentLayoutModifier/ComponentLayoutModifier011") + await Utils.sleep(1000) + let driver: Driver = Driver.create(); + let SliderCom1 = await driver.findComponent(ON.id("ComponentLayoutModifier011_Span")); + let pointCenter1 = await SliderCom1.getBoundsCenter(); + await driver.click(pointCenter1.x, pointCenter1.y); + await Utils.sleep(1000) + let driver3: Driver = Driver.create(); + let SliderCom3 = await driver3.findComponent(ON.id("ComponentLayoutModifier011_gridColOffset")); + let pointCenter3 = await SliderCom3.getBoundsCenter(); + await driver3.click(pointCenter3.x, pointCenter3.y); + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0110 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0120 + * @tc.name LAYOUT_MODIFIER + * @tc.desc GridColModifier, new MyModifier(). span ({xs: xx}) dynamically switches without perception + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0120', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0120 start.`); + Settings.createWindow("testability/pages/ComponentLayoutModifier/ComponentLayoutModifier012") + await Utils.sleep(1000) + let driver: Driver = Driver.create(); + let SliderCom1 = await driver.findComponent(ON.id("ComponentLayoutModifier012_Span")); + let pointCenter1 = await SliderCom1.getBoundsCenter(); + for (let i = 0; i < 3; i++) { + await driver.click(pointCenter1.x, pointCenter1.y); + windowSnap.snapShot() + await Utils.sleep(500) + } + let driver3: Driver = Driver.create(); + let SliderCom3 = await driver3.findComponent(ON.id("ComponentLayoutModifier012_gridColOffset")); + let pointCenter3 = await SliderCom3.getBoundsCenter(); + for (let i = 0; i < 3; i++) { + await driver3.click(pointCenter3.x, pointCenter3.y); + windowSnap.snapShot() + await Utils.sleep(500) + } + let driver2: Driver = Driver.create(); + let SliderCom2 = await driver2.findComponent(ON.id("ComponentLayoutModifier012_Modifier")); + let pointCenter2 = await SliderCom2.getBoundsCenter(); + await driver2.click(pointCenter2.x, pointCenter2.y); + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0120 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0130 + * @tc.name LAYOUT_MODIFIER + * @tc.desc GridColModifier, Setting attributiModifier twice is the union of attributes + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0130', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0130 start.`); + Settings.createWindow("testability/pages/ComponentLayoutModifier/ComponentLayoutModifier013") + await Utils.sleep(2000) + let driver2: Driver = Driver.create(); + let SliderCom2 = await driver2.findComponent(ON.id("ComponentLayoutModifier013_Modifier")); + let pointCenter2 = await SliderCom2.getBoundsCenter(); + await driver2.click(pointCenter2.x, pointCenter2.y); + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0130 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0140 + * @tc.name LAYOUT_MODIFIER + * @tc.desc GridColModifier, Simultaneously set AttributiModifier (myModifierl class) and AttributeModifier (AttributeModifierinterface) + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0140', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0140 start.`); + Settings.createWindow("testability/pages/ComponentLayoutModifier/ComponentLayoutModifier014") + await Utils.sleep(2000) + let driver2: Driver = Driver.create(); + let SliderCom2 = await driver2.findComponent(ON.id("ComponentLayoutModifier014_Modifier")); + let pointCenter2 = await SliderCom2.getBoundsCenter(); + await driver2.click(pointCenter2.x, pointCenter2.y); + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0140 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0150 + * @tc.name LAYOUT_MODIFIER + * @tc.desc GridColModifier, Set two setGroups in the same attributiModifier (myModifierl class) + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0150', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0150 start.`); + Settings.createWindow("testability/pages/ComponentLayoutModifier/ComponentLayoutModifier015") + await Utils.sleep(2000) + let driver2: Driver = Driver.create(); + let SliderCom2 = await driver2.findComponent(ON.id("ComponentLayoutModifier015_Modifier")); + let pointCenter2 = await SliderCom2.getBoundsCenter(); + await driver2.click(pointCenter2.x, pointCenter2.y); + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0150 finish.`); + done() + }) + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ComponentRowColumnSidebarContainerAttributeTest/ComponentRowColumnSidebarContainerAttributeTest001.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ComponentRowColumnSidebarContainerAttributeTest/ComponentRowColumnSidebarContainerAttributeTest001.test.ets new file mode 100644 index 000000000..f8e344dd7 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ComponentRowColumnSidebarContainerAttributeTest/ComponentRowColumnSidebarContainerAttributeTest001.test.ets @@ -0,0 +1,73 @@ + /* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development 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 Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' + +export default function ComponentRowColumnSidebarContainerAttributeTest001() { + + describe('ComponentRowColumnSidebarContainerAttributeTest001', () => { + afterEach(async (done: Function) => { + if (Settings.windowClass == undefined) { + return + } + + Settings.windowClass.destroyWindow((err) => { + if (err.code) { + Logger.error('TEST', `Failed to destroy the window. Cause : ${JSON.stringify(err)}`) + return; + } + Logger.info('TEST', `Succeeded in destroy the window.`); + }) + await Utils.sleep(1000); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_ROWCOLUMN_SIDEBARCONTAINER_ATTRIBUTE_0010 + * @tc.name ROWCOLUMN_SIDEBARCONTAINER + * @tc.desc Sidebar setting backgroundColor property 0xFF0000 + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_ROWCOLUMN_SIDEBARCONTAINER_ATTRIBUTE_0010', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_ROWCOLUMN_SIDEBARCONTAINER_ATTRIBUTE_0010 start.`); + Settings.createWindow("testability/pages/ComponentRowColumnSidebarContainerAttribute/ComponentRowColumnSidebarContainerAttribute001") + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_ROWCOLUMN_SIDEBARCONTAINER_ATTRIBUTE_0010 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_ROWCOLUMN_SIDEBARCONTAINER_ATTRIBUTE_0020 + * @tc.name ROWCOLUMN_SIDEBARCONTAINER + * @tc.desc Set the background color to Color on the sidebar Green + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_ROWCOLUMN_SIDEBARCONTAINER_ATTRIBUTE_0020', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_ROWCOLUMN_SIDEBARCONTAINER_ATTRIBUTE_0020 start.`); + Settings.createWindow("testability/pages/ComponentRowColumnSidebarContainerAttribute/ComponentRowColumnSidebarContainerAttribute002") + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_ROWCOLUMN_SIDEBARCONTAINER_ATTRIBUTE_0020 finish.`); + done() + }) + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ComponentRowColumnSidebarContainerBlurStyleTest/ComponentRowColumnSidebarContainerBlurStyleTest001.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ComponentRowColumnSidebarContainerBlurStyleTest/ComponentRowColumnSidebarContainerBlurStyleTest001.test.ets new file mode 100644 index 000000000..1467ea73c --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ComponentRowColumnSidebarContainerBlurStyleTest/ComponentRowColumnSidebarContainerBlurStyleTest001.test.ets @@ -0,0 +1,234 @@ + /* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development 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 { Driver, ON , Component} from '@ohos.UiTest' +import Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' + +export default function ComponentRowColumnSidebarContainerBlurStyleTest001() { + + describe('ComponentRowColumnSidebarContainerBlurStyleTest001', () => { + afterEach(async (done: Function) => { + if (Settings.windowClass == undefined) { + return + } + + Settings.windowClass.destroyWindow((err) => { + if (err.code) { + Logger.error('TEST', `Failed to destroy the window. Cause : ${JSON.stringify(err)}`) + return; + } + Logger.info('TEST', `Succeeded in destroy the window.`); + }) + await Utils.sleep(1000); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_ROWCOLUMN_SIDEBARCONTAINER_BLURSTLYE_0010 + * @tc.name ROWCOLUMN_SIDEBARCONTAINER_BLURSTLYE + * @tc.desc The component is embedded on the left side of the sidebar, displaying and hiding buttons, changing button styles, and viewing changes in blur effects + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_ROWCOLUMN_SIDEBARCONTAINER_BLURSTLYE_0010', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_ROWCOLUMN_SIDEBARCONTAINER_BLURSTLYE_0010 start.`); + Settings.createWindow("testability/pages/ComponentRowColumnSidebarContainerBlurStyle/ComponentRowColumnSidebarContainerBlurStyle001") + await Utils.sleep(1000) + for(let i = 1; i <= 11; i++){ + let driver: Driver = Driver.create(); + let IDTest: string = ("ComponentRowColumnSidebarContainerBlurStyle001_00" + i.toString()).toString() + if(i <= 9){ + IDTest = ("ComponentRowColumnSidebarContainerBlurStyle001_00" + i.toString()).toString() + }else{ + IDTest = ("ComponentRowColumnSidebarContainerBlurStyle001_0" + i.toString()).toString() + } + let SliderCom1 = await driver.findComponent(ON.id(IDTest)); + let pointCenter1 = await SliderCom1.getBoundsCenter(); + await driver.click(pointCenter1.x, pointCenter1.y); + windowSnap.snapShot() + } + await Utils.sleep(2000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_ROWCOLUMN_SIDEBARCONTAINER_BLURSTLYE_0010 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_ROWCOLUMN_SIDEBARCONTAINER_BLURSTLYE_0011 + * @tc.name ROWCOLUMN_SIDEBARCONTAINER_BLURSTLYE + * @tc.desc The component is embedded on the left side of the sidebar. Drag the dividing line to view the changes in blur effect + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_ROWCOLUMN_SIDEBARCONTAINER_BLURSTLYE_0011', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_ROWCOLUMN_SIDEBARCONTAINER_BLURSTLYE_0011 start.`); + Settings.createWindow("testability/pages/ComponentRowColumnSidebarContainerBlurStyle/ComponentRowColumnSidebarContainerBlurStyle002") + await Utils.sleep(2000) + let driver: Driver = Driver.create(); + let SliderCom1 = await driver.findComponent(ON.id("ComponentRowColumnSidebarContainerBlurStyle002_001")); + let pointCenter1 = await SliderCom1.getBoundsCenter(); + await driver.drag(pointCenter1.x * 2, pointCenter1.y, 0, 0, 600); + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_ROWCOLUMN_SIDEBARCONTAINER_BLURSTLYE_0011 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_ROWCOLUMN_SIDEBARCONTAINER_BLURSTLYE_0012 + * @tc.name ROWCOLUMN_SIDEBARCONTAINER_BLURSTLYE + * @tc.desc The component on the left side of the sidebar is suspended, displaying and hiding buttons, changing button styles, and viewing changes in blur effects + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_ROWCOLUMN_SIDEBARCONTAINER_BLURSTLYE_0012', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_ROWCOLUMN_SIDEBARCONTAINER_BLURSTLYE_0012 start.`); + Settings.createWindow("testability/pages/ComponentRowColumnSidebarContainerBlurStyle/ComponentRowColumnSidebarContainerBlurStyle003") + await Utils.sleep(1000) + for(let i = 1; i <= 11; i++){ + let driver: Driver = Driver.create(); + let IDTest: string = ("ComponentRowColumnSidebarContainerBlurStyle003_00" + i.toString()).toString() + if(i <= 9){ + IDTest = ("ComponentRowColumnSidebarContainerBlurStyle003_00" + i.toString()).toString() + }else{ + IDTest = ("ComponentRowColumnSidebarContainerBlurStyle003_0" + i.toString()).toString() + } + let SliderCom1 = await driver.findComponent(ON.id(IDTest)); + let pointCenter1 = await SliderCom1.getBoundsCenter(); + await driver.click(pointCenter1.x, pointCenter1.y); + windowSnap.snapShot() + } + await Utils.sleep(2000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_ROWCOLUMN_SIDEBARCONTAINER_BLURSTLYE_0012 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_ROWCOLUMN_SIDEBARCONTAINER_BLURSTLYE_0013 + * @tc.name ROWCOLUMN_SIDEBARCONTAINER_BLURSTLYE + * @tc.desc Left floating display on the sidebar, drag the dividing line to see the blur effect changes + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_ROWCOLUMN_SIDEBARCONTAINER_BLURSTLYE_0013', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_ROWCOLUMN_SIDEBARCONTAINER_BLURSTLYE_0013 start.`); + Settings.createWindow("testability/pages/ComponentRowColumnSidebarContainerBlurStyle/ComponentRowColumnSidebarContainerBlurStyle004") + await Utils.sleep(2000) + let driver: Driver = Driver.create(); + let SliderCom1 = await driver.findComponent(ON.id("ComponentRowColumnSidebarContainerBlurStyle004_001")); + let pointCenter1 = await SliderCom1.getBoundsCenter(); + await driver.drag(pointCenter1.x * 2, pointCenter1.y, 0, 0, 600); + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_ROWCOLUMN_SIDEBARCONTAINER_BLURSTLYE_0013 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_ROWCOLUMN_SIDEBARCONTAINER_BLURSTLYE_0014 + * @tc.name ROWCOLUMN_SIDEBARCONTAINER_BLURSTLYE + * @tc.desc Left floating display on the sidebar, drag the dividing line to see the blur effect changes + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_ROWCOLUMN_SIDEBARCONTAINER_BLURSTLYE_0014', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_ROWCOLUMN_SIDEBARCONTAINER_BLURSTLYE_0014 start.`); + Settings.createWindow("testability/pages/ComponentRowColumnSidebarContainerBlurStyle/ComponentRowColumnSidebarContainerBlurStyle005") + await Utils.sleep(1000) + for(let i = 1; i <= 11; i++){ + let driver: Driver = Driver.create(); + let IDTest: string = ("ComponentRowColumnSidebarContainerBlurStyle005_00" + i.toString()).toString() + if(i <= 9){ + IDTest = ("ComponentRowColumnSidebarContainerBlurStyle005_00" + i.toString()).toString() + }else{ + IDTest = ("ComponentRowColumnSidebarContainerBlurStyle005_0" + i.toString()).toString() + } + let SliderCom1 = await driver.findComponent(ON.id(IDTest)); + let pointCenter1 = await SliderCom1.getBoundsCenter(); + await driver.click(pointCenter1.x, pointCenter1.y); + windowSnap.snapShot() + } + await Utils.sleep(2000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_ROWCOLUMN_SIDEBARCONTAINER_BLURSTLYE_0014 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_ROWCOLUMN_SIDEBARCONTAINER_BLURSTLYE_0015 + * @tc.name ROWCOLUMN_SIDEBARCONTAINER_BLURSTLYE + * @tc.desc Embed components on the right side of the sidebar, drag the dividing line to view the changes in blur effect + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_ROWCOLUMN_SIDEBARCONTAINER_BLURSTLYE_0015', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_ROWCOLUMN_SIDEBARCONTAINER_BLURSTLYE_0015 start.`); + Settings.createWindow("testability/pages/ComponentRowColumnSidebarContainerBlurStyle/ComponentRowColumnSidebarContainerBlurStyle006") + await Utils.sleep(2000) + let driver: Driver = Driver.create(); + let SliderCom1 = await driver.findComponent(ON.id("ComponentRowColumnSidebarContainerBlurStyle006_001")); + let pointCenter1 = await SliderCom1.getBoundsCenter(); + await driver.drag(pointCenter1.x * 2, pointCenter1.y, 0, 0, 600); + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_ROWCOLUMN_SIDEBARCONTAINER_BLURSTLYE_0015 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_ROWCOLUMN_SIDEBARCONTAINER_BLURSTLYE_0016 + * @tc.name ROWCOLUMN_SIDEBARCONTAINER_BLURSTLYE + * @tc.desc The floating component on the right side of the sidebar displays and hides buttons, changes button styles, and displays changes in blur effects + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_ROWCOLUMN_SIDEBARCONTAINER_BLURSTLYE_0016', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_ROWCOLUMN_SIDEBARCONTAINER_BLURSTLYE_0016 start.`); + Settings.createWindow("testability/pages/ComponentRowColumnSidebarContainerBlurStyle/ComponentRowColumnSidebarContainerBlurStyle007") + await Utils.sleep(1000) + for(let i = 1; i <= 13; i++){ + let driver: Driver = Driver.create(); + let IDTest: string = ("ComponentRowColumnSidebarContainerBlurStyle007_00" + i.toString()).toString() + if(i <= 9){ + IDTest = ("ComponentRowColumnSidebarContainerBlurStyle007_00" + i.toString()).toString() + }else{ + IDTest = ("ComponentRowColumnSidebarContainerBlurStyle007_0" + i.toString()).toString() + } + let SliderCom1 = await driver.findComponent(ON.id(IDTest)); + let pointCenter1 = await SliderCom1.getBoundsCenter(); + await driver.click(pointCenter1.x, pointCenter1.y); + windowSnap.snapShot() + } + await Utils.sleep(2000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_ROWCOLUMN_SIDEBARCONTAINER_BLURSTLYE_0016 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_ROWCOLUMN_SIDEBARCONTAINER_BLURSTLYE_0017 + * @tc.name ROWCOLUMN_SIDEBARCONTAINER_BLURSTLYE + * @tc.desc Suspended component on the right side of the sidebar, drag the dividing line to view the changes in blur effect + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_ROWCOLUMN_SIDEBARCONTAINER_BLURSTLYE_0017', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_ROWCOLUMN_SIDEBARCONTAINER_BLURSTLYE_0017 start.`); + Settings.createWindow("testability/pages/ComponentRowColumnSidebarContainerBlurStyle/ComponentRowColumnSidebarContainerBlurStyle008") + await Utils.sleep(2000) + let driver: Driver = Driver.create(); + let SliderCom1 = await driver.findComponent(ON.id("ComponentRowColumnSidebarContainerBlurStyle008_001")); + let pointCenter1 = await SliderCom1.getBoundsCenter(); + await driver.drag(pointCenter1.x * 2, pointCenter1.y, 0, 0, 600); + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_ROWCOLUMN_SIDEBARCONTAINER_BLURSTLYE_0017 finish.`); + done() + }) + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ComponentTextAttributeStringConstructsTest/ComponentTextAttributeStringConstructsTest001.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ComponentTextAttributeStringConstructsTest/ComponentTextAttributeStringConstructsTest001.test.ets new file mode 100644 index 000000000..4c02ee672 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ComponentTextAttributeStringConstructsTest/ComponentTextAttributeStringConstructsTest001.test.ets @@ -0,0 +1,425 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development 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 Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' + +export default function ComponentTextAttributeStringConstructs001() { + + describe('ComponentTextAttributeStringConstructs001', () => { + afterEach(async (done: Function) => { + if (Settings.windowClass == undefined) { + return + } + + Settings.windowClass.destroyWindow((err) => { + if (err.code) { + Logger.error('TEST', `Failed to destroy the window. Cause : ${JSON.stringify(err)}`) + return; + } + Logger.info('TEST', `Succeeded in destroy the window.`); + }) + await Utils.sleep(1000); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0010 + * @tc.name STRING_CONSTRUCTS + * @tc.desc Create StyledString property string normally + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0010', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0010 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeStringConstructs/ComponentTextAttributeStringConstructs001") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0010 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0020 + * @tc.name STRING_CONSTRUCTS + * @tc.desc Create MutableStyledString property string normally + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0020', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0020 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeStringConstructs/ComponentTextAttributeStringConstructs002") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0020 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0030 + * @tc.name STRING_CONSTRUCTS + * @tc.desc Create attribute strings for multiple colors + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0030', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0030 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeStringConstructs/ComponentTextAttributeStringConstructs003") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0030 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0040 + * @tc.name STRING_CONSTRUCTS + * @tc.desc Create a mixed character attribute string + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0040', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0040 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeStringConstructs/ComponentTextAttributeStringConstructs004") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0040 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0050 + * @tc.name STRING_CONSTRUCTS + * @tc.desc Create attribute strings for multiple colors, with crossed color settings + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0050', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0050 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeStringConstructs/ComponentTextAttributeStringConstructs005") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0050 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0060 + * @tc.name STRING_CONSTRUCTS + * @tc.desc Create a property string with a length less than the string length + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0060', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0060 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeStringConstructs/ComponentTextAttributeStringConstructs006") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0060 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0070 + * @tc.name STRING_CONSTRUCTS + * @tc.desc Create a property string with a length greater than the string length + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0070', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0070 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeStringConstructs/ComponentTextAttributeStringConstructs007") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0070 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0080 + * @tc.name STRING_CONSTRUCTS + * @tc.desc Create attribute string without setting attribute style + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0080', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0080 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeStringConstructs/ComponentTextAttributeStringConstructs008") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0080 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0090 + * @tc.name STRING_CONSTRUCTS + * @tc.desc Create a property string without setting start and length + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0090', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0090 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeStringConstructs/ComponentTextAttributeStringConstructs009") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0090 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0100 + * @tc.name STRING_CONSTRUCTS + * @tc.desc Create a property string with a start value greater than the string length + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0100', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0100 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeStringConstructs/ComponentTextAttributeStringConstructs010") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0100 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0110 + * @tc.name STRING_CONSTRUCTS + * @tc.desc Create a property string with start set to a negative number + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0110', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0110 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeStringConstructs/ComponentTextAttributeStringConstructs011") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0110 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0120 + * @tc.name STRING_CONSTRUCTS + * @tc.desc Create a property string with a negative length + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0120', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0120 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeStringConstructs/ComponentTextAttributeStringConstructs012") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0120 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0370 + * @tc.name STRING_CONSTRUCTS + * @tc.desc Set the fontColor property for the Text component + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0370', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0370 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeStringConstructs/ComponentTextAttributeStringConstructs013") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0370 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0380 + * @tc.name STRING_CONSTRUCTS + * @tc.desc SpanStyle sets string properties normally + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0380', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0380 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeStringConstructs/ComponentTextAttributeStringConstructs014") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0380 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0440 + * @tc.name STRING_CONSTRUCTS + * @tc.desc Add Span sub component to Text component + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0440', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0440 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeStringConstructs/ComponentTextAttributeStringConstructs020") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0440 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0450 + * @tc.name STRING_CONSTRUCTS + * @tc.desc Set attribute strings with too much text and too many different styles + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0450', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0450 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeStringConstructs/ComponentTextAttributeStringConstructs021") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0450 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0470 + * @tc.name STRING_CONSTRUCTS + * @tc.desc Enable text recognition for attribute strings + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0470', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0470 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeStringConstructs/ComponentTextAttributeStringConstructs022") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0470 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0480 + * @tc.name STRING_CONSTRUCTS + * @tc.desc Add text shadow to attribute string + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0480', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0480 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeStringConstructs/ComponentTextAttributeStringConstructs023") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0480 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0490 + * @tc.name STRING_CONSTRUCTS + * @tc.desc Attribute string setting omission position + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0490', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0490 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeStringConstructs/ComponentTextAttributeStringConstructs024") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0490 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0500 + * @tc.name STRING_CONSTRUCTS + * @tc.desc Set truncation method for attribute string + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0500', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0500 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeStringConstructs/ComponentTextAttributeStringConstructs025") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0500 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0510 + * @tc.name STRING_CONSTRUCTS + * @tc.desc Attribute string setting privacy mask + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0510', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0510 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeStringConstructs/ComponentTextAttributeStringConstructs026") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0510 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0530 + * @tc.name STRING_CONSTRUCTS + * @tc.desc Alignment method for attribute string settings + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0530', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0530 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeStringConstructs/ComponentTextAttributeStringConstructs027") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0530 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0540 + * @tc.name STRING_CONSTRUCTS + * @tc.desc Attribute string setting font style + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0540', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0540 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeStringConstructs/ComponentTextAttributeStringConstructs028") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0540 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0550 + * @tc.name STRING_CONSTRUCTS + * @tc.desc Attribute string setting modifier line + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0550', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0550 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeStringConstructs/ComponentTextAttributeStringConstructs029") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_CONSTRUCTS_0550 finish.`); + done() + }) + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ComponentTextAttributeStringTest/ComponentTextAttributeStringTest001.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ComponentTextAttributeStringTest/ComponentTextAttributeStringTest001.test.ets new file mode 100644 index 000000000..f38d8d59f --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ComponentTextAttributeStringTest/ComponentTextAttributeStringTest001.test.ets @@ -0,0 +1,1001 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development 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 Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' + +export default function ComponentTextAttributeStringTest001() { + + describe('ComponentTextAttributeStringTest001', () => { + afterEach(async (done: Function) => { + if (Settings.windowClass == undefined) { + return + } + + Settings.windowClass.destroyWindow((err) => { + if (err.code) { + Logger.error('TEST', `Failed to destroy the window. Cause : ${JSON.stringify(err)}`) + return; + } + Logger.info('TEST', `Succeeded in destroy the window.`); + }) + await Utils.sleep(1000); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0010 + * @tc.name STRING + * @tc.desc Set font size for attribute string, fontSize: (10, LengthUnit. PX) + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0010', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0010 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeString/ComponentTextAttributeString001") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0010 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0020 + * @tc.name STRING + * @tc.desc Set the font size for the attribute string, fontSize: (80, LengthUnit.PERCENT ) + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0020', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0020 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeString/ComponentTextAttributeString002") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0020 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0030 + * @tc.name STRING + * @tc.desc Set font size for attribute string, fontSize: (30, LengthUnit. VP) + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0030', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0030 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeString/ComponentTextAttributeString003") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0030 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0040 + * @tc.name STRING + * @tc.desc Set font size for attribute string, fontSize: (30, LengthUnit. FP) + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0040', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0040 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeString/ComponentTextAttributeString004") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0040 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0050 + * @tc.name STRING + * @tc.desc Set font size for attribute string, fontSize: (50, LengthUnit. LPX) + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0050', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0050 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeString/ComponentTextAttributeString005") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0050 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0060 + * @tc.name STRING + * @tc.desc Property string setting font width, fontWeight (0) + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0060', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0060 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeString/ComponentTextAttributeString006") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0060 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0070 + * @tc.name STRING + * @tc.desc Set font width for attribute string, fontWeight (200) + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0070', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0070 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeString/ComponentTextAttributeString007") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0070 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0080 + * @tc.name STRING + * @tc.desc Attribute string setting font width, fontWeight (1000) + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0080', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0080 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeString/ComponentTextAttributeString008") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0080 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0090 + * @tc.name STRING + * @tc.desc The attribute string sets the font width, fontWeight Bolder + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0090', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0090 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeString/ComponentTextAttributeString009") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0090 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0100 + * @tc.name STRING + * @tc.desc Attribute string setting font width, fontWeight (abcdefg) + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0100', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0100 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeString/ComponentTextAttributeString010") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0100 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0110 + * @tc.name STRING + * @tc.desc Attribute string setting font width, fontWeight (bolder) + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0110', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0110 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeString/ComponentTextAttributeString011") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0110 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0120 + * @tc.name STRING + * @tc.desc Property string sets font width, fontWeight (undefined) + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0120', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0120 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeString/ComponentTextAttributeString012") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0120 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0130 + * @tc.name STRING + * @tc.desc Set the font size for the attribute string, fontStyle (fontStyle: Normal) + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0130', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0130 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeString/ComponentTextAttributeString013") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0130 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0140 + * @tc.name STRING + * @tc.desc Set the font size for the attribute string, fontStyle (fontStyle: Italic) + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0140', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0140 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeString/ComponentTextAttributeString014") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0140 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0150 + * @tc.name STRING + * @tc.desc Set the font size for the attribute string, fontFamily ('custom ') + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0150', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0150 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeString/ComponentTextAttributeString015") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0150 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0160 + * @tc.name STRING + * @tc.desc Set font size for attribute string, fontFamily (HarmonyOS Sans) + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0160', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0160 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeString/ComponentTextAttributeString016") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0160 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0170 + * @tc.name STRING + * @tc.desc Set font for attribute string without passing parameters + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0170', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0170 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeString/ComponentTextAttributeString017") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0170 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0180 + * @tc.name STRING + * @tc.desc Set font modifier lines and underline for attribute strings + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0180', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0180 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeString/ComponentTextAttributeString018") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0180 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0190 + * @tc.name STRING + * @tc.desc Set font modifier lines and penetration lines for attribute strings + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0190', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0190 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeString/ComponentTextAttributeString019") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0190 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0200 + * @tc.name STRING + * @tc.desc Set font modifier lines and underline for attribute strings + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0200', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0200 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeString/ComponentTextAttributeString020") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0200 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0210 + * @tc.name STRING + * @tc.desc Attribute string setting font modifier line, None + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0210', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0210 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeString/ComponentTextAttributeString021") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0210 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0220 + * @tc.name STRING + * @tc.desc Attribute string setting font modifier line, undefined + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0220', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0220 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeString/ComponentTextAttributeString022") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0220 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0230 + * @tc.name STRING + * @tc.desc Set font modifier lines for attribute strings, without setting colors + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0230', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0230 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeString/ComponentTextAttributeString023") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0230 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0240 + * @tc.name STRING + * @tc.desc Set font modifier lines for attribute strings and set colors to outliers + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0240', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0240 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeString/ComponentTextAttributeString024") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0240 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0250 + * @tc.name STRING + * @tc.desc Set font modifier lines for attribute strings and set colors to resource references + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0250', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0250 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeString/ComponentTextAttributeString025") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0250 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0260 + * @tc.name STRING + * @tc.desc Set the text offset of the attribute string to a negative number + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0260', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0260 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeString/ComponentTextAttributeString026") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0260 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0270 + * @tc.name STRING + * @tc.desc Set the text offset of the attribute string to 30px + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0270', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0270 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeString/ComponentTextAttributeString027") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0270 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0280 + * @tc.name STRING + * @tc.desc Set the text offset of the attribute string to 20vp + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0280', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0280 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeString/ComponentTextAttributeString028") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0280 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0290 + * @tc.name STRING + * @tc.desc Set the text offset of the attribute string to 10fp + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0290', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0290 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeString/ComponentTextAttributeString029") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0290 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0300 + * @tc.name STRING + * @tc.desc Set the text offset of the attribute string to 50% + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0300', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0300 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeString/ComponentTextAttributeString030") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0300 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0310 + * @tc.name STRING + * @tc.desc Set the text offset of the attribute string to 50lpx + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0310', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0310 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeString/ComponentTextAttributeString031") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0310 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0320 + * @tc.name STRING + * @tc.desc Set the text offset for the attribute string, with the unit set to 'undefined' + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0320', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0320 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeString/ComponentTextAttributeString032") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0320 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0330 + * @tc.name STRING + * @tc.desc Set the text offset of the attribute string to 'undefined' + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0330', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0330 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeString/ComponentTextAttributeString033") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0330 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0340 + * @tc.name STRING + * @tc.desc Set the text offset for the attribute string and set the parameter to 'undefined' + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0340', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0340 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeString/ComponentTextAttributeString034") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0340 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0350 + * @tc.name STRING + * @tc.desc Set the character spacing for the attribute string and set the parameter to a negative number + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0350', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0350 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeString/ComponentTextAttributeString035") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0350 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0360 + * @tc.name STRING + * @tc.desc Set the character spacing of the attribute string to 10px + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0360', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0360 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeString/ComponentTextAttributeString036") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0360 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0370 + * @tc.name STRING + * @tc.desc Set the character spacing of the attribute string to 20vp + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0370', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0370 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeString/ComponentTextAttributeString037") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0370 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0380 + * @tc.name STRING + * @tc.desc Set the character spacing of the attribute string to 10fp + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0380', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0380 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeString/ComponentTextAttributeString038") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0380 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0390 + * @tc.name STRING + * @tc.desc Set the character spacing of the attribute string to 50% + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0390', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0390 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeString/ComponentTextAttributeString039") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0390 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0400 + * @tc.name STRING + * @tc.desc Set the character spacing of the attribute string to 5lpx + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0400', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0400 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeString/ComponentTextAttributeString040") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0400 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0410 + * @tc.name STRING + * @tc.desc Set the character spacing for the attribute string, with the unit set to 'undefined' + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0410', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0410 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeString/ComponentTextAttributeString041") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0410 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0420 + * @tc.name STRING + * @tc.desc Set the character spacing of the attribute string to 'undefined' + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0420', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0420 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeString/ComponentTextAttributeString042") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0420 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0430 + * @tc.name STRING + * @tc.desc Set the character spacing for the attribute string and set the parameter to 'undefined' + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0430', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0430 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeString/ComponentTextAttributeString043") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0430 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0440 + * @tc.name STRING + * @tc.desc Attribute string setting text with multiple shadows + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0440', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0440 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeString/ComponentTextAttributeString044") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0440 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0450 + * @tc.name STRING + * @tc.desc Set multiple styles for attribute strings + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0450', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0450 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeString/ComponentTextAttributeString045") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0450 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0460 + * @tc.name STRING + * @tc.desc Replace attribute string content + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0460', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0460 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeString/ComponentTextAttributeString046") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0460 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0470 + * @tc.name STRING + * @tc.desc Insert string content + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0470', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0470 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeString/ComponentTextAttributeString047") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0470 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0480 + * @tc.name STRING + * @tc.desc Remove string content + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0480', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0480 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeString/ComponentTextAttributeString048") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0480 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0490 + * @tc.name STRING + * @tc.desc Replace string style + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0490', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0490 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeString/ComponentTextAttributeString049") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0490 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0500 + * @tc.name STRING + * @tc.desc Set a new style for strings + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0500', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0500 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeString/ComponentTextAttributeString050") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0500 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0510 + * @tc.name STRING + * @tc.desc Move out of the specified range and specify the style + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0510', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0510 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeString/ComponentTextAttributeString051") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0510 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0520 + * @tc.name STRING + * @tc.desc Remove all styles from the specified range + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0520', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0520 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeString/ComponentTextAttributeString052") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0520 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0530 + * @tc.name STRING + * @tc.desc Clear all styles of the string + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0530', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0530 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeString/ComponentTextAttributeString053") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0530 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0540 + * @tc.name STRING + * @tc.desc Replace the new attribute string + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0540', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0540 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeString/ComponentTextAttributeString054") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0540 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0550 + * @tc.name STRING + * @tc.desc Insert a new attribute string + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0550', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0550 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeString/ComponentTextAttributeString055") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0550 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0560 + * @tc.name STRING + * @tc.desc Add attribute string at the end + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0560', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0560 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeString/ComponentTextAttributeString056") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0560 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0570 + * @tc.name STRING + * @tc.desc Set font style for text component + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0570', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0570 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeString/ComponentTextAttributeString057") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0570 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0580 + * @tc.name STRING + * @tc.desc Select and drag the attribute string of the text component + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0580', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0580 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeString/ComponentTextAttributeString058") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0580 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0590 + * @tc.name STRING + * @tc.desc Text component setting padding and margin + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0590', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0590 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeString/ComponentTextAttributeString059") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0590 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0600 + * @tc.name STRING + * @tc.desc Set text truncation method for text component + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0600', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0600 start.`); + Settings.createWindow("testability/pages/ComponentTextAttributeString/ComponentTextAttributeString060") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_ATTRIBUTE_STRING_0600 finish.`); + done() + }) + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ComponentTextCommonAffineTransformationTest/ComponentTextCommonAffineTransformationTest001.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ComponentTextCommonAffineTransformationTest/ComponentTextCommonAffineTransformationTest001.test.ets new file mode 100644 index 000000000..44a3a53a7 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ComponentTextCommonAffineTransformationTest/ComponentTextCommonAffineTransformationTest001.test.ets @@ -0,0 +1,319 @@ + /* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development 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 { Driver, ON , Component} from '@ohos.UiTest' +import Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' + +export default function ComponentTextCommonAffineTransformationTest001() { + + describe('ComponentTextCommonAffineTransformationTest001', () => { + afterEach(async (done: Function) => { + if (Settings.windowClass == undefined) { + return + } + + Settings.windowClass.destroyWindow((err) => { + if (err.code) { + Logger.error('TEST', `Failed to destroy the window. Cause : ${JSON.stringify(err)}`) + return; + } + Logger.info('TEST', `Succeeded in destroy the window.`); + }) + await Utils.sleep(1000); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0550 + * @tc.name ROWCOLUMN_SIDEBARCONTAINER_BLURSTLYE + * @tc.desc TextInput/textarea/search Set zoom+rotation+translation properties, input type to Number, long press/double-click text content, observe cursor menu changes + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0550', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0550 start.`); + Settings.createWindow("testability/pages/ComponentTextCommonAffineTransformation/ComponentTextCommonAffineTransformation001") + await Utils.sleep(2000) + let driver: Driver = Driver.create(); + let SliderCom1 = await driver.findComponent(ON.id("ComponentTextCommonAffineTransformation001_001")); + let pointCenter1 = await SliderCom1.getBoundsCenter(); + await driver.click(pointCenter1.x, pointCenter1.y); + let driver2: Driver = Driver.create(); + let SliderCom2 = await driver2.findComponent(ON.id("ComponentTextCommonAffineTransformation001_002")); + let pointCenter2 = await SliderCom2.getBoundsCenter(); + await driver2.longClick(pointCenter2.x, pointCenter2.y); + await Utils.sleep(2000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0550 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0560 + * @tc.name ROWCOLUMN_SIDEBARCONTAINER_BLURSTLYE + * @tc.desc TextInput/textarea/search Set zoom+rotation+translation properties, input type to Number, long press/double-click text content, observe cursor menu changes + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0560', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0560 start.`); + Settings.createWindow("testability/pages/ComponentTextCommonAffineTransformation/ComponentTextCommonAffineTransformation002") + await Utils.sleep(2000) + let driver: Driver = Driver.create(); + let SliderCom1 = await driver.findComponent(ON.id("ComponentTextCommonAffineTransformation002_001")); + let pointCenter1 = await SliderCom1.getBoundsCenter(); + await driver.click(pointCenter1.x, pointCenter1.y); + let driver2: Driver = Driver.create(); + let SliderCom2 = await driver2.findComponent(ON.id("ComponentTextCommonAffineTransformation002_002")); + let pointCenter2 = await SliderCom2.getBoundsCenter(); + await driver2.doubleClick(pointCenter2.x, pointCenter2.y); + await Utils.sleep(2000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0560 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0570 + * @tc.name ROWCOLUMN_SIDEBARCONTAINER_BLURSTLYE + * @tc.desc TextInput/textarea/search Set zoom+rotation+translation properties, input type set to PhoneNumber, long press/double-click text content, observe cursor menu changes + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0570', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0570 start.`); + Settings.createWindow("testability/pages/ComponentTextCommonAffineTransformation/ComponentTextCommonAffineTransformation003") + await Utils.sleep(2000) + let driver: Driver = Driver.create(); + let SliderCom1 = await driver.findComponent(ON.id("ComponentTextCommonAffineTransformation003_001")); + let pointCenter1 = await SliderCom1.getBoundsCenter(); + await driver.click(pointCenter1.x, pointCenter1.y); + let driver2: Driver = Driver.create(); + let SliderCom2 = await driver2.findComponent(ON.id("ComponentTextCommonAffineTransformation003_002")); + let pointCenter2 = await SliderCom2.getBoundsCenter(); + await driver2.longClick(pointCenter2.x, pointCenter2.y); + await Utils.sleep(2000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0570 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0580 + * @tc.name ROWCOLUMN_SIDEBARCONTAINER_BLURSTLYE + * @tc.desc TextInput/textarea/search Set zoom+rotation+translation properties, input type set to PhoneNumber, click on text content, observe cursor menu changes + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0580', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0580 start.`); + Settings.createWindow("testability/pages/ComponentTextCommonAffineTransformation/ComponentTextCommonAffineTransformation004") + await Utils.sleep(2000) + let driver: Driver = Driver.create(); + let SliderCom1 = await driver.findComponent(ON.id("ComponentTextCommonAffineTransformation004_001")); + let pointCenter1 = await SliderCom1.getBoundsCenter(); + await driver.click(pointCenter1.x, pointCenter1.y); + let driver2: Driver = Driver.create(); + let SliderCom2 = await driver2.findComponent(ON.id("ComponentTextCommonAffineTransformation004_002")); + let pointCenter2 = await SliderCom2.getBoundsCenter(); + await driver2.doubleClick(pointCenter2.x, pointCenter2.y); + await Utils.sleep(2000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0580 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0670 + * @tc.name ROWCOLUMN_SIDEBARCONTAINER_BLURSTLYE + * @tc.desc TextInput/textarea/search Set zoom+rotation+translation properties, input type set to PhoneNumber, click on text content, observe cursor menu changes + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0670', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0670 start.`); + Settings.createWindow("testability/pages/ComponentTextCommonAffineTransformation/ComponentTextCommonAffineTransformation005") + await Utils.sleep(2000) + let driver: Driver = Driver.create(); + let SliderCom1 = await driver.findComponent(ON.id("ComponentTextCommonAffineTransformation005_001")); + let pointCenter1 = await SliderCom1.getBoundsCenter(); + await driver.longClick(pointCenter1.x, pointCenter1.y); + await Utils.sleep(2000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0670 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0680 + * @tc.name ROWCOLUMN_SIDEBARCONTAINER_BLURSTLYE + * @tc.desc TextInput/textarea/search Set zoom+rotation+translation properties, default cursor width and font size, click on text content, observe cursor menu changes + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0680', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0680 start.`); + Settings.createWindow("testability/pages/ComponentTextCommonAffineTransformation/ComponentTextCommonAffineTransformation006") + await Utils.sleep(2000) + let driver: Driver = Driver.create(); + let SliderCom1 = await driver.findComponent(ON.id("ComponentTextCommonAffineTransformation006_001")); + let pointCenter1 = await SliderCom1.getBoundsCenter(); + await driver.longClick(pointCenter1.x, pointCenter1.y); + await Utils.sleep(2000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0680 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0690 + * @tc.name ROWCOLUMN_SIDEBARCONTAINER_BLURSTLYE + * @tc.desc TextInput/textarea/search Set zoom+rotation+translation properties, change cursor width and font size, long press/double-click text content, observe cursor menu changes + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0690', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0690 start.`); + Settings.createWindow("testability/pages/ComponentTextCommonAffineTransformation/ComponentTextCommonAffineTransformation007") + await Utils.sleep(2000) + let driver: Driver = Driver.create(); + let SliderCom1 = await driver.findComponent(ON.id("ComponentTextCommonAffineTransformation007_001")); + let pointCenter1 = await SliderCom1.getBoundsCenter(); + await driver.click(pointCenter1.x, pointCenter1.y); + let driver2: Driver = Driver.create(); + let SliderCom2 = await driver2.findComponent(ON.id("ComponentTextCommonAffineTransformation007_002")); + let pointCenter2 = await SliderCom2.getBoundsCenter(); + await driver2.click(pointCenter2.x, pointCenter2.y); + let driver3: Driver = Driver.create(); + let SliderCom3 = await driver3.findComponent(ON.id("ComponentTextCommonAffineTransformation007_003")); + let pointCenter3 = await SliderCom3.getBoundsCenter(); + await driver3.longClick(pointCenter3.x, pointCenter3.y); + await Utils.sleep(2000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0690 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0700 + * @tc.name ROWCOLUMN_SIDEBARCONTAINER_BLURSTLYE + * @tc.desc TextInput/textarea/search Set zoom+rotation+translation properties, change cursor width and font size, long press/double-click text content, observe cursor menu changes + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0700', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0700 start.`); + Settings.createWindow("testability/pages/ComponentTextCommonAffineTransformation/ComponentTextCommonAffineTransformation008") + await Utils.sleep(2000) + let driver: Driver = Driver.create(); + let SliderCom1 = await driver.findComponent(ON.id("ComponentTextCommonAffineTransformation008_001")); + let pointCenter1 = await SliderCom1.getBoundsCenter(); + await driver.click(pointCenter1.x, pointCenter1.y); + let driver2: Driver = Driver.create(); + let SliderCom2 = await driver2.findComponent(ON.id("ComponentTextCommonAffineTransformation008_002")); + let pointCenter2 = await SliderCom2.getBoundsCenter(); + await driver2.click(pointCenter2.x, pointCenter2.y); + let driver3: Driver = Driver.create(); + let SliderCom3 = await driver3.findComponent(ON.id("ComponentTextCommonAffineTransformation008_003")); + let pointCenter3 = await SliderCom3.getBoundsCenter(); + await driver3.doubleClick(pointCenter3.x, pointCenter3.y); + await Utils.sleep(2000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0700 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0750 + * @tc.name ROWCOLUMN_SIDEBARCONTAINER_BLURSTLYE + * @tc.desc TextInput/textarea: Set zoom+rotation+translation+transformation matrix properties, set inline mode, long press/double-click text content, observe cursor menu changes + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0750', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0750 start.`); + Settings.createWindow("testability/pages/ComponentTextCommonAffineTransformation/ComponentTextCommonAffineTransformation009") + await Utils.sleep(2000) + let driver: Driver = Driver.create(); + let SliderCom1 = await driver.findComponent(ON.id("ComponentTextCommonAffineTransformation009_001")); + let pointCenter1 = await SliderCom1.getBoundsCenter(); + await driver.click(pointCenter1.x, pointCenter1.y); + let driver2: Driver = Driver.create(); + let SliderCom2 = await driver2.findComponent(ON.id("ComponentTextCommonAffineTransformation009_002")); + let pointCenter2 = await SliderCom2.getBoundsCenter(); + await driver2.longClick(pointCenter2.x, pointCenter2.y); + await Utils.sleep(2000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0750 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0760 + * @tc.name ROWCOLUMN_SIDEBARCONTAINER_BLURSTLYE + * @tc.desc TextInput/textarea: Set zoom+rotation+translation+transformation matrix properties, set inline mode, long press/double-click text content, observe cursor menu changes + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0760', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0760 start.`); + Settings.createWindow("testability/pages/ComponentTextCommonAffineTransformation/ComponentTextCommonAffineTransformation010") + await Utils.sleep(2000) + let driver: Driver = Driver.create(); + let SliderCom1 = await driver.findComponent(ON.id("ComponentTextCommonAffineTransformation010_001")); + let pointCenter1 = await SliderCom1.getBoundsCenter(); + await driver.click(pointCenter1.x, pointCenter1.y); + let driver2: Driver = Driver.create(); + let SliderCom2 = await driver2.findComponent(ON.id("ComponentTextCommonAffineTransformation010_002")); + let pointCenter2 = await SliderCom2.getBoundsCenter(); + await driver2.longClick(pointCenter2.x, pointCenter2.y); + await Utils.sleep(2000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0760 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0770 + * @tc.name ROWCOLUMN_SIDEBARCONTAINER_BLURSTLYE + * @tc.desc TextInput/textarea Set zoom+rotation+translation+transformation matrix properties, set normal mode, long press/double-click text content, observe cursor menu changes + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0770', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0770 start.`); + Settings.createWindow("testability/pages/ComponentTextCommonAffineTransformation/ComponentTextCommonAffineTransformation011") + await Utils.sleep(2000) + let driver: Driver = Driver.create(); + let SliderCom1 = await driver.findComponent(ON.id("ComponentTextCommonAffineTransformation011_001")); + let pointCenter1 = await SliderCom1.getBoundsCenter(); + await driver.click(pointCenter1.x, pointCenter1.y); + let driver2: Driver = Driver.create(); + let SliderCom2 = await driver2.findComponent(ON.id("ComponentTextCommonAffineTransformation011_002")); + let pointCenter2 = await SliderCom2.getBoundsCenter(); + await driver2.longClick(pointCenter2.x, pointCenter2.y); + await Utils.sleep(2000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0770 finish.`); + done() + + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0780 + * @tc.name ROWCOLUMN_SIDEBARCONTAINER_BLURSTLYE + * @tc.desc TextInput/textarea: Set the properties of the zoom+rotation+translation+transformation matrix, set the normal mode, click on the text content, and observe the changes in the cursor menu + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0780', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0780 start.`); + Settings.createWindow("testability/pages/ComponentTextCommonAffineTransformation/ComponentTextCommonAffineTransformation012") + await Utils.sleep(2000) + let driver: Driver = Driver.create(); + let SliderCom1 = await driver.findComponent(ON.id("ComponentTextCommonAffineTransformation012_001")); + let pointCenter1 = await SliderCom1.getBoundsCenter(); + await driver.click(pointCenter1.x, pointCenter1.y); + let driver2: Driver = Driver.create(); + let SliderCom2 = await driver2.findComponent(ON.id("ComponentTextCommonAffineTransformation012_002")); + let pointCenter2 = await SliderCom2.getBoundsCenter(); + await driver2.doubleClick(pointCenter2.x, pointCenter2.y); + await Utils.sleep(2000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0780 finish.`); + done() + }) + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ComponentTextCommonTextMinFontSizeTest/ComponentTextCommonTextMinFontSizeTest001.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ComponentTextCommonTextMinFontSizeTest/ComponentTextCommonTextMinFontSizeTest001.test.ets new file mode 100644 index 000000000..d049d4869 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/ComponentTextCommonTextMinFontSizeTest/ComponentTextCommonTextMinFontSizeTest001.test.ets @@ -0,0 +1,153 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development 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 Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' + +export default function ComponentTextCommonTextMinFontSize001() { + + describe('ComponentTextCommonTextMinFontSize001', () => { + afterEach(async (done: Function) => { + if (Settings.windowClass == undefined) { + return + } + + Settings.windowClass.destroyWindow((err) => { + if (err.code) { + Logger.error('TEST', `Failed to destroy the window. Cause : ${JSON.stringify(err)}`) + return; + } + Logger.info('TEST', `Succeeded in destroy the window.`); + }) + await Utils.sleep(1000); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXT_MINFONTSIZE_001 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXT_MINFONTSIZE_001 + * @tc.desc MaxFontSize setting null | undefined Copy of (1) + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXT_MINFONTSIZE_001', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXT_MINFONTSIZE_001 start.`); + Settings.createWindow("testability/pages/ComponentTextCommonTextMinFontSize/ComponentTextCommonTextMinFontSize001") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXT_MINFONTSIZE_001 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXT_MINFONTSIZE_002 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXT_MINFONTSIZE_002 + * @tc.desc MaxFontSize sets the number type value Copy of (1) + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXT_MINFONTSIZE_002', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXT_MINFONTSIZE_002 start.`); + Settings.createWindow("testability/pages/ComponentTextCommonTextMinFontSize/ComponentTextCommonTextMinFontSize002") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXT_MINFONTSIZE_002 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXT_MINFONTSIZE_003 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXT_MINFONTSIZE_003 + * @tc.desc MaxFontSize Set Recourse type value Copy of (1) + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXT_MINFONTSIZE_003', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXT_MINFONTSIZE_003 start.`); + Settings.createWindow("testability/pages/ComponentTextCommonTextMinFontSize/ComponentTextCommonTextMinFontSize003") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXT_MINFONTSIZE_003 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXT_MINFONTSIZE_004 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXT_MINFONTSIZE_004 + * @tc.desc MaxFontSize sets string type value Copy of (1) + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXT_MINFONTSIZE_004', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXT_MINFONTSIZE_004 start.`); + Settings.createWindow("testability/pages/ComponentTextCommonTextMinFontSize/ComponentTextCommonTextMinFontSize004") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXT_MINFONTSIZE_004 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXT_MINFONTSIZE_005 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXT_MINFONTSIZE_005 + * @tc.desc MinFontSize sets the number type value Copy of (1) + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXT_MINFONTSIZE_005', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXT_MINFONTSIZE_005 start.`); + Settings.createWindow("testability/pages/ComponentTextCommonTextMinFontSize/ComponentTextCommonTextMinFontSize005") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXT_MINFONTSIZE_005 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXT_MINFONTSIZE_006 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXT_MINFONTSIZE_006 + * @tc.desc MinFontSize sets the Recourse type value to Copy of (1) + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXT_MINFONTSIZE_006', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXT_MINFONTSIZE_006 start.`); + Settings.createWindow("testability/pages/ComponentTextCommonTextMinFontSize/ComponentTextCommonTextMinFontSize006") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXT_MINFONTSIZE_006 finish.`); + done() + }) + + /** + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXT_MINFONTSIZE_007 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXT_MINFONTSIZE_007 + * @tc.desc MinFontSize sets string type value Copy of (1) + * @tc.level Level 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXT_MINFONTSIZE_007', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXT_MINFONTSIZE_007 start.`); + Settings.createWindow("testability/pages/ComponentTextCommonTextMinFontSize/ComponentTextCommonTextMinFontSize007") + await Utils.sleep(3000) + windowSnap.snapShot() + await Utils.sleep(3000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXT_MINFONTSIZE_007 finish.`); + done() + }) + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/Demo.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/Demo.test.ets new file mode 100644 index 000000000..da3467775 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/Demo.test.ets @@ -0,0 +1,95 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development 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 Settings from './model/Settings' +import windowSnap from './model/snapShot' +import Logger from './model/Logger' +import Utils from './model/Utils' +import { + UiComponent, + UiDriver, + Component, + Driver, + UiWindow, + ON, + BY, + MatchPattern, + DisplayRotation, + ResizeDirection, + WindowMode, + PointerMatrix +} from '@ohos.UiTest'; + +/* + * demoTest_001:更改page路由 + * demoTest_002:更改page路由,像素密度 + * demoTest_003:更改page路由,窗口大小,位置,像素密度 + * demoTest_004:更改page路由,页面内元素属性 + * demoTest_005:更改page路由,注入点击事件 + * + * demoTest_004:更改属性需要配合页面路由配置globalThis.value.message + * demoTest_005:注入事件,引用'@ohos.UiTest',findComponent需要根据页面路由内组件配置情况更改 + * + * Settings.createWindow(config.url): + * 创建窗口,更改窗口基本配置,更改方式详见model/Settings createWindow方法 + * + * windowSnap.snapShot(globalThis.context): + * 窗口截屏&图片文件保存,存储在设备端 + * 存储文件固定,单挑用例执行后覆盖,用于自动化UI对比 + * 支持调试更改文件名为时间戳格式,更改model/snapShot createAndGetFile方法 注释L35,放开L32,L33 + * + * Logger日志使用方法: + * import Logger form './model/Logger' + * Logger.info(TAG,`config = ${config}, err = ${JSON.stringify(exception)}`) + * */ + + +export default function demoTest() { + + + describe('demoTest', () => { + + afterEach(async (done: Function) => { + + if (Settings.windowClass == undefined) { + return + } + + Settings.windowClass.destroyWindow((err) => { + if (err.code) { + Logger.error('TEST', `Failed to destroy the window. Cause : ${JSON.stringify(err)}`) + return; + } + Logger.info('TEST', `Succeeded in destroy the window.`); + }) + await Utils.sleep(1000); + done() + }) + + it('demoTest_001', 0, async (done: Function) => { + //更改page路由 + + Settings.createWindow("testability/pages/demo") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + + done() + }) + + + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/List.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/List.test.ets new file mode 100644 index 000000000..ee88d68d2 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/List.test.ets @@ -0,0 +1,158 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development 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 demoTest from './Demo.test' +import UIAttributeFontInterface001 from './UIAttributeFontInterfaceTest/UIAttributeFontInterface001.test' +import UIComponentDividerBlankLayout from './UIComponentDividerBlankLayout/UIComponentDividerBlankLayout.test' +import UIComponentDividerDividerInterface from './UIComponentDividerDividerInterface/UIComponentDividerDividerInterface.test' +import UIComponentDividerDividerLayout from './UIComponentDividerDividerLayout/UIComponentDividerDividerLayout.test' +import UIComponentDividerStyle from './UIComponentDividerStyle/UIComponentDividerStyle.test' +import UIComponentLayoutFlexInterface from './UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface.test' +import UIComponentTextRefactorAdjustment from './UIComponentTextRefactorAdjustment/UIComponentTextRefactorAdjustment.test' +import UIComponentTextTextareEnhances from './UIComponentTextTextareEnhances/UIComponentTextTextareEnhances.test' +import UIAttributeFontInterfaceColor from './UIAttributeFontInterfaceTest/UIAttributeFontInterfaceColor.test' +import UIAttributeFontInterfaceFontFamily from './UIAttributeFontInterfaceTest/UIAttributeFontInterfaceFontFamily.test' +import UIAttributeFontInterfaceSize from './UIAttributeFontInterfaceTest/UIAttributeFontInterfaceSize.test' +import UIAttributeFontInterfaceStyle from './UIAttributeFontInterfaceTest/UIAttributeFontInterfaceStyle.test' +import UIAttributeFontInterfaceWeight from './UIAttributeFontInterfaceTest/UIAttributeFontInterfaceWeight.test' +import UIComponentDividerBlankInterfaceColor from './UIComponentDividerBlankInterfaceTest/UIComponentDividerBlankInterfaceColor.test' +import UIComponentDividerBlankInterfaceMin from './UIComponentDividerBlankInterfaceTest/UIComponentDividerBlankInterfaceMin.test' +import UIComponentTextCommonTextStyleTextArea from './UIComponentTextCommonTextStyleTest/UIComponentTextCommonTextStyleTextArea.test' +import UIComponentTextCommonTextStyleText from './UIComponentTextCommonTextStyleTest/UIComponentTextCommonTextStyleText.test' +import UIComponentTextCommonTextStyleSpan from './UIComponentTextCommonTextStyleTest/UIComponentTextCommonTextStyleSpan.test' +import UIComponentLayoutColumnInterface from './UIComponentLayoutColumnInterfaceTest/UIComponentLayoutColumnInterface.test' +import UIVisibilityInterface001 from './UIAttributePositionVisibilityTest/UIAttributePositionVisibility001.test' +import UiComponentTextCommonTextstyle from './UiComponentTextCommonTextstyleTest/UiComponentTextCommonTextstyle.test' +import UiComponentTextTextareaInterface from './UiComponentTextTextareaInterfaceTest/UiComponentTextTextareaInterface.test' +import UIAttributePositionSizeLayoutTest from './UIAttributePositionSizeLayoutTest/UIAttributePositionSizeLayoutTest.test' +import UIAttributePositionInterfaceTest from './UIAttributePositionInterfaceTest/UIAttributePositionInterfaceTest.test' +import ComponentAttributeStringModifyingStyle001 from './ComponentAttributeStringModifyingStyleTest/ComponentAttributeStringModifyingStyle001.test' +import ComponentAttributeStringModifyingStyleText001 from './ComponentAttributeStringModifyingStyleTextTest/ComponentAttributeStringModifyingStyleText001.test' +import ComponentAttributeStringModifyingText001 from './ComponentAttributeStringModifyingTextTest/ComponentAttributeStringModifyingText001.test' +import ComponentTextAttributeString001 from './ComponentTextAttributeStringTest/ComponentTextAttributeStringTest001.test' +import ComponentTextAttributeStringConstructs001 from './ComponentTextAttributeStringConstructsTest/ComponentTextAttributeStringConstructsTest001.test' +import ComponentLayoutCommonPixelTest001 from './ComponentLayoutCommonPixelTest/ComponentLayoutCommonPixelTest001.test' +import UiTextBrightenTest001 from './UiTextBrightenTest/UiTextBrightenTest001.test' +import UiTextShadowTest001 from './UiTextShadowTest/UiTextShadowTest001.test' +import UiComponentDividerStyle from './UiComponentDividerStyleTest/UiComponentDividerStyle.test' +import UiComponentLayoutCommonPixel from './UiComponentLayoutCommonPixelTest/UiComponentLayoutCommonPixel.test' +import UiComponentRowcolumnSidebarcontainerInterface from './UiComponentRowcolumnSidebarcontainerInterfaceTest/UiComponentRowcolumnSidebarcontainerInterface.test' +import UiComponentTextModifier from './UiComponentTextModifierTest/UiComponentTextModifier.test' +import UIComponentTextCapi from './UIComponentTextCapiTest/UIComponentTextCapi.test' +import UiComponentWordbreak from './UiComponentWordbreakTest/UiComponentWordbreak.test' +import UITestCase from './UITestCaseTest/UITestCase.test' +import UIComponentCreateColor from './UIComponentCreateColorTest/UIComponentCreateColor.test' +import UIComponentTextCommonLocationTest from './UIComponentTextCommonLocationTest/UIComponentTextCommonLocation.test' +import UIComponentSymbolColorrendering from './UIComponentSymbolColorrenderingTest/UIComponentSymbolColorrendering.test' +import UIComponentLineheightDecoration from './UIComponentLineheightDecorationTest/UIComponentLineheightDecoration.test' +import UIComponentTextinputUnderlinecolor from './UIComponentTextinputUnderlinecolorTest/UIComponentTextinputUnderlinecolor.test' +import UIComponentLayoutStackTest from './UIComponentLayoutStackTest/UIComponentLayoutStack.test' +import UIFontFeature from './UIFontFeatureTest/UIFontFeature.test' +import UIComponentCommonattrDrawingLayout from './UIComponentCommonattrDrawingLayoutTest/UIComponentCommonattrDrawingLayout.test' +import UIComponentLayoutModifierTest from './UIComponentLayoutModifierTest/UIComponentLayoutModifier.test' +import UIComponentTextTextinputInterface from './UIComponentTextTextinputInterfaceTest/UIComponentTextTextinputInterface.test' +import UIComponentTextTextinputPolymorphic from './UIComponentTextTextinputPolymorphicTest/UIComponentTextTextinputPolymorphic.test' +import UIComponentLayoutColumnLayout from './UIComponentLayoutColumnLayoutTest/UIComponentLayoutColumnLayout.test' +import UIComponentTextCommonLinespace from './UIComponentTextCommonLinespaceTest/UIComponentTextCommonLinespace.test' +import UIComponentTextCommonLinespaceC from './UIComponentTextCommonLinespaceCTest/UIComponentTextCommonLinespaceC.test' +import UiComponentNavModifier from './UiComponentNavModifierTest/UiComponentNavModifier.test' +import UiComponentSymbolSymbol from './UiComponentSymbolSymbolTest/UiComponentSymbolSymbol.test' +import UiComponentTextCommonAffineTransformation from './UiComponentTextCommonAffineTransformationTest/UiComponentTextCommonAffineTransformation.test' +import UIComponentScrollSwiperInterfaceMixTest from './UIComponentScrollSwiperInterfaceMixTest/UIComponentScrollSwiperInterfaceMix.test' +import UiComponentSpanBaselineoffset from './UiComponentSpanBaselineoffsetTest/UiComponentSpanBaselineoffset.test' +import ComponentTextCommonTextMinFontSize001 from './ComponentTextCommonTextMinFontSizeTest/ComponentTextCommonTextMinFontSizeTest001.test' +import ComponentLayoutModifierTest001 from './ComponentLayoutModifierTest/ComponentLayoutModifierTest001.test' +import ComponentRowColumnSidebarContainerAttributeTest001 from './ComponentRowColumnSidebarContainerAttributeTest/ComponentRowColumnSidebarContainerAttributeTest001.test' +import ComponentRowColumnSidebarContainerBlurStyleTest001 from './ComponentRowColumnSidebarContainerBlurStyleTest/ComponentRowColumnSidebarContainerBlurStyleTest001.test' +import ComponentTextCommonAffineTransformationTest001 from './ComponentTextCommonAffineTransformationTest/ComponentTextCommonAffineTransformationTest001.test' +import UIComponentTextTextinputAction from './UIComponentTextTextinputActionTest/UIComponentTextTextinputAction.test' +import UIComponentTextCommonAffingTranTest from './UIComponentTextCommonAffingTranTest/UIComponentTextCommonAffingTran.test' +import UIComponentSymbolDisplay from './UIComponentSymbolDisplayTest/UIComponentSymbolDisplay.test' +import UIAttributeFontSupportstage from './UIAttributeFontSupportstageTest/UIAttributeFontSupportstage.test' +import UIAttributeFontInterface002 from './UIAttributeFontInterfaceTest/UIAttributeFontInterface002.test' +import UIAttributeFontInterface003 from './UIAttributeFontInterfaceTest/UIAttributeFontInterface003.test' +export default function testsuite() { + demoTest(); + UIAttributeFontInterface001(); + UIComponentDividerBlankLayout(); + UIComponentDividerDividerInterface(); + UIComponentDividerDividerLayout(); + UIComponentDividerStyle(); + UIComponentLayoutFlexInterface(); + UIComponentTextRefactorAdjustment(); + UIComponentTextTextareEnhances(); + UIAttributeFontInterfaceColor(); + UIAttributeFontInterfaceFontFamily(); + UIAttributeFontInterfaceSize(); + UIAttributeFontInterfaceStyle(); + UIAttributeFontInterfaceWeight(); + UIComponentDividerBlankInterfaceColor(); + UIComponentDividerBlankInterfaceMin(); + UIComponentTextCommonTextStyleTextArea(); + UIComponentTextCommonTextStyleText(); + UIComponentTextCommonTextStyleSpan(); + UIComponentLayoutColumnInterface(); + UIVisibilityInterface001(); + UiComponentTextCommonTextstyle(); + UiComponentTextTextareaInterface(); + UIAttributePositionSizeLayoutTest(); + UIAttributePositionInterfaceTest(); + ComponentAttributeStringModifyingStyle001(); + ComponentAttributeStringModifyingStyleText001(); + ComponentAttributeStringModifyingText001(); + ComponentTextAttributeString001(); + ComponentTextAttributeStringConstructs001(); + ComponentLayoutCommonPixelTest001(); + UiTextBrightenTest001(); + UiTextShadowTest001(); + UiComponentDividerStyle(); + UiComponentLayoutCommonPixel(); + UiComponentRowcolumnSidebarcontainerInterface(); + UiComponentTextModifier(); + UIComponentCreateColor(); + UIComponentTextCapi(); + UIComponentTextTextinputInterface(); + UIComponentTextTextinputPolymorphic(); + UiComponentWordbreak(); + UIFontFeature(); + UIComponentTextCommonLocationTest(); + UITestCase(); + UIComponentLayoutStackTest(); + UIComponentSymbolColorrendering(); + UIComponentCommonattrDrawingLayout(); + UIComponentLayoutModifierTest(); + UIComponentLineheightDecoration(); + UIComponentTextinputUnderlinecolor(); + UIComponentLayoutColumnLayout(); + UIComponentTextCommonLinespace(); + UIComponentTextCommonLinespaceC(); + UiComponentNavModifier(); + UiComponentSymbolSymbol(); + UiComponentTextCommonAffineTransformation(); + UIComponentScrollSwiperInterfaceMixTest(); + UiComponentSpanBaselineoffset(); + + ComponentTextCommonTextMinFontSize001(); + ComponentLayoutModifierTest001(); + ComponentRowColumnSidebarContainerAttributeTest001(); + ComponentRowColumnSidebarContainerBlurStyleTest001(); + ComponentTextCommonAffineTransformationTest001(); + UIComponentTextTextinputAction(); + UIComponentTextCommonAffingTranTest(); + UIComponentSymbolDisplay(); + UIAttributeFontSupportstage(); + UIAttributeFontInterface002() + UIAttributeFontInterface003() +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIAttributeFontInterfaceTest/UIAttributeFontInterface001.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIAttributeFontInterfaceTest/UIAttributeFontInterface001.test.ets new file mode 100644 index 000000000..2e013f975 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIAttributeFontInterfaceTest/UIAttributeFontInterface001.test.ets @@ -0,0 +1,52 @@ +import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium' +import Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' + +/* + * SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0010:设置文本颜色 + * + * Settings.createWindow(config.url): + * 创建窗口,更改窗口基本配置,更改方式详见model/Settings createWindow方法 + * + * windowSnap.snapShot(globalThis.context): + * 窗口截屏&图片文件保存,存储在设备端 + * 存储文件固定,单挑用例执行后覆盖,用于自动化UI对比 + * 支持调试更改文件名为时间戳格式,更改model/snapShot createAndGetFile方法 注释L35,放开L32,L33 + * + * Logger日志使用方法: + * import Logger form './model/Logger' + * Logger.info(TAG,`config = ${config}, err = ${JSON.stringify(exception)}`) + * */ + +export default function UIAttributeFontInterface001() { + + describe('UIAttributeFontInterface001', () => { + afterEach(async (done: Function) => { + if (Settings.windowClass == undefined) { + return + } + + Settings.windowClass.destroyWindow((err) => { + if (err.code) { + Logger.error('TEST', `Failed to destroy the window. Cause : ${JSON.stringify(err)}`) + return; + } + Logger.info('TEST', `Succeeded in destroy the window.`); + }) + await Utils.sleep(1000); + done() + }) + + it('SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0010', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0010 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface/UIAttributeFontInterface001") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0010 finish.`); + done() + }) + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIAttributeFontInterfaceTest/UIAttributeFontInterface002.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIAttributeFontInterfaceTest/UIAttributeFontInterface002.test.ets new file mode 100644 index 000000000..90856cab2 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIAttributeFontInterfaceTest/UIAttributeFontInterface002.test.ets @@ -0,0 +1,3341 @@ +/** + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development 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 Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' +import {UiComponent, UiDriver, Component, Driver, UiWindow, ON, BY, MatchPattern, DisplayRotation, + ResizeDirection, WindowMode, PointerMatrix} from '@ohos.UiTest'; + +export default function UIAttributeFontInterface002() { + + describe('UIAttributeFontInterface002', () => { + afterEach(async (done: Function) => { + if (Settings.windowClass == undefined) { + return + } + + Settings.windowClass.destroyWindow((err) => { + if (err.code) { + Logger.error('TEST', `Failed to destroy the window. Cause : ${JSON.stringify(err)}`) + return; + } + Logger.info('TEST', `Succeeded in destroy the window.`); + }) + await Utils.sleep(500); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_SEARCH_INTERFACE_0210 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_SEARCH_INTERFACE_0210 + * @tc.desc : citation PixelMap + */ + it('SUB_ACE_UI_COMPONENT_TEXT_SEARCH_INTERFACE_0210', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SEARCH_INTERFACE_0210 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage01") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SEARCH_INTERFACE_0210 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_SEARCH_INTERFACE_0270 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_SEARCH_INTERFACE_0270 + * @tc.desc : Add the Search component and reference a large-sized image. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_SEARCH_INTERFACE_0270', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SEARCH_INTERFACE_0270 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage03") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SEARCH_INTERFACE_0270 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_SEARCH_LAYOUT_0010 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_SEARCH_LAYOUT_0010 + * @tc.desc : Add the Search component without setting the size. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_SEARCH_LAYOUT_0010', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SEARCH_LAYOUT_0010 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage04") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SEARCH_LAYOUT_0010 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_SEARCH_LAYOUT_0020 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_SEARCH_LAYOUT_0020 + * @tc.desc : Add the Search component and implement line wrapping. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_SEARCH_LAYOUT_0020', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SEARCH_LAYOUT_0020 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage05") + await Utils.sleep(500) + let driver = Driver.create(); + await Utils.sleep(500) + await driver.triggerKey(2049); + await Utils.sleep(500) + await driver.triggerKey(2054); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SEARCH_LAYOUT_0020 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0010 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0010 + * @tc.desc : Create a text component in the placeholder XComponent that contains a Span and set it + * to an empty text. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0010', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0010 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage06") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0010 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0020 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0020 + * @tc.desc : Create a text component within the placeholder XComponent that includes a Span, and set it to the + * content of the resource file. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0020', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0020 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage07") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0020 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0030 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0030 + * @tc.desc : Create a text component within the placeholder XComponent that includes a Span, and set the content + * to "HelloWorld". + */ + it('SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0030', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0030 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage08") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0030 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0040 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0040 + * @tc.desc : Create a text component within the placeholder XComponent that includes a Span, and supplement + * the attribute settings to set the text decoration line to None. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0040', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0040 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage09") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0040 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0050 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0050 + * @tc.desc : Create a text component within the placeholder XComponent that includes a Span, and supplement + * the attribute settings to set the text decoration line to UnderLine. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0050', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0050 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage10") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0050 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0060 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0060 + * @tc.desc : Create a text component within the placeholder XComponent that includes a Span, and supplement + * the attribute settings to set the text decoration line to LineThrough. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0060', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0060 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage11") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0060 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0070 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0070 + * @tc.desc : Create a text component within the placeholder XComponent that includes a Span, and supplement + * the attribute settings to set the text decoration line to OverLine. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0070', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0070 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage12") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0070 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0080 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0080 + * @tc.desc : Create a text component within the placeholder XComponent that includes a Span, and add attribute + * settings to set the font color to red. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0080', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0080 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage13") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0080 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0090 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0090 + * @tc.desc : citation PixelMap + */ + it('SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0090', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0090 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage14") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0090 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0100 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0100 + * @tc.desc : citation PixelMap + */ + it('SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0100', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0100 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage15") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0100 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0110 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0110 + * @tc.desc : citation PixelMap + */ + it('SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0110', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0110 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage16") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0110 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0120 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0120 + * @tc.desc : Create a text component within the placeholder XComponent that includes a Span, and supplement + * the attribute settings to set the font style to italic. + + */ + it('SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0120', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0120 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage17") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0120 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0130 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0130 + * @tc.desc : Create a text component within the placeholder XComponent that includes a Span, and add attribute + * settings to set the font weight to "Lighter". + */ + it('SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0130', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0130 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage18") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0130 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0140 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0140 + * @tc.desc : Create a text component within the placeholder XComponent that includes a Span, and add attribute + * settings to set the font weight to "Normal". + */ + it('SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0140', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0140 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage19") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0140 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0150 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0150 + * @tc.desc : Create a text component within the placeholder XComponent that includes a Span, and add attribute + * settings to set the font weight to "Regular". + */ + it('SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0150', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0150 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage20") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0150 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0160 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0160 + * @tc.desc : Create a text component within the placeholder XComponent that includes a Span, and add attribute + * settings to set the font weight to "Medium". + */ + it('SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0160', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0160 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage21") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0160 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0170 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0170 + * @tc.desc : Create a text component within the placeholder XComponent that includes a Span, and add attribute + * settings to set the font weight to "Bold". + */ + it('SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0170', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0170 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage22") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0170 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0180 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0180 + * @tc.desc : Create a text component within the placeholder XComponent that includes a Span, and add attribute + * settings to set the font weight to "Bolder". + */ + it('SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0180', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0180 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage23") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0180 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0190 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0190 + * @tc.desc : Create a text component within the placeholder XComponent that includes a Span, and supplement the + * attribute settings to set the text line height to 30. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0190', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0190 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage24") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0190 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0200 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0200 + * @tc.desc : Create a text component within the placeholder XComponent that includes a Span, and supplement the + * attribute settings to set the text line height to -10. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0200', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0200 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage25") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0200 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0210 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0210 + * @tc.desc : Create a text component within the placeholder XComponent that includes a Span, and add attribute + * settings to set the text case to "LowerCase". + */ + it('SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0210', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0210 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage26") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0210 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0220 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0220 + * @tc.desc : Create a text component within the placeholder XComponent that includes a Span, and add attribute + * settings to set the text case to "UpperCase". + */ + it('SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0220', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0220 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage27") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0220 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0230 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0230 + * @tc.desc : Create a text component within the placeholder XComponent that includes a Span, and add attribute + * settings to set the text case to "Normal". + */ + it('SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0230', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0230 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage28") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0230 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0240 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0240 + * @tc.desc : Create a text component within the placeholder XComponent that includes a Span, and add attribute + * settings to set the character spacing value to 10. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0240', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0240 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage29") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0240 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0250 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0250 + * @tc.desc : Create a text component within the placeholder XComponent that includes a Span, and add attribute + * settings to set the character spacing value to -5. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0250', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0250 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage30") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SPAN_CAPI_0250 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_SPAN_INTERFACE_0014 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_SPAN_INTERFACE_0014 + * @tc.desc : Add a Span component, set the parameters of the Span: set the parameter to "This is the Span + * component". + */ + it('SUB_ACE_UI_COMPONENT_TEXT_SPAN_INTERFACE_0014', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SPAN_INTERFACE_0014 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage33") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SPAN_INTERFACE_0014 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_SPAN_INTERFACE_0067 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_SPAN_INTERFACE_0067 + * @tc.desc : Add a Span component, set the attributes of the Span: apply the letterSpacing('180%') style + * attribute. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_SPAN_INTERFACE_0067', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SPAN_INTERFACE_0067 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage34") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SPAN_INTERFACE_0067 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_SPAN_INTERFACE_0081 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_SPAN_INTERFACE_0081 + * @tc.desc : Add a Span component, set the parameters of the Span: set the Span's property with the lineHeight + * attribute using a raw file reference, such as lineHeight('60fp'). + */ + it('SUB_ACE_UI_COMPONENT_TEXT_SPAN_INTERFACE_0081', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SPAN_INTERFACE_0081 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage35") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SPAN_INTERFACE_0081 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_SYMBOL_MIXEDDISPLAY_0350 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_SYMBOL_MIXEDDISPLAY_0350 + * @tc.desc : Add a `SymbolSpan` subcomponent. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_SYMBOL_MIXEDDISPLAY_0350', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SYMBOL_MIXEDDISPLAY_0350 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage36") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SYMBOL_MIXEDDISPLAY_0350 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_SYMBOL_MIXEDDISPLAY_0420 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_SYMBOL_MIXEDDISPLAY_0420 + * @tc.desc : Add multiple SymbolSpan child components, setting the initial selection value to (-1, -1), and + * dynamically changing the selection + */ + it('SUB_ACE_UI_COMPONENT_TEXT_SYMBOL_MIXEDDISPLAY_0420', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SYMBOL_MIXEDDISPLAY_0420 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage183") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributePage183_01')); + let button2: Component = await driver.findComponent(ON.id('fontAttributePage183_02')); + await button1.click(); + windowSnap.snapShot() + await Utils.sleep(500) + await button2.click(); + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SYMBOL_MIXEDDISPLAY_0420 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_SYMBOL_MIXEDDISPLAY_0430 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_SYMBOL_MIXEDDISPLAY_0430 + * @tc.desc : Adding multiple SymbolSpan child components and dynamically modifying the letterSpacing parameter. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_SYMBOL_MIXEDDISPLAY_0430', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SYMBOL_MIXEDDISPLAY_0430 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage184") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributePage184_01')); + let button2: Component = await driver.findComponent(ON.id('fontAttributePage184_02')); + await button1.click(); + windowSnap.snapShot() + await Utils.sleep(500) + await button2.click(); + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SYMBOL_MIXEDDISPLAY_0430 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_SYMBOL_MIXEDDISPLAY_0690 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_SYMBOL_MIXEDDISPLAY_0690 + * @tc.desc : Adding multiple SymbolSpan child components and dynamically modifying the letterSpacing parameter. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_SYMBOL_MIXEDDISPLAY_0690', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SYMBOL_MIXEDDISPLAY_0690 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage185") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributePage185_01')); + let button2: Component = await driver.findComponent(ON.id('fontAttributePage185_02')); + let button3: Component = await driver.findComponent(ON.id('fontAttributePage185_03')); + let button4: Component = await driver.findComponent(ON.id('fontAttributePage185_04')); + await button1.click(); + windowSnap.snapShot() + await Utils.sleep(500) + await button3.click(); + windowSnap.snapShot() + await Utils.sleep(500) + for(let i_01 = 0; i_01 < 5; i_01++){ + await button2.click() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + } + for(let i_02 = 0; i_02 < 5; i_02++){ + await button4.click() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + } + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SYMBOL_MIXEDDISPLAY_0690 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_SYMBOL_MIXEDDISPLAY_0700 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_SYMBOL_MIXEDDISPLAY_0700 + * @tc.desc : Dynamically changing SymbolSpan styles: fontsize, fontcolor, fontweight, effectStrategy, + * renderingStrategy + */ + it('SUB_ACE_UI_COMPONENT_TEXT_SYMBOL_MIXEDDISPLAY_0700', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SYMBOL_MIXEDDISPLAY_0700 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage186") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributePage186_01')); + let button2: Component = await driver.findComponent(ON.id('fontAttributePage186_02')); + let button3: Component = await driver.findComponent(ON.id('fontAttributePage186_03')); + let button4: Component = await driver.findComponent(ON.id('fontAttributePage186_04')); + await button1.click(); + windowSnap.snapShot() + await Utils.sleep(500) + for(let i_01 = 0; i_01 < 5; i_01++){ + await button2.click() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + } + for(let i_02 = 0; i_02 < 2; i_02++){ + await button3.click() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + } + for(let i_03 = 0; i_03 < 2; i_03++){ + await button4.click() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + } + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_SYMBOL_MIXEDDISPLAY_0700 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0010 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0010 + * @tc.desc : Add a `Text` component, set the `wordBreak` to NORMAL, and configure it to support Chinese, + * Japanese, Korean, and English languages. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0010', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0010 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage41") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0010 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0020 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0020 + * @tc.desc :Add a `Text` component, set the `wordBreak` to BREAK_ALL, and configure it to support Chinese, + * Japanese, Korean, and English languages. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0020', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0020 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage42") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0020 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0030 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0030 + * @tc.desc : Add a `Text` component, set the `wordBreak` to BREAK_WORD, and configure it to support Chinese, + * Japanese, Korean, and English languages. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0030', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0030 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage43") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0030 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0040 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0040 + * @tc.desc : Add a Text component without setting the wordBreak. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0040', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0040 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage44") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0040 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0050 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0050 + * @tc.desc : Add a Text component and set the `oncopy` event handler. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0050', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0050 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage45") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + let copy: Component = await driver.findComponent(ON.text('复制')); + await copy.click() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0050 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0060 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0060 + * @tc.desc : Add a Text component and set the selection with selectionStart at 5 and selectionEnd at 20. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0060', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0060 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage46") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0060 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0070 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0070 + * @tc.desc : Add a Text component and set the selection with selectionStart at 20 and selectionEnd at 5. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0070', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0070 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage47") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0070 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0080 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0080 + * @tc.desc : Add a Text component and set the selection with selectionStart and selectionEnd both at 5. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0080', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0080 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage48") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0080 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0090 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0090 + * @tc.desc : Add a Text component and set the `selection` with `selectionStart` at -5 and `selectionEnd` at 5. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0090', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0090 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage49") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0090 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0100 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0100 + * @tc.desc : Add a Text component and set the `selection` with `selectionStart` at 5 and `selectionEnd` at 1000. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0100', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0100 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage50") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0100 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0110 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0110 + * @tc.desc : Add a Text component and set multiple selections with `selectionStart` at 5 and `selectionEnd` at + * 20 for each. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0110', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0110 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage51") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0110 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0120 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0120 + * @tc.desc : Add a Text component, set the `selection` with `selectionStart` at 5 and `selectionEnd` at 20, + * and handle clicking outside the component area. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0120', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0120 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage52") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await driver.click(100,200) + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0120 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0140 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0140 + * @tc.desc : Add a Text component, set the `selection` with `selectionStart` at 5 and `selectionEnd` at 20, + * and implement a menu button for selecting all text. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0140', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0140 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage53") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + let selectAll: Component = await driver.findComponent(ON.text('全选')); + await selectAll.click() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0140 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0170 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0170 + * @tc.desc : Add a Text component, set multilingual text, and set `WordBreak` to `NORMAL`. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0170', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0170 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage54") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0170 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0180 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0180 + * @tc.desc : Add a Text component, set multilingual text, and set `WordBreak` to `BREAK_ALL`. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0180', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0180 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage55") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0180 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0190 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0190 + * @tc.desc : Add a Text component, set multilingual text, and set `WordBreak` to `BREAK_WORD`. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0190', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0190 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage56") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0190 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0200 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0200 + * @tc.desc : Add a Text component, set it to display pure English text, and set `WordBreak` to `NORMAL`. Also, + * set the `clip` property to `true`. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0200', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0200 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage57") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0200 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0210 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0210 + * @tc.desc : Add a Text component, set it to display pure English text, and set `WordBreak` to `NORMAL`. Also, + * set the `clip` property to `false`. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0210', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0210 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage58") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0210 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0220 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0220 + * @tc.desc : Add a Text component, set it to display pure English text, and set `WordBreak` to `BREAK_ALL`. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0220', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0220 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage59") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0220 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0230 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0230 + * @tc.desc : Add a Text component, set it to display pure English text, and set `WordBreak` to `BREAK_WORD`. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0230', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0230 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage60") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0230 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0240 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0240 + * @tc.desc : Add a Text component, set `CopyOptions` to `NONE`, and set the `selection` with `selectionStart` + * at 5 and `selectionEnd` at 20. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0240', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0240 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage61") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0240 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0250 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0250 + * @tc.desc : Add a Text component, initially set the `selection` with `selectionStart` at 5 and `selectionEnd` + * at 20, and then dynamically change the `selection` to have `selectionStart` at 10 and `selectionEnd` at 15. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0250', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0250 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage62") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + let changeSelect: Component = await driver.findComponent(ON.id('changeSelection63')); + await changeSelect.click() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0250 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0260 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0260 + * @tc.desc : Add a Text component, set `TextOverflow` to `None`, input pure English text, set `maxLines` to 5, + * and set `wordBreak` to `WordBreak.NORMAL`. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0260', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0260 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage63") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0260 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0270 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0270 + * @tc.desc : Add a Text component, set TextOverflow to None, set maxLines to 1, and set wordBreak to + * WordBreak.NORMAL. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0270', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0270 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage64") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0270 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0280 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0280 + * @tc.desc : Add a Text component, set `TextOverflow` to `None`, and set the `selection` with `selectionStart` + * at 10 and `selectionEnd` at 1000. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0280', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0280 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage65") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0280 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0290 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0290 + * @tc.desc : Add a Text component, set `TextOverflow` to `None`, and set the `selection` with `selectionStart` + * at 10 and `selectionEnd` at 20. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0290', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0290 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage66") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0290 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0300 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0300 + * @tc.desc : Add a Text component, set `TextOverflow` to `None`, and set the `selection` with `selectionStart` + * at 1000 and `selectionEnd` at 1001. + + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0300', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0300 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage67") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0300 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0310 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0310 + * @tc.desc : Add a Text component, set `TextOverflow` to `Clip`, set pure English text, set `maxLines` to 5, + * and set `wordBreak` to `WordBreak.NORMAL`. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0310', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0310 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage68") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0310 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0320 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0320 + * @tc.desc : Add a Text component, set `TextOverflow` to `Clip`, set pure English text, set `maxLines` to 1, + * and set `wordBreak` to `WordBreak.NORMAL`. + + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0320', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0320 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage69") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0320 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0330 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0330 + * @tc.desc : Add a Text component, set `TextOverflow` to `Clip`, and set the `selection` with `selectionStart` + * at 10 and `selectionEnd` at 1000. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0330', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0330 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage70") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + let copy: Component = await driver.findComponent(ON.text('复制')); + await copy.click() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0330 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0340 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0340 + * @tc.desc : Add a Text component, set `TextOverflow` to `Clip`, and set the `selection` with `selectionStart` + * at 10 and `selectionEnd` at 20. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0340', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0340 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage71") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0340 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0350 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0350 + * @tc.desc : Add a Text component, set `TextOverflow` to `Clip`, and set the `selection` with `selectionStart` + * at 1000 and `selectionEnd` at 1001. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0350', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0350 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage72") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0350 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0360 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0360 + * @tc.desc : Add a Text component, set `TextOverflow` to `Ellipsis`, input pure English text, set `maxLines` + * to 5, and set `wordBreak` to `WordBreak.NORMAL`. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0360', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0360 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage73") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0360 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0370 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0370 + * @tc.desc : Add a Text component, set `TextOverflow` to `Ellipsis`, input pure English text, set `maxLines` + * to 1, and set `wordBreak` to `WordBreak.NORMAL`. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0370', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0370 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage74") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0370 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0380 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0380 + * @tc.desc : Add a Text component, set Chinese text, set `TextOverflow` to `Ellipsis`, set `maxLines` to 1, + * and set the `selection` with `selectionStart` at 20 and `selectionEnd` at 1000. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0380', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0380 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage75") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + let copy: Component = await driver.findComponent(ON.text('复制')); + await copy.click() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0380 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0390 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0390 + * @tc.desc : Add a Text component, set Chinese text, set `TextOverflow` to `Ellipsis`, set `maxLines` to 1, + * and set the `selection` with `selectionStart` at 21 and `selectionEnd` at 40. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0390', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0390 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage76") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + let copy: Component = await driver.findComponent(ON.text('复制')); + await copy.click() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0390 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0400 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0400 + * @tc.desc : Add a Text component, set `TextOverflow` to `Ellipsis`, set `maxLines` to 2, and set the + * `selection` with `selectionStart` at 10 and `selectionEnd` at 20. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0400', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0400 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage77") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + let copy: Component = await driver.findComponent(ON.text('复制')); + await copy.click() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0400 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0410 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0410 + * @tc.desc : Add a Text component, set `TextOverflow` to `Marquee`, and set the `selection` with + * `selectionStart` at 10 and `selectionEnd` at 20. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0410', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0410 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage78") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0410 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0420 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0420 + * @tc.desc : Add a Text component, set pure English text, and dynamically switch between Chinese, Japanese, + * and Korean text. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0420', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0420 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage79") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + let driver: Driver = Driver.create(); + let copy1: Component = await driver.findComponent(ON.id('changeText79_1')); + await copy1.click() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + let copy2: Component = await driver.findComponent(ON.id('changeText79_2')); + await copy2.click() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + let copy3: Component = await driver.findComponent(ON.id('changeText79_3')); + await copy3.click() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0420 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0430 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0430 + * @tc.desc : Add a Text component, set the `fontSize` to 16, and dynamically change the `fontSize` to 30. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0430', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0430 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage80") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + let changeFontSize: Component = await driver.findComponent(ON.id('changeText80')); + await changeFontSize.click() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0430 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0440 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0440 + * @tc.desc : Add a Text component, set the text in four languages: Chinese, English, Korean, and Japanese. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0440', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0440 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage81") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0440 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0450 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0450 + * @tc.desc : Add a Text component with a child `Span` component, set the initial `selection` with + * `selectionStart` at 5 and `selectionEnd` at 20, and then dynamically change the `selection` by setting + * `selectionStart` and `selectionEnd` to variable numbers. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0450', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0450 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage82") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + let select: Component = await driver.findComponent(ON.id('changeSelection82')); + await select.click() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0450 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0460 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0460 + * @tc.desc : Add a Text component and include a child `ImageSpan` component. Set the initial `selection` + * with `selectionStart` at 5 and `selectionEnd` at 20. Then, dynamically change the `selection` by setting + * `selectionStart` and `selectionEnd` to different numeric values. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0460', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0460 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage83") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + let select: Component = await driver.findComponent(ON.id('changeSelection83')); + await select.click() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0460 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0470 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0470 + * @tc.desc : Add a Text component and include a child `ImageSpan` component. Set the `verticalAlign` to `top`, + * and set the `selection` with `selectionStart` at 0 and `selectionEnd` at 20. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0470', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0470 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage84") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0470 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0480 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0480 + * @tc.desc : Add a Text component and include a child `ImageSpan` component. Set the `verticalAlign` to `center`, + * and set the `selection` with `selectionStart` at 0 and `selectionEnd` at 20. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0480', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0480 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage85") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0480 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0490 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0490 + * @tc.desc : Add a Text component and include a child `ImageSpan` component. Set the `verticalAlign` to `bottom`, + * and set the `selection` with `selectionStart` at 0 and `selectionEnd` at 20. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0490', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0490 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage86") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0490 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0500 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0500 + * @tc.desc : Add a Text component and include a child `ImageSpan` component. Set the `verticalAlign` to + * `baseline`,and set the `selection` with `selectionStart` at 0 and `selectionEnd` at 20. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0500', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0500 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage87") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0500 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0510 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0510 + * @tc.desc : Add a Text component and include a child `ImageSpan` component. Set the `objectFit` to `Contain`, + * and set the `selection` with `selectionStart` at 0 and `selectionEnd` at 20. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0510', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0510 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage88") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0510 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0520 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0520 + * @tc.desc : Add a Text component and include a child `ImageSpan` component. Set the `objectFit` to `Cover`, + * and set the `selection` with `selectionStart` at 0 and `selectionEnd` at 20. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0520', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0520 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage89") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0520 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0530 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0530 + * @tc.desc : Add a Text component and include a child `ImageSpan` component. Set the `objectFit` to `Auto`, + * and set the `selection` with `selectionStart` at 0 and `selectionEnd` at 20. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0530', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0530 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage90") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0530 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0540 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0540 + * @tc.desc : Add a Text component and include a child `ImageSpan` component. Set the `objectFit` to `Fill`, + * and set the `selection` with `selectionStart` at 0 and `selectionEnd` at 20. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0540', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0540 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage91") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0540 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0550 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0550 + * @tc.desc : Add a Text component and include a child `ImageSpan` component. Set the `objectFit` to `ScallDown`, + * and set the `selection` with `selectionStart` at 0 and `selectionEnd` at 20. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0550', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0550 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage92") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0550 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0560 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0560 + * @tc.desc : Add a Text component and include a child `ImageSpan` component. Set the `objectFit` to `None`, + * and set the `selection` with `selectionStart` at 0 and `selectionEnd` at 20. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0560', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0560 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage93") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0560 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0590 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0590 + * @tc.desc : Add a `Text` component and implement long press gesture recognition to select text. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0590', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0590 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage94") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + let button: Component = await driver.findComponent(ON.id('fontAttributePage94')); + await button.longClick(); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0590 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0600 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0600 + * @tc.desc : Add a `Text` component, set the `selection` from index 5 to 10, set `clip` to true, and dynamically + * change the container's width and height to 0. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0600', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0600 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage95") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + let button: Component = await driver.findComponent(ON.id('changeHeight95')); + await button.click(); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0600 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0610 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0610 + * @tc.desc : Add a Text component, set `clip` to false, and set `WordBreak` to `NORMAL`. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0610', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0610 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage96") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0610 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0630 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0630 + * @tc.desc : Add a Text component with its child components Set the selection parameters with start = end + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0630', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0610 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage179") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0630 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0640 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0640 + * @tc.desc : Add a Text component with its child components, Dynamically modify wordBreak. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0640', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0640 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage180") + let driver: Driver = Driver.create(); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributePage180_01')); + let button2: Component = await driver.findComponent(ON.id('fontAttributePage180_02')); + await button1.click(); + windowSnap.snapShot() + await Utils.sleep(500) + await button2.click(); + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0640 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0650 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0650 + * @tc.desc : Add a Text component with its child components, Dynamically modify selection. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0650', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0650 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage181") + let driver: Driver = Driver.create(); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributePage181_01')); + let button2: Component = await driver.findComponent(ON.id('fontAttributePage181_02')); + await button1.click(); + windowSnap.snapShot() + await Utils.sleep(500) + await button2.click(); + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0650 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0660 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0660 + * @tc.desc : To set selectionStart to 5, selectionEnd to 30, and dynamically change the text size, number of + * visible lines, and container size + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0660', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0660 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage182") + let driver: Driver = Driver.create(); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributePage182_01')); + let button2: Component = await driver.findComponent(ON.id('fontAttributePage182_02')); + let button3: Component = await driver.findComponent(ON.id('fontAttributePage182_03')); + await button1.click(); + windowSnap.snapShot() + await Utils.sleep(500) + await button2.click(); + windowSnap.snapShot() + await Utils.sleep(500) + await button3.click(); + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_ABILITY_0660 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0040 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0040 + * @tc.desc : Add a ContainerSpan component, without adding any content inside the component. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0040', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0040 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage97") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0040 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0050 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0050 + * @tc.desc : Add a ContainerSpan component, and within the `ContainerSpan` component, set the content with + * `Span` and `ImageSpan`. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0050', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0050 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage98") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0050 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0060 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0060 + * @tc.desc : Add a Text component, and as a child, add a `Span` component with a single line of content. + * Set the attribute `textBackgroundStyle` with the properties: `{color: Color.Green, radius: 5}`. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0060', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0060 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage99") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0060 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0070 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0070 + * @tc.desc : Add a Text component and include a child `ImageSpan` component. Set the `textBackgroundStyle` + * attribute with the properties: `{color: Color.Green, radius: 5}`. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0070', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0070 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage100") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0070 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0080 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0080 + * @tc.desc : Add a Text component, with a child `Span` component containing a single line of text. Set the + * `textBackgroundStyle` attribute with the properties: `{color: 0xff0000, radius: 5}`. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0080', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0080 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage101") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0080 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0090 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0090 + * @tc.desc : Add a child Span component with a single line of content, and set the `textBackgroundStyle` + * attribute with the properties: `{color: Color.Green, radius: 0}`. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0090', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0090 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage102") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0090 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0100 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0100 + * @tc.desc : Add a Text component, with a child Span component containing a single line of text, and set the + * textBackgroundStyle attribute with the properties: {color: Color.Green, radius: -5}. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0100', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0100 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage103") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0100 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0110 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0110 + * @tc.desc : Add a Text component, with a child `Span` component containing a single line of text, and set + * the `textBackgroundStyle` attribute with the properties: `{color: '#ffc0cb', radius: 5}`. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0110', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0110 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage104") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0110 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0120 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0120 + * @tc.desc : Add a Text component, set the color using a resource reference, and include a child Span component + * with a single line of content. Set the textBackgroundStyle attribute with the properties: + * {color: $r('color_Yellow'), radius: 5}. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0120', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0120 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage105") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0120 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0130 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0130 + * @tc.desc : Add a Text component, and within it, add a child Span component containing a single line of text. + * Set the textBackgroundStyle attribute with the properties: {color: Color.Green, radius: '10%'}. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0130', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0130 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage106") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0130 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0140 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0140 + * @tc.desc : Add a Text component, and include a child Span component with a single line of content. Set the + * textBackgroundStyle attribute with the properties: {color: Color.Green, radius: '10vp'}. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0140', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0140 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage107") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0140 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0150 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0150 + * @tc.desc : Add a Text component, and include a child Span component with a single line of content. Set the + * textBackgroundStyle attribute with the properties: {color: Color.Green, radius: {topLeft: 10}}. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0150', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0150 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage108") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0150 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0160 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0160 + * @tc.desc : Add a Text component, and include a child Span component with a single line of content. Set the + * textBackgroundStyle attribute with the properties: {color: Color.Green, radius: {topRight: 10}} + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0160', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0160 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage109") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0160 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0170 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0170 + * @tc.desc : Add a Text component, and include a child Span component with a single line of content. Set the + * textBackgroundStyle attribute with the properties: {color: Color.Green, radius: {bottomLeft: 10}} + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0170', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0170 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage110") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0170 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0180 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0180 + * @tc.desc : Add a Text component, and include a child Span component with a single line of content. Set the + * textBackgroundStyle attribute with the properties: {color: Color.Green, radius: {bottomRight: 10}} + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0180', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0180 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage111") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0180 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0190 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0190 + * @tc.desc : Add a Text component, and include a child Span component with a single line of content. Set the + * textBackgroundStyle attribute with the properties: {color: Color.Green, radius: {topLeft: 10, topRight: 20, + * bottomLeft: 40, bottomRight: 80}} + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0190', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0190 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage112") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0190 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0200 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0200 + * @tc.desc : Add a Text component, and include a child Span component with a single line of content. Upon + * clicking the button labeled "Background Color: Red," set the textBackgroundStyle attribute with the + * properties: {color: this.color, radius: 5}. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0200', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0200 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage113") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + let button: Component = await driver.findComponent(ON.id('fontAttributePage113')); + await button.click(); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0200 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0210 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0210 + * @tc.desc : Add a Text component, and include a child `Span` component with a single line of content. + * Upon clicking the button labeled "Corner Radius: 10," set the `textBackgroundStyle` attribute with the + * properties: `{color: Color.Green, radius: this.number}` where `this.number` is dynamically set to a value + * (10, 20, or 30) based on the button click. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0210', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0210 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage114") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + let driver: Driver = Driver.create(); + let button_20: Component = await driver.findComponent(ON.id('fontAttributePage114_20')); + await button_20.click(); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + let button_30: Component = await driver.findComponent(ON.id('fontAttributePage114_30')); + await button_30.click(); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0210 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0220 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0220 + * @tc.desc : Add a Text component, and include a child `Span` component with a single line of content. + * Set the `textBackgroundStyle` attribute with a radius of 5. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0220', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0220 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage115") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0220 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0230 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0230 + * @tc.desc : Add a Text component, and include a child `Span` component with a single line of content. + * Set the `textBackgroundStyle` attribute with the color property to `Color.Green` + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0230', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0230 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage116") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0230 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0240 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0240 + * @tc.desc : Add a Text component, and within it, add a `ContainerSpan`. Inside the `ContainerSpan`, + * include both a `Span` and an `ImageSpan` to be displayed in a single line. Set the `textBackgroundStyle` + * property of the `ContainerSpan` with the style: `{color: Color.Green, radius: 5}`. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0240', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0240 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage117") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0240 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0250 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0250 + * @tc.desc : Add a Text component, and within it, add a `ContainerSpan`. Inside the `ContainerSpan`, + * set both a `Span` and an `ImageSpan` to display in a single line. Ensure the dimensions of the `ImageSpan` are + * larger than those of the `Span`. Set the `textBackgroundStyle` property of the `ContainerSpan` with the style: + * `{color: Color.Green, radius: 5}`. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0250', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0250 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage118") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0250 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0260 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0260 + * @tc.desc : Add Text Component Add ContainerSpan, configure Span and ImageSpan within the component to display + * in a single line Set textBackgroundStyle({color: Color.Green, radius: 5}) on ContainerSpan to dynamically change + * font size and image size + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0260', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0260 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage119") + let driver: Driver = Driver.create(); + await Utils.sleep(500) + windowSnap.snapShot() + let fontSize: Component = await driver.findComponent(ON.id('fontAttributePage119_01')); + let imageSize: Component = await driver.findComponent(ON.id('fontAttributePage119_02')); + await fontSize.click() + await imageSize.click() + await Utils.sleep(500) + windowSnap.snapShot() + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0260 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0270 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0270 + * @tc.desc : Add a Text component, and within it, add a ContainerSpan. Inside the ContainerSpan, set both a Span + * and an ImageSpan to be displayed in a single line. For the ImageSpan within the ContainerSpan, set the + * textBackgroundStyle to {color: Color.Red, radius: 5}. For the Span within the ContainerSpan, set the + * textBackgroundStyle to {color: Color.Blue, radius: 5}. Additionally, set the textBackgroundStyle for the + * ContainerSpan itself to {color: Color.Green, radius: 5}. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0270', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0270 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage120") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0270 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0280 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0280 + * @tc.desc : Add a Text component, and within it, add a ContainerSpan. Inside the ContainerSpan, include both a + * Span and an ImageSpan to be displayed in a single line. For the Span within the ContainerSpan, set the + * textBackgroundStyle to {color: Color.Blue, radius: 5}. For the ContainerSpan itself, set the textBackgroundStyle + * to {color: Color.Green, radius: 5}. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0280', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0280 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage121") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0280 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0290 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0290 + * @tc.desc : Add a Text component with a blue background color by setting backgroundColor to Blue. Within the + * Text component, add a ContainerSpan. Inside the ContainerSpan, include both a Span and an ImageSpan to be + * displayed in a single line. Set the textBackgroundStyle for the ContainerSpan to {color: Color.Red, radius: 5}. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0290', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0290 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage122") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0290 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0300 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0300 + * @tc.desc : Add a Text component with rounded corners for the border by setting borderRadius to 10. Within the + * Text component, add a ContainerSpan. Inside the ContainerSpan, include both a Span and an ImageSpan to be + * displayed in a single line. Set the textBackgroundStyle for the ContainerSpan to {color: Color.Red, radius: 5}. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0300', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0300 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage123") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0300 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0310 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0310 + * @tc.desc : Add a Text component and within it, add a ContainerSpan. Inside the ContainerSpan, include multiple + * Span and ImageSpan components to be displayed in a single line. Set the textBackgroundStyle for the + * ContainerSpan with the properties: {color: Color.Red, radius: 5}. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0310', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0310 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage124") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0310 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0320 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0320 + * @tc.desc : Add a Text component and within it, add a ContainerSpan. Inside the ContainerSpan, include multiple + * Span and ImageSpan components, with content that exceeds three lines. Set the textBackgroundStyle for the + * ContainerSpan with the properties: {color: Color.Red, radius: 5}. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0320', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0320 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage125") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0320 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0330 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0330 + * @tc.desc : Add a Text component and within it, add a ContainerSpan. Inside the ContainerSpan, include multiple + * Span and ImageSpan components, with content that exceeds three lines. Set the textBackgroundStyle for the + * ContainerSpan with the properties: {color: Color.Red, radius: 5}. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0330', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0330 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage126") + let driver: Driver = Driver.create(); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + let widthDec: Component = await driver.findComponent(ON.id('fontAttributePage126_01')); + let widthInc: Component = await driver.findComponent(ON.id('fontAttributePage126_02')); + await widthDec.click() + await widthInc.click() + await Utils.sleep(500) + windowSnap.snapShot() + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_CONTAINERSPAN_0330 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0010 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0010 + * @tc.desc : Add a Text component with the following settings: .maxLines(2), .width('220vp') + * (without setting the height), .minFontSize(14), .maxFontSize(24). Call the measureTextSize method twice to + * compare the text height when the Text component's maxLines is set versus when it's set to maxLines + 1. + * Add a TextInput component and assign the input content to the Text component. + * Set the textIndent property to 10, and input the text "文本截断是按字截断". + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0010', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0010 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage127") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + let button: Component = await driver.findComponent(ON.id('fontAttributePage127')); + await button.click(); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0010 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0020 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0020 + * @tc.desc : Set the textIndent property to 10, and input the text "本截断是按字截断文本截断是按字截断文本截断是按字 + * 截断文本i ams". + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0020', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0020 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage128") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + let button: Component = await driver.findComponent(ON.id('fontAttributePage128')); + await button.click(); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0020 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0030 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0030 + * @tc.desc : Set the textIndent property to 0, and input the text "本截断是按字截断文本截断是按字截断文本截断是按字 + * 截断文本i am". + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0030', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0020 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage129") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + let button: Component = await driver.findComponent(ON.id('fontAttributePage129')); + await button.click(); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0020 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0040 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0040 + * @tc.desc : Set the textIndent property to 0, and input the text "本截断是按字截断文本截断是按字截断文本截断是按字 + * 截断文本i am asdf". + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0040', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0040 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage130") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + let button: Component = await driver.findComponent(ON.id('fontAttributePage130')); + await button.click(); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0040 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0050 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0050 + * @tc.desc : Set the textIndent property to -10, and input the text "本截断是按字截断文本截断是按字截断文本截断是按字 + * 截断文本i am". + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0050', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0050 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage131") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + let button: Component = await driver.findComponent(ON.id('fontAttributePage131')); + await button.click(); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0050 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0060 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0060 + * @tc.desc : Set the textIndent property to -10, and input the text "本截断是按字截断文本截断是按字截断文本截断是按字 + * 截断文本i am asdf". + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0060', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0060 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage132") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + let button: Component = await driver.findComponent(ON.id('fontAttributePage132')); + await button.click(); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0060 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0070 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0070 + * @tc.desc : Set the textIndent property to '0', and input the text "本截断是按字截断文本截断是按字截断文本截断是按字 + * 截断文本i am". + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0070', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0070 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage133") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + let button: Component = await driver.findComponent(ON.id('fontAttributePage133')); + await button.click(); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0070 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0080 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0080 + * @tc.desc : Set the textIndent property to '0', and input the text "本截断是按字截断文本截断是按字截断文本截断是按字 + * 截断文本i am asdf". + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0080', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0080 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage134") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + let button: Component = await driver.findComponent(ON.id('fontAttributePage134')); + await button.click(); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0080 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0090 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0090 + * @tc.desc : Set the textIndent property to '30px', and input the text "本截断是按字截断文本截断是按字截断文本截断是按字 + * 截断文本". + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0090', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0090 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage135") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + let button: Component = await driver.findComponent(ON.id('fontAttributePage135')); + await button.click(); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0090 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0100 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0100 + * @tc.desc : Set the textIndent property to '30px', and input the text "本截断是按字截断文本截断是按字截断文本截断是按字 + * 截断文本i ams". + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0100', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0100 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage136") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + let button: Component = await driver.findComponent(ON.id('fontAttributePage136')); + await button.click(); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0100 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0110 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0110 + * @tc.desc : Set the textIndent property to '-10px', and input the text "本截断是按字截断文本截断是按字截断文本截断是按字 + * 截断文本i am". + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0110', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0110 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage137") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + let button: Component = await driver.findComponent(ON.id('fontAttributePage137')); + await button.click(); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0110 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0120 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0120 + * @tc.desc : Set the textIndent property to '-10px', and input the text "本截断是按字截断文本截断是按字截断文本截断是按字 + * 截断文本i am asdf". + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0120', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0120 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage138") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + let button: Component = await driver.findComponent(ON.id('fontAttributePage138')); + await button.click(); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0120 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0130 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0130 + * @tc.desc : Set the textIndent property to '10%', and input the text "本截断是按字截断文本截断是按字截断文本截断是按字 + * 截断文本". + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0130', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0130 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage139") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + let button: Component = await driver.findComponent(ON.id('fontAttributePage139')); + await button.click(); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0130 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0140 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0140 + * @tc.desc : Set the textIndent property to '10%', and input the text "本截断是按字截断文本截断是按字截断文本截断是按字 + * 截断文本i am". + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0140', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0140 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage140") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + let button: Component = await driver.findComponent(ON.id('fontAttributePage140')); + await button.click(); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0140 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0150 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0150 + * @tc.desc : Set the textIndent property to 'abc', and input the text "本截断是按字截断文本截断是按字截断文本截断是按字 + * 截断文本i am". + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0150', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0150 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage141") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + let button: Component = await driver.findComponent(ON.id('fontAttributePage141')); + await button.click(); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0150 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0160 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0160 + * @tc.desc : Set the textIndent property to 'abc', and input the text "本截断是按字截断文本截断是按字截断文本截断是按字 + * 截断文本i am asdf". + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0160', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0160 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage142") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + let button: Component = await driver.findComponent(ON.id('fontAttributePage142')); + await button.click(); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0160 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0170 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0170 + * @tc.desc : Do not set the textIndent property and input the text "本截断是按字截断文本截断是按字截断文本截断是按字截 + * 断文本i am". + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0170', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0170 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage143") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + let button: Component = await driver.findComponent(ON.id('fontAttributePage143')); + await button.click(); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0170 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0180 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0180 + * @tc.desc : Do not set the textIndent property and input the text "本截断是按字截断文本截断是按字截断文本截断是按字 + * 截断文本i am asdf". + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0180', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0180 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage144") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + let button: Component = await driver.findComponent(ON.id('fontAttributePage144')); + await button.click(); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0180 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0190 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0190 + * @tc.desc : Set the wordBreak property to NORMAL, and input the text "文本截断是按字截断". + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0190', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0190 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage145") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + let button: Component = await driver.findComponent(ON.id('fontAttributePage145')); + await button.click(); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0190 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0200 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0200 + * @tc.desc : Set the wordBreak property to NORMAL, and input the text + * "本截断是按字截断文本截断是按字截断文本截断是按字截断文本是按字". + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0200', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0200 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage146") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + let button: Component = await driver.findComponent(ON.id('fontAttributePage146')); + await button.click(); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0200 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0210 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0210 + * @tc.desc : Set the wordBreak property to NORMAL, and input the text + * "てられますテキスト切り捨ては単語によって切り捨て". + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0210', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0210 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage147") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + let button: Component = await driver.findComponent(ON.id('fontAttributePage147')); + await button.click(); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0210 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0220 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0220 + * @tc.desc : Set the wordBreak property to NORMAL, and input the text + * "この切り捨ては単語によって切り捨てられますテキスト切り捨ては単語によって切り捨てられますテキスト切り捨ては単語によって切り捨て + * られますテキストは単語によって切り". + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0220', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0220 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage148") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + let button: Component = await driver.findComponent(ON.id('fontAttributePage148')); + await button.click(); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0220 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0230 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0230 + * @tc.desc : Set the wordBreak property to NORMAL, and input the text + * "이 잘림은 단어로 자릅니다. 텍스트 잘림은 단어로 자릅니다". + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0230', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0230 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage149") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + let button: Component = await driver.findComponent(ON.id('fontAttributePage149')); + await button.click(); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0230 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0240 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0240 + * @tc.desc : Set the wordBreak property to NORMAL, and input the text + * "이 잘림은 단어로 자릅니다. 텍스트 잘림은 단어로 자릅니다. 텍스트 잘림은 단어로 자릅니다. 텍스트 잘림은 단어로 자릅니다. + * 텍스트 잘림은 단어로 자릅니다". + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0240', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0240 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage150") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + let button: Component = await driver.findComponent(ON.id('fontAttributePage150')); + await button.click(); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0240 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0250 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0250 + * @tc.desc : Set the wordBreak property to NORMAL, and input the text + * "This truncation is truncated text by". + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0250', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0250 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage151") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + let button: Component = await driver.findComponent(ON.id('fontAttributePage151')); + await button.click(); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0250 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0260 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0260 + * @tc.desc : Set the wordBreak property to NORMAL, and input the text + * "This truncation is truncating text by word Truncating text by word Truncating text by word Truncating + * text by word Truncating text by word Yes". + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0260', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0260 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage152") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + let button: Component = await driver.findComponent(ON.id('fontAttributePage152')); + await button.click(); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0260 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0270 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0270 + * @tc.desc : Set the wordBreak property to NORMAL, and input the text + * "按字截断によって切이 잘림This truncation is". + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0270', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0270 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage153") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + let button: Component = await driver.findComponent(ON.id('fontAttributePage153')); + await button.click(); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0270 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0280 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0280 + * @tc.desc : Set the wordBreak property to NORMAL, and input the text + * "按字截断によって切이 잘림This truncation is按字截断によって切이 잘림This truncation is按字截断によって切이 잘림This + * truncation is按字截断によって切이 잘림This truncation is". + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0280', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0280 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage154") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + let button: Component = await driver.findComponent(ON.id('fontAttributePage154')); + await button.click(); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0280 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0290 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0290 + * @tc.desc : Set the wordBreak property to BREAK_ALL, and input the text + * "文本截断是按字截断" + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0290', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0290 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage155") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + let button: Component = await driver.findComponent(ON.id('fontAttributePage155')); + await button.click(); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0290 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0300 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0300 + * @tc.desc : Set the wordBreak property to BREAK_ALL, and input the text + * "本截断是按字截断文本截断是按字截断文本截断是按字截断文本是按字" + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0300', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0300 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage156") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + let button: Component = await driver.findComponent(ON.id('fontAttributePage156')); + await button.click(); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0300 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0310 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0310 + * @tc.desc : Set the wordBreak property to BREAK_ALL, and input the text + * "てられますテキスト切り捨ては単語によって切り捨て" + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0310', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0310 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage157") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + let button: Component = await driver.findComponent(ON.id('fontAttributePage157')); + await button.click(); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0310 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0320 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0320 + * @tc.desc : Set the wordBreak property to BREAK_ALL, and input the text + * "この切り捨ては単語によって切り捨てられますテキスト切り捨ては単語によって切り捨てられますテキスト切り捨ては単語によって切り捨てられ + * ますテキストは単語によって切り" + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0320', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0320 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage158") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + let button: Component = await driver.findComponent(ON.id('fontAttributePage158')); + await button.click(); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0320 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0330 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0330 + * @tc.desc : Set the wordBreak property to BREAK_ALL, and input the text + * "이 잘림은 단어로 자릅니다. 텍스트 잘림은 단어로 자릅니다" + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0330', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0330 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage159") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + let button: Component = await driver.findComponent(ON.id('fontAttributePage159')); + await button.click(); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0330 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0340 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0340 + * @tc.desc : Set the wordBreak property to BREAK_ALL, and input the text + * "이 잘림은 단어로 자릅니다. 텍스트 잘림은 단어로 자릅니다. 텍스트 잘림은 단어로 자릅니다. 텍스트 잘림은 단어로 자릅니다. + * 텍스트 잘림은 단어로 자릅니다" + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0340', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0340 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage160") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + let button: Component = await driver.findComponent(ON.id('fontAttributePage160')); + await button.click(); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0340 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0350 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0350 + * @tc.desc : Set the wordBreak property to BREAK_ALL, and input the text + * "This truncation is truncated text by" + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0350', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0350 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage161") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + let button: Component = await driver.findComponent(ON.id('fontAttributePage161')); + await button.click(); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0350 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0360 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0360 + * @tc.desc : Set the wordBreak property to BREAK_ALL, and input the text + * "This truncation is truncating text by word Truncating text by word Truncating text by word Truncating text + * by word Truncating text by word Yes by word Truncating text by word" + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0360', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0360 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage162") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + let button: Component = await driver.findComponent(ON.id('fontAttributePage162')); + await button.click(); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0360 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0370 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0370 + * @tc.desc : Set the wordBreak property to BREAK_ALL, and input the text + * "按字截断によって切이 잘림This truncation is" + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0370', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0370 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage163") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + let button: Component = await driver.findComponent(ON.id('fontAttributePage163')); + await button.click(); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0370 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0380 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0380 + * @tc.desc : Set the wordBreak property to BREAK_ALL, and input the text + * "按字截断によって切이 잘림This truncation is按字截断によって切이 잘림This truncation is按字截断によって切이 잘림This + * truncation is按字截断によって切이 잘림This truncation is" + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0380', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0380 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage164") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + let button: Component = await driver.findComponent(ON.id('fontAttributePage164')); + await button.click(); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0380 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0390 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0390 + * @tc.desc : Set the wordBreak property to BREAK_WORD, and input the text + * "文本截断是按字截断" + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0390', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0390 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage165") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + let button: Component = await driver.findComponent(ON.id('fontAttributePage165')); + await button.click(); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0390 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0400 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0400 + * @tc.desc : Set the wordBreak property to BREAK_WORD, and input the text + * "本截断是按字截断文本截断是按字截断文本截断是按字截断文本是按字" + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0400', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0400 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage166") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + let button: Component = await driver.findComponent(ON.id('fontAttributePage166')); + await button.click(); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0400 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0410 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0410 + * @tc.desc : Set the wordBreak property to BREAK_WORD, and input the text + * "てられますテキスト切り捨ては単語によって切り捨て" + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0410', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0410 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage167") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + let button: Component = await driver.findComponent(ON.id('fontAttributePage167')); + await button.click(); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0410 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0420 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0420 + * @tc.desc : Set the wordBreak property to BREAK_WORD, and input the text + * "この切り捨ては単語によって切り捨てられますテキスト切り捨ては単語によって切り捨てられますテキスト切り捨ては単語によって切り捨てられます + * テキストは単語によって切り" + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0420', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0420 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage168") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + let button: Component = await driver.findComponent(ON.id('fontAttributePage168')); + await button.click(); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0420 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0430 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0430 + * @tc.desc : Set the wordBreak property to BREAK_WORD, and input the text + * "이 잘림은 단어로 자릅니다. 텍스트 잘림은 단어로 자릅니다" + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0430', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0430 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage169") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + let button: Component = await driver.findComponent(ON.id('fontAttributePage169')); + await button.click(); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0430 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0440 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0440 + * @tc.desc : Set the wordBreak property to BREAK_WORD, and input the text + * "이 잘림은 단어로 자릅니다. 텍스트 잘림은 단어로 자릅니다. 텍스트 잘림은 단어로 자릅니다. 텍스트 잘림은 단어로 자릅니다. 텍스트 + * 잘림은 단어로 자릅니다" + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0440', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0440 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage170") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + let button: Component = await driver.findComponent(ON.id('fontAttributePage170')); + await button.click(); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0440 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0450 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0450 + * @tc.desc : Set the wordBreak property to BREAK_WORD, and input the text + * "This truncation is truncated text by" + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0450', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0450 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage171") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + let button: Component = await driver.findComponent(ON.id('fontAttributePage171')); + await button.click(); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0450 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0460 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0460 + * @tc.desc : Set the wordBreak property to BREAK_WORD, and input the text + * "This truncation is truncating text by word Truncating text by word Truncating text by word Truncating text by + * word Truncating text by word Yes by word" + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0460', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0460 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage172") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + let button: Component = await driver.findComponent(ON.id('fontAttributePage172')); + await button.click(); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0460 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0470 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0470 + * @tc.desc : Set the wordBreak property to BREAK_WORD, and input the text + * "按字截断によって切이 잘림This truncation is" + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0470', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0470 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage173") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + let button: Component = await driver.findComponent(ON.id('fontAttributePage173')); + await button.click(); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0470 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0480 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0480 + * @tc.desc : Set the wordBreak property to BREAK_WORD, and input the text + * "按字截断によって切이 잘림This truncation is按字截断によって切이 잘림This truncation is按字截断によって切이 잘림This + * truncation is按字截断によって切이 잘림This truncation" + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0480', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0480 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage174") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + let button: Component = await driver.findComponent(ON.id('fontAttributePage174')); + await button.click(); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0480 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0490 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0490 + * @tc.desc : Set the maxLines property to 3 and input the text "本截断是按字截断文本截断是按字截断文本截断是按字截断文本 + * i am本截断是按字截断文本截断是按字截断文本截断是按字截断文本". When you change maxLines from 3 to 5, input an + * additional character. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0490', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0490 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage175") + await Utils.sleep(2000) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + let button: Component = await driver.findComponent(ON.id('fontAttributePage175')); + await button.click(); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0490 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0500 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0500 + * @tc.desc : Set maxLines to 3 and input the text "本截断是按字截断文本截断是按字截断文本截断是按字截断文本i am本截断是按字截 + * 断文本截断是按字截断文本截断是按字截断文本". After changing maxLines from 5 back to 3, input an additional character. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0500', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0500 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage176") + await Utils.sleep(2000) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + let button: Component = await driver.findComponent(ON.id('fontAttributePage176')); + await button.click(); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0500 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0510 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0510 + * @tc.desc : Set the Text component's width to 100%, leave the height unset, and set maxLines to 2. Input the + * text "本截断是按字截断文本截断是按字截断文本截断是按字截断文本i am本截断是按字截断文本截断是按字截断文本截断是". After switching + * from portrait to landscape orientation, input an additional character. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0510', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0510 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage177") + await Utils.sleep(2000) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + let button: Component = await driver.findComponent(ON.id('fontAttributePage177')); + await button.click(); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0510 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0520 + * @tc.name : SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0520 + * @tc.desc : Set the `Text` component's width to 100%, do not set its height, and set `maxLines` to 2. Input the + * text "本截断是按字截断文本截断是按字截断文本截断是按字截断文本i am本截断是按字截断文本截断是按字截断文本截断是". After switching + * from landscape to portrait orientation, input an additional character. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0520', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0520 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface02/fontAttributePage178") + await Utils.sleep(2000) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + let button: Component = await driver.findComponent(ON.id('fontAttributePage178')); + await button.click(); + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXT_TRUNCATION_0520 finish.`); + done() + }) + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIAttributeFontInterfaceTest/UIAttributeFontInterface003.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIAttributeFontInterfaceTest/UIAttributeFontInterface003.test.ets new file mode 100644 index 000000000..07134017e --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIAttributeFontInterfaceTest/UIAttributeFontInterface003.test.ets @@ -0,0 +1,2492 @@ +/** + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development 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 Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' +import {UiComponent, UiDriver, Component, Driver, UiWindow, ON, BY, MatchPattern, DisplayRotation, + ResizeDirection, WindowMode, PointerMatrix} from '@ohos.UiTest'; + +export default function UIAttributeFontInterface003() { + + describe('UIAttributeFontInterface003', () => { + afterEach(async (done: Function) => { + if (Settings.windowClass == undefined) { + return + } + + Settings.windowClass.destroyWindow((err) => { + if (err.code) { + Logger.error('TEST', `Failed to destroy the window. Cause : ${JSON.stringify(err)}`) + return; + } + Logger.info('TEST', `Succeeded in destroy the window.`); + }) + await Utils.sleep(500); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0130 + * @tc.name : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0130 + * @tc.desc : TextInput component + * 1. Tap the input box and input characters. + * 2. Tap the `decoration.type` button to change the decoration line type (Underline, LineThrough, Overline, None). + * 3. Tap the `decoration.color` button to change the decoration line color (color.Pink, 0x008000, 'rgb(255, 0, 0)', + * #0000ff, $r('app.color.Yellow')). + * 4. Tap the `letterSpacing` button to adjust the character spacing (-2, 0, 3, '5px', '10%'). + */ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0130', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0130 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle01") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributeAndStyle01_1')); + let button2: Component = await driver.findComponent(ON.id('fontAttributeAndStyle01_2')); + for(let i_01 = 0; i_01<9; i_01++){ + await button1.click() + for(let i_02 = 0; i_02<5; i_02++){ + await button2.click() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + if(i_02==4 && i_01 == 8){ + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0130 finish.`); + done() + } + } + } + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0140 + * @tc.name : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0140 + * @tc.desc : TextInput component + * 1. Tap the input box and input text, special characters, and spaces. + * 2. Do not set the letterSpacing property. + */ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0140', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0140 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle02") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributeAndStyle02')); + for(let i = 0; i<9; i++){ + await button1.click() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + if(i==8){ + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0140 finish.`); + done() + } + } + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0150 + * @tc.name : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0150 + * @tc.desc : TextInput component + * 1. Tap the input box to input text, special characters, and spaces. + * 2. Tap the `letterSpacing` button to adjust the letter spacing to (-2, 0, 3, '5px', '10%'). + * 3. Clear the text and then input again. + */ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0150', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0150 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle03") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributeAndStyle03_1')); + let button2: Component = await driver.findComponent(ON.id('fontAttributeAndStyle03_2')); + let button3: Component = await driver.findComponent(ON.id('fontAttributeAndStyle03_3')); + let button4: Component = await driver.findComponent(ON.id('fontAttributeAndStyle03_4')); + for(let i_01 = 0; i_01<3; i_01++){ + await button1.click() + for(let i_02 = 0; i_02<5; i_02++){ + await button2.click() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + await button3.click() + await button4.click() + windowSnap.snapShot() + await Utils.sleep(500) + if(i_02==4 && i_01 == 2){ + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0150 finish.`); + done() + } + } + } + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0160 + * @tc.name : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0160 + * @tc.desc : TextInput component + * Set the character spacing of input box A to 3, and set the character spacing of input box B to -2. + * Drag and drop, or copy, the text from input box A to input box B. + */ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0160', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0160 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle04") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributeAndStyle04_1')); + let button2: Component = await driver.findComponent(ON.id('fontAttributeAndStyle04_2')); + await button1.longClick() + let selectAll: Component = await driver.findComponent(ON.text('全选')); + if(selectAll){ + await selectAll.click() + await Utils.sleep(500) + let copy: Component = await driver.findComponent(ON.text('复制')); + let paste: Component = await driver.findComponent(ON.text('粘贴')); + await copy.click() + await Utils.sleep(500) + await button2.longClick() + await Utils.sleep(500) + await paste.click() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + } else { + let copy: Component = await driver.findComponent(ON.text('复制')); + let paste: Component = await driver.findComponent(ON.text('粘贴')); + await copy.click() + await Utils.sleep(500) + await button2.longClick() + await Utils.sleep(500) + await paste.click() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + } + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0160 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0170 + * @tc.name : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0170 + * @tc.desc : TextInput component + * 1. In the empty text state, display the hint text. + * 2. Tap the `letterSpacing` button to adjust the letter spacing to (-2, 0, 3, '5px', '10%'). + */ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0170', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0170 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle05") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button: Component = await driver.findComponent(ON.id('fontAttributeAndStyle05')); + for(let i = 0; i<5; i++){ + await button.click() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + if(i==4){ + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0170 finish.`); + done() + } + } + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0180 + * @tc.name : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0180 + * @tc.desc : TextInput component + * 1. Tap the `type` button to change the input field type to (Normal, Password, Email, Number, PhoneNumber, + * USER_NAME, NEW_PASSWORD, NUMBER_PASSWORD, NUMBER_DECIMAL). + * 2. Tap the input box to input characters. + * 3. Tap the `letterSpacing` button to dynamically change the line height to (-2,0,3,"5px","10%"). + */ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0180', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0180 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle06") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributeAndStyle06_01')); + let button2: Component = await driver.findComponent(ON.id('fontAttributeAndStyle06_02')); + for(let i_01 = 0; i_01 < 10; i_01++){ + await button1.click() + for(let i_02 = 0; i_02 < 5; i_02++){ + await button2.click() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + if(i_02==4 && i_01==9){ + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0180 finish.`); + done() + } + } + } + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0190 + * @tc.name : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0190 + * @tc.desc : TextInput component + * 1. Tap the `style` button to change the input box style to (Default, Inline). + * 2. Tap the `letterSpacing` button to dynamically change the line height to (-2,0,3,"5px","10%"). + * 3. Tap the input box to input characters. + * 4. In inline mode, input multiple lines of text. + */ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0190', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0190 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle07") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributeAndStyle07_1')); + let button2: Component = await driver.findComponent(ON.id('fontAttributeAndStyle07_2')); + for(let i_01 = 0; i_01 < 10; i_01++){ + await button1.click() + for(let i_02 = 0; i_02 < 5; i_02++){ + await button2.click() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + if(i_02==4 && i_01==9){ + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0190 finish.`); + done() + } + } + } + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0200 + * @tc.name : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0200 + * @tc.desc : TextInput component + * 1. Tap the input box to input characters. + * 2. Tap the `letterSpacing` button to adjust the letter spacing to (-2, 0, 3, '5px', '10%'). + * 3. Tap the `textAlign` button to toggle the text alignment between (start, center, end). + */ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0200', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0200 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle08") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributeAndStyle08_1')); + let button2: Component = await driver.findComponent(ON.id('fontAttributeAndStyle08_2')); + let button3: Component = await driver.findComponent(ON.id('fontAttributeAndStyle08_3')); + await button3.click() + for(let i_01 = 0; i_01<5; i_01++){ + await button1.click() + for(let i_02 = 0; i_02<3; i_02++){ + await button2.click() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + if(i_02==2 && i_01 == 4){ + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0200 finish.`); + done() + } + } + } + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0210 + * @tc.name : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0210 + * @tc.desc : TextInput component + * Click on the input box and enter characters. + * Tap the `letterSpacing` button to adjust the letter spacing to (-2, 0, 3, '5px', '10%'). + * Click the "fontSize" button to dynamically change the font size (0, 10, 20, 30). + */ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0210', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0210 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle09") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributeAndStyle09_1')); + let button2: Component = await driver.findComponent(ON.id('fontAttributeAndStyle09_2')); + let button3: Component = await driver.findComponent(ON.id('fontAttributeAndStyle09_3')); + await button1.click() + for(let i_01 = 0; i_01<5; i_01++){ + await button2.click() + for(let i_02 = 0; i_02<4; i_02++){ + await button3.click() + windowSnap.snapShot() + await Utils.sleep(500) + if(i_02 == 3 && i_01 == 4){ + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0210 finish.`); + done() + } + } + } + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0220 + * @tc.name : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0220 + * @tc.desc : TextInput component + * Click on the input box and enter characters. + * Tap the `letterSpacing` button to adjust the letter spacing to (-2, 0, 3, '5px', '10%'). + * Long press to select a phrase + */ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0220', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0220 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle10") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributeAndStyle10_1')); + let button2: Component = await driver.findComponent(ON.id('fontAttributeAndStyle10_2')); + let input: Component = await driver.findComponent(ON.id('fontAttributeAndStyle10')); + await button1.click() + for(let i_01 = 0; i_01<5; i_01++){ + await button2.click() + await Utils.sleep(500) + await input.longClick() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + if(i_01 == 4){ + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0220 finish.`); + done() + } + } + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0230 + * @tc.name : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0230 + * @tc.desc : TextInput component + * 1. Tap the input box to input characters. + * 2. Tap the `lineHeight` button to dynamically change the line height to (-5, 0, 10, 20, '30%', '40vp'). + */ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0230', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0230 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle11") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button: Component = await driver.findComponent(ON.id('fontAttributeAndStyle11')); + for(let i = 0; i<6; i++){ + await button.click() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + if(i==5){ + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0230 finish.`); + done() + } + } + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0240 + * @tc.name : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0240 + * @tc.desc : TextInput component + * Click on the input box and enter characters. + * Tap the `lineHeight` button to dynamically change the line height to (-5, 0, 10, 20, '30%', '40vp'). + * Click the "fontSize" button to dynamically change the font size (0, 10, 20, 30). + */ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0240', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0240 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle12") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributeAndStyle12_1')); + let button2: Component = await driver.findComponent(ON.id('fontAttributeAndStyle12_2')); + let button3: Component = await driver.findComponent(ON.id('fontAttributeAndStyle12_3')); + await button1.click() + for(let i_01 = 0; i_01<6; i_01++){ + await button2.click() + for(let i_02 = 0; i_02<4; i_02++){ + await button3.click() + windowSnap.snapShot() + await Utils.sleep(500) + if(i_02 == 3 && i_01 == 5){ + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0240 finish.`); + done() + } + } + } + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0250 + * @tc.name : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0250 + * @tc.desc : TextInput component + * 1. In the empty text state, display the hint text. + * 2. Tap the `lineHeight` button to dynamically change the line height to (-5, 0, 10, 20, '30%', '40vp'). + */ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0250', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0250 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle13") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button: Component = await driver.findComponent(ON.id('fontAttributeAndStyle13')); + for(let i = 0; i<6; i++){ + await button.click() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + if(i==5){ + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0250 finish.`); + done() + } + } + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0260 + * @tc.name : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0260 + * @tc.desc : TextInput component + * 1.Tap the input box to input text, special characters, and spaces. + * 2.Tap the lineHeight button to dynamically change the line height to (-5, 0, 10, 20, '30%', '40vp'). + * 3.After clearing the text, input characters again. + */ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0260', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0260 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle14") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributeAndStyle14_01')); + let button2: Component = await driver.findComponent(ON.id('fontAttributeAndStyle14_02')); + let button3: Component = await driver.findComponent(ON.id('fontAttributeAndStyle14_03')); + for(let i_01 = 0; i_01 < 6; i_01++){ + await button2.click() + for(let i_02 = 0; i_02 < 3; i_02++){ + await button1.click() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + await button3.click() + if(i_02==2 && i_01 == 5){ + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0260 finish.`); + done() + } + } + } + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0270 + * @tc.name : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0270 + * @tc.desc : TextInput component + * 1. Tap the `type` button to change the input field type to (Normal, Password, Email, Number, PhoneNumber, + * USER_NAME, NEW_PASSWORD, NUMBER_PASSWORD, NUMBER_DECIMAL). + * 2. Tap the input box to input characters. + * 3. Tap the `lineHeight` button to dynamically change the line height to (-5, 0, 10, 20, '30%', '40vp'). + */ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0270', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0270 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle15") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributeAndStyle15_01')); + let button2: Component = await driver.findComponent(ON.id('fontAttributeAndStyle15_02')); + for(let i_01 = 0; i_01 < 10; i_01++){ + await button1.click() + for(let i_02 = 0; i_02 < 6; i_02++){ + await button2.click() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + if(i_02==5 && i_01==9){ + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0270 finish.`); + done() + } + } + } + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0280 + * @tc.name : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0280 + * @tc.desc : TextInput component + * 1. Tap the `style` button to change the input box style to (Default, Inline). + * 2. Tap the `lineHeight` button to dynamically change the line height to (-5, 0, 10, 20, '30%', '40vp'). + * 3. Tap the input box to input characters. + * 4. In inline mode, input multiple lines of text. + */ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0280', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0280 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle16") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributeAndStyle16_1')); + let button2: Component = await driver.findComponent(ON.id('fontAttributeAndStyle16_2')); + for(let i_01 = 0; i_01 < 10; i_01++){ + await button1.click() + for(let i_02 = 0; i_02 < 6; i_02++){ + await button2.click() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + if(i_02==5 && i_01==9){ + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0280 finish.`); + done() + } + } + } + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0290 + * @tc.name : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0290 + * @tc.desc : TextInput component + * 1. Tap the input box and input characters. + * 2. Tap the `lineHeight` button to dynamically change the line height to (-5, 0, 10, 20, '30%', '40vp'). + * 3. Long press to select text. + */ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0290', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0290 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle17") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button: Component = await driver.findComponent(ON.id('fontAttributeAndStyle17_1')); + let input: Component = await driver.findComponent(ON.type('TextInput')); + for(let i_01 = 0; i_01 < 10; i_01++){ + await button.click() + await Utils.sleep(500) + await input.longClick() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + if(i_01==9){ + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0290 finish.`); + done() + } + } + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0300 + * @tc.name : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0300 + * @tc.desc : TextInput component + * 1. Tap the input box to input characters. + * 2. Tap the `lineHeight` button to dynamically change the line height to (-5, 0, 10, 20, '30%', '40vp'). + * 3. Tap the `decoration` button to display the decoration line. + * 4. Tap the `style` button to change the decoration line style to (Default, Inline). + */ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0300', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0300 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle18") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributeAndStyle18_01')); + let button2: Component = await driver.findComponent(ON.id('fontAttributeAndStyle18_02')); + let button3: Component = await driver.findComponent(ON.id('fontAttributeAndStyle18_03')); + await button3.click() + for(let i_01 = 0; i_01 < 2; i_01++){ + await button1.click() + for(let i_02 = 0; i_02 < 6; i_02++){ + await button2.click() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + if(i_02==5 && i_01==1){ + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0300 finish.`); + done() + } + } + } + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0310 + * @tc.name : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0310 + * @tc.desc : TextArea component + * 1. Tap the input box to input multiple lines of characters. + * 2. Tap the `decoration.type` button to change the decoration line type (Underline, LineThrough, Overline, None). + * 3. Tap the `decoration.color` button to change the decoration line color (color.Pink, 0x008000, 'rgb(255, 0, 0)', + * #0000ff, $r('app.color.Yellow')). + */ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0310', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0310 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle19") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button: Component = await driver.findComponent(ON.id('fontAttributeAndStyle19_01')); + let input: Component = await driver.findComponent(ON.id('fontAttributeAndStyle19_2')); + await input.click() + for(let i_01 = 0; i_01 < 9; i_01++){ + await button.click() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + if(i_01==8){ + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0310 finish.`); + done() + } + } + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0320 + * @tc.name : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0320 + * @tc.desc : TextArea component + * 1. Tap the input box to input characters. + * 2. Do not set the `decoration` property. + */ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0320', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0320 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle20") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let input: Component = await driver.findComponent(ON.id('fontAttributeAndStyle20')); + await input.click() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0320 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0330 + * @tc.name : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0330 + * @tc.desc : TextArea component + * 1. Tap the input box to input characters. + * 2. Tap the `decoration.type` button to change the decoration line type (Underline, LineThrough, Overline, None). + * 3. Do not set the `decoration.color`. + */ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0330', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0330 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle21") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button: Component = await driver.findComponent(ON.id('fontAttributeAndStyle21_01')); + let input: Component = await driver.findComponent(ON.id('fontAttributeAndStyle21_2')); + await input.click() + for(let i_01 = 0; i_01 < 4; i_01++){ + await button.click() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + if(i_01==3){ + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0330 finish.`); + done() + } + } + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0360 + * @tc.name : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0360 + * @tc.desc : TextArea component + * 1. Do not input any characters, leave the text field empty. + * 2. Tap the `decoration.type` button to change the decoration line type (Underline, LineThrough, Overline, None). + * 3. Tap the `decoration.color` button to change the decoration line color (color.Pink, 0x008000, 'rgb(255, 0, 0)', + * #0000ff, $r('app.color.Yellow')). + */ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0360', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0360 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle23") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button: Component = await driver.findComponent(ON.id('fontAttributeAndStyle23')); + for(let i_01 = 0; i_01 < 9; i_01++){ + await button.click() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + if(i_01==8){ + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0360 finish.`); + done() + } + } + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0370 + * @tc.name : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0370 + * @tc.desc : TextArea component + * 1. Tap the `type` button to change the input field type to (Normal, Email, Number, PhoneNumber). + * 2. Tap the `decoration.type` button to change the decoration line type (Underline, LineThrough, Overline, None). + * 3. Tap the `decoration.color` button to change the decoration line color (color.Pink, 0x008000, 'rgb(255, 0, 0)', + * #0000ff, $r('app.color.Yellow')). + * 4. Tap the input box to input characters. + */ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0370', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0370 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle24") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributeAndStyle24_1')); + let button2: Component = await driver.findComponent(ON.id('fontAttributeAndStyle24_2')); + let button3: Component = await driver.findComponent(ON.id('fontAttributeAndStyle24_3')); + await button3.click() + await Utils.sleep(500) + for(let i_01 = 0; i_01 < 4; i_01++){ + await button1.click() + for(let i_02 = 0; i_02 < 9; i_02++){ + await button2.click() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + if(i_02==8 && i_01==3 ){ + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0370 finish.`); + done() + } + } + } + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0380 + * @tc.name : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0380 + * @tc.desc : TextArea component + * 1. Tap the `style` button to change the input box style to (Default, Inline). + * 2. Tap the `decoration.type` button to change the decoration line type (Underline, LineThrough, Overline, None). + * 3. Tap the `decoration.color` button to change the decoration line color (color.Pink, 0x008000, 'rgb(255, 0, 0)', + * #0000ff, $r('app.color.Yellow')). + * 4. Tap the input box to input multiple lines of text. + */ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0380', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0380 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle25") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributeAndStyle25_1')); + let button2: Component = await driver.findComponent(ON.id('fontAttributeAndStyle25_2')); + let button3: Component = await driver.findComponent(ON.id('fontAttributeAndStyle25_3')); + await button3.click() + await Utils.sleep(500) + for(let i_01 = 0; i_01 < 2; i_01++){ + await button1.click() + for(let i_02 = 0; i_02 < 9; i_02++){ + await button2.click() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + if(i_02==8 && i_01==1){ + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0380 finish.`); + done() + } + } + } + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0390 + * @tc.name : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0390 + * @tc.desc : TextArea component + * 1. Tap the input box to input multiple lines of characters. + * 2. Tap the `decoration.type` button to change the decoration line type (Underline, LineThrough, Overline, None). + * 3. Tap the `decoration.color` button to change the decoration line color (color.Pink, 0x008000, 'rgb(255, 0, 0)', + * #0000ff, $r('app.color.Yellow')). + * 4. Tap the `textAlign` button to toggle the text alignment (start, center, end). + */ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0390', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0390 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle26") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributeAndStyle26_1')); + let button2: Component = await driver.findComponent(ON.id('fontAttributeAndStyle26_2')); + let button3: Component = await driver.findComponent(ON.id('fontAttributeAndStyle26_3')); + await button3.click() + await Utils.sleep(500) + for(let i_01 = 0; i_01 < 9; i_01++){ + await button2.click() + for(let i_02 = 0; i_02 < 3; i_02++){ + await button1.click() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + if(i_02==2 && i_01==8){ + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0390 finish.`); + done() + } + } + } + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0400 + * @tc.name : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0400 + * @tc.desc : TextArea component + * 1. Tap the input box to input characters. + * 2. Tap the `decoration.type` button to change the decoration line type (Underline, LineThrough, Overline, None). + * 3. Tap the `decoration.color` button to change the decoration line color (color.Pink, 0x008000, 'rgb(255, 0, 0)', + * #0000ff, $r('app.color.Yellow')). + * 4. Tap the `fontSize` button to dynamically change the font size (0, 10, 20, 30). + */ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0400', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0400 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle27") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributeAndStyle27_1')); + let button2: Component = await driver.findComponent(ON.id('fontAttributeAndStyle27_2')); + let button3: Component = await driver.findComponent(ON.id('fontAttributeAndStyle27_3')); + await button3.click() + await Utils.sleep(500) + for(let i_01 = 0; i_01 < 9; i_01++){ + await button2.click() + for(let i_02 = 0; i_02 < 4; i_02++){ + await button1.click() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + if(i_02==3 && i_01==8){ + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0400 finish.`); + done() + } + } + } + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0410 + * @tc.name : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0410 + * @tc.desc : TextArea component + * 1. Tap the `maxLength` button to set the maximum number of characters (20, 50). + * 2. Tap the `showCounter` and set it to true to display the character count (true, false). + * 3. Tap the `decoration.type` button to change the decoration line type (Underline, LineThrough, Overline, None). + * 4. Tap the `decoration.color` button to change the decoration line color (color.Pink, 0x008000, 'rgb(255, 0, 0)', + * #0000ff, $r('app.color.Yellow')). + * 5. Tap the input box to input characters. + */ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0410', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0410 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle28") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributeAndStyle28_1')); + let button2: Component = await driver.findComponent(ON.id('fontAttributeAndStyle28_2')); + let button3: Component = await driver.findComponent(ON.id('fontAttributeAndStyle28_3')); + let button4: Component = await driver.findComponent(ON.id('fontAttributeAndStyle28_4')); + let button5: Component = await driver.findComponent(ON.id('fontAttributeAndStyle28_5')); + await button3.click() + await Utils.sleep(500) + for(let i_01 = 0; i_01 < 2; i_01++){ + await button1.click() + for(let i_02 = 0; i_02 < 2; i_02++){ + await button2.click() + for(let i_03 = 0; i_03 < 9; i_03++){ + await button3.click() + await button4.click() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + await button5.click() + if(i_01==1 && i_02==1 && i_03==8){ + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0410 finish.`); + done() + } + } + } + } + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0420 + * @tc.name : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0420 + * @tc.desc : TextArea component + * 1. Tap the input box to input characters. + * 2. Tap the `decoration.type` button to change the text decoration type (Underline, LineThrough, Overline, None). + * 3. Tap the `decoration.color` button to change the text decoration color (color.Pink, 0x008000, 'rgb(255, 0, 0)' + * , #0000ff, $r('app.color.Yellow')). + * 4. Tap the `letterSpacing` button to adjust the spacing between letters (-2, 0, 3, '5px', '10%'). + */ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0420', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0420 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle29") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributeAndStyle29_1')); + let button2: Component = await driver.findComponent(ON.id('fontAttributeAndStyle29_2')); + for(let i_01 = 0; i_01<9; i_01++){ + await button1.click() + for(let i_02 = 0; i_02<5; i_02++){ + await button2.click() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + if(i_02==4 && i_01 == 8){ + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0420 finish.`); + done() + } + } + } + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0430 + * @tc.name : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0430 + * @tc.desc : TextArea component + * 1. Tap the input box to input text, special characters, and spaces. + * 2. Do not set the `letterSpacing` property. + */ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0430', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0430 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle30") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button: Component = await driver.findComponent(ON.id('fontAttributeAndStyle30')); + for(let i = 0; i<3; i++){ + await button.click() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + if(i==2){ + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0430 finish.`); + done() + } + } + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0440 + * @tc.name : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0440 + * @tc.desc : TextArea component + * 1. Tap the input box to input text, special characters, and spaces. + * 2. Tap the `letterSpacing` button to adjust the letter spacing to (-2, 0, 3, '5px', '10%'). + * 3. Clear the text and then input again. + */ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0440', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0440 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle31") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributeAndStyle31_1')); + let button2: Component = await driver.findComponent(ON.id('fontAttributeAndStyle31_2')); + let button3: Component = await driver.findComponent(ON.id('fontAttributeAndStyle31_3')); + let button4: Component = await driver.findComponent(ON.id('fontAttributeAndStyle31_4')); + for(let i_01 = 0; i_01<3; i_01++){ + await button1.click() + for(let i_02 = 0; i_02<5; i_02++){ + await button2.click() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + await button3.click() + await button4.click() + windowSnap.snapShot() + await Utils.sleep(500) + if(i_02==4 && i_01 == 2){ + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0440 finish.`); + done() + } + } + } + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0460 + * @tc.name : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0460 + * @tc.desc : TextArea component + * 1. In the empty text state, display the hint text. + * 2. Tap the `letterSpacing` button to adjust the letter spacing to (-2, 0, 3, '5px', '10%'). + */ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0460', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0460 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle32") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button: Component = await driver.findComponent(ON.id('fontAttributeAndStyle32')); + for(let i = 0; i<5; i++){ + await button.click() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + if(i==4){ + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0460 finish.`); + done() + } + } + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0470 + * @tc.name : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0470 + * @tc.desc : TextArea component + * 1. Tap the `type` button to change the input field type to (Normal, Email, Number, PhoneNumber). + * 2. Tap the input box to input characters. + * 3. Tap the `letterSpacing` button to adjust the letter spacing to (-2, 0, 3, '5px', '10%'). + */ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0470', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0470 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle33") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributeAndStyle33_1')); + let button2: Component = await driver.findComponent(ON.id('fontAttributeAndStyle33_2')); + let button3: Component = await driver.findComponent(ON.id('fontAttributeAndStyle33_3')); + for(let i_01 = 0; i_01<4; i_01++){ + await button1.click() + await button2.click() + for(let i_02 = 0; i_02<5; i_02++){ + await button3.click() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + if(i_02==4 && i_01 == 3){ + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0470 finish.`); + done() + } + } + } + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0480 + * @tc.name : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0480 + * @tc.desc : TextArea component + * 1. Tap the `style` button to change the input box style to (Default, Inline). + * 2. Tap the `letterSpacing` button to adjust the letter spacing to (-2, 0, 3, '5px', '10%'). + * 3. Tap the input box to input multiple lines of text. + */ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0480', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0480 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle34") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributeAndStyle34_1')); + let button2: Component = await driver.findComponent(ON.id('fontAttributeAndStyle34_2')); + let button3: Component = await driver.findComponent(ON.id('fontAttributeAndStyle34_3')); + for(let i_01 = 0; i_01<2; i_01++){ + await button1.click() + for(let i_02 = 0; i_02<5; i_02++){ + await button2.click() + await button3.click() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + if(i_02==4 && i_01 == 1){ + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0480 finish.`); + done() + } + } + } + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0490 + * @tc.name : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0490 + * @tc.desc : TextArea component + * 1. Tap the input box to input characters. + * 2. Tap the `letterSpacing` button to adjust the letter spacing to (-2, 0, 3, '5px', '10%'). + * 3. Tap the `textAlign` button to toggle the text alignment between (start, center, end). + */ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0490', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0490 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle35") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributeAndStyle35_1')); + let button2: Component = await driver.findComponent(ON.id('fontAttributeAndStyle35_2')); + let button3: Component = await driver.findComponent(ON.id('fontAttributeAndStyle35_3')); + await button3.click() + for(let i_01 = 0; i_01<5; i_01++){ + await button1.click() + for(let i_02 = 0; i_02<3; i_02++){ + await button2.click() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + if(i_02==2 && i_01 == 4){ + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0490 finish.`); + done() + } + } + } + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0500 + * @tc.name : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0500 + * @tc.desc : TextArea component + * Click on the input box and enter characters. + * Tap the `letterSpacing` button to adjust the letter spacing to (-2, 0, 3, '5px', '10%'). + * Click the "fontSize" button to dynamically change the font size (0, 10, 20, 30). + */ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0500', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0500 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle36") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributeAndStyle36_1')); + let button2: Component = await driver.findComponent(ON.id('fontAttributeAndStyle36_2')); + let button3: Component = await driver.findComponent(ON.id('fontAttributeAndStyle36_3')); + await button3.click() + for(let i_01 = 0; i_01<5; i_01++){ + await button1.click() + for(let i_02 = 0; i_02<4; i_02++){ + await button2.click() + windowSnap.snapShot() + await Utils.sleep(500) + if(i_02 == 3 && i_01 == 4){ + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0500 finish.`); + done() + } + } + } + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0510 + * @tc.name : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0510 + * @tc.desc : TextArea component + * 1. Tap the input box to input characters. + * 2. Tap the `letterSpacing` button to adjust the letter spacing to (-2, 0, 3, '5px', '10%'). + * 3. Long press to select a phrase. + */ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0510', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0510 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle37") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributeAndStyle37_1')); + let button2: Component = await driver.findComponent(ON.id('fontAttributeAndStyle37_2')); + let textArea: Component = await driver.findComponent(ON.type('TextArea')); + await button2.click() + for(let i_01 = 0; i_01<5; i_01++){ + await button1.click() + await textArea.longClick() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + if(i_01 == 4){ + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0510 finish.`); + done() + } + } + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0520 + * @tc.name : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0520 + * @tc.desc : TextArea component + * 1. Tap the `maxLength` button to set the maximum number of characters to (20, 50). + * 2. Tap the `showCounter` and set it to true to display the character count; set it to false to hide the count. + * 3. Tap the `letterSpacing` button to adjust the letter spacing to (-2, 0, 3, '5px', '10%'). + * 4. Tap the input box to input characters. + */ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0520', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0520 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle38") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributeAndStyle38_1')); + let button2: Component = await driver.findComponent(ON.id('fontAttributeAndStyle38_2')); + let button3: Component = await driver.findComponent(ON.id('fontAttributeAndStyle38_3')); + let button4: Component = await driver.findComponent(ON.id('fontAttributeAndStyle38_4')); + for(let i_01 = 0; i_01<2; i_01++){ + await button1.click() + for(let i_02 = 0; i_02<2; i_02++){ + await button2.click() + for(let i_03 = 0; i_03<5; i_03++){ + await button3.click() + await button4.click() + windowSnap.snapShot() + await Utils.sleep(500) + if(i_01 == 1 && i_02==1 && i_03==4){ + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0520 finish.`); + done() + } + } + } + } + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0530 + * @tc.name : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0530 + * @tc.desc : TextArea component + * 1. Tap the input box to input characters. + * 2. Tap the `lineHeight` button to dynamically change the line height to (-5, 0, 10, 20, '30%', '40vp'). + */ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0530', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0530 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle39") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributeAndStyle39_1')); + let button2: Component = await driver.findComponent(ON.id('fontAttributeAndStyle39_2')); + await button1.click() + for(let i = 0; i<5; i++){ + await button2.click() + windowSnap.snapShot() + await Utils.sleep(500) + if(i == 4){ + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0530 finish.`); + done() + } + } + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0540 + * @tc.name : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0540 + * @tc.desc : TextArea component + * 1. Tap the input box to input multiple lines of characters. + * 2. Tap the `lineHeight` button to dynamically change the line height to (-5, 0, 10, 20, '30%', '40vp'). + * 3. Tap the `fontSize` button to dynamically change the font size to (0, 10, 20, 30). + */ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0540', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0540 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle40") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributeAndStyle40_1')); + let button2: Component = await driver.findComponent(ON.id('fontAttributeAndStyle40_2')); + let button3: Component = await driver.findComponent(ON.id('fontAttributeAndStyle40_3')); + await button1.click() + for(let i_01 = 0; i_01<6; i_01++){ + await button2.click() + for(let i_02 = 0; i_02<4; i_02++){ + await button3.click() + windowSnap.snapShot() + await Utils.sleep(500) + if(i_02 == 3 && i_01 == 5){ + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0540 finish.`); + done() + } + } + } + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0550 + * @tc.name : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0550 + * @tc.desc : TextArea component + * 1. In the empty text state, display the hint text. + * 2. Tap the `lineHeight` button to dynamically change the line height to (-5, 0, 10, 20, '30%', '40vp'). + */ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0550', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0550 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle41") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button: Component = await driver.findComponent(ON.id('fontAttributeAndStyle41')); + for(let i = 0; i<5; i++){ + await button.click() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + if(i==4){ + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0550 finish.`); + done() + } + } + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0560 + * @tc.name : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0560 + * @tc.desc : TextArea component + * 1. Tap the input box to input text, special characters, and spaces. + * 2. Tap the `lineHeight` button to dynamically change the line height to (-5, 0, 10, 20, '30%', '40vp'). + * 3. Clear the text and then input characters again. + */ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0560', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0560 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle42") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributeAndStyle42_1')); + let button2: Component = await driver.findComponent(ON.id('fontAttributeAndStyle42_2')); + let button3: Component = await driver.findComponent(ON.id('fontAttributeAndStyle42_3')); + let button4: Component = await driver.findComponent(ON.id('fontAttributeAndStyle42_4')); + for(let i_01 = 0; i_01<3; i_01++){ + await button1.click() + for(let i_02 = 0; i_02<5; i_02++){ + await button2.click() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + await button3.click() + await button4.click() + windowSnap.snapShot() + await Utils.sleep(500) + if(i_02==4 && i_01 == 2){ + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0560 finish.`); + done() + } + } + } + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0570 + * @tc.name : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0570 + * @tc.desc : TextArea component + * 1. Tap the `type` button to change the input field type to (Normal, Email, Number, PhoneNumber). + * 2. Tap the input box to input characters. + * 3. Tap the `lineHeight` button to dynamically change the line height to (-5, 0, 10, 20, '30%', '40vp'). + */ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0570', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0570 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle43") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributeAndStyle43_1')); + let button2: Component = await driver.findComponent(ON.id('fontAttributeAndStyle43_2')); + let button3: Component = await driver.findComponent(ON.id('fontAttributeAndStyle43_3')); + for(let i_01 = 0; i_01<4; i_01++){ + await button1.click() + for(let i_02 = 0; i_02<6; i_02++){ + await button2.click() + await button3.click() + windowSnap.snapShot() + await Utils.sleep(500) + if(i_02==5 && i_01 == 3){ + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0570 finish.`); + done() + } + } + } + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0580 + * @tc.name : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0580 + * @tc.desc : TextArea component + * 1. Tap the `style` button to change the input box style to (Default, Inline). + * 2. Tap the `lineHeight` button to dynamically change the line height to (-5, 0, 10, 20, '30%', '40vp'). + * 3. Tap the input box to input characters. + */ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0580', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0580 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle44") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributeAndStyle44_1')); + let button2: Component = await driver.findComponent(ON.id('fontAttributeAndStyle44_2')); + let button3: Component = await driver.findComponent(ON.id('fontAttributeAndStyle44_3')); + for(let i_01 = 0; i_01<2; i_01++){ + await button1.click() + for(let i_02 = 0; i_02<6; i_02++){ + await button3.click() + await button2.click() + windowSnap.snapShot() + await Utils.sleep(500) + if(i_02==5 && i_01 == 1){ + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0580 finish.`); + done() + } + } + } + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0590 + * @tc.name : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0590 + * @tc.desc : TextArea component + * 1. Tap the input box to input characters. + * 2. Tap the `lineHeight` button to dynamically change the line height to (-5, 0, 10, 20, '30%', '40vp'). + * 3. Long press to select the text. + */ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0590', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0590 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle45") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button: Component = await driver.findComponent(ON.id('fontAttributeAndStyle45_1')); + let textArea: Component = await driver.findComponent(ON.type('TextArea')); + for(let i_01 = 0; i_01 < 5; i_01++){ + await button.click() + await Utils.sleep(500) + await textArea.longClick() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + if(i_01==4){ + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0590 finish.`); + done() + } + } + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0600 + * @tc.name : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0600 + * @tc.desc : TextArea component + * 1. Tap the input box to input characters. + * 2. Tap the `lineHeight` button to dynamically change the line height to (-5, 0, 10, 20, '30%', '40vp'). + * 3. Tap the `decoration` button to display the decoration line. + * 4. Tap the `style` button to change the decoration line style to (Default, Inline). + */ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0600', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0600 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle46") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributeAndStyle46_1')); + let button2: Component = await driver.findComponent(ON.id('fontAttributeAndStyle46_2')); + let button3: Component = await driver.findComponent(ON.id('fontAttributeAndStyle46_3')); + let button4: Component = await driver.findComponent(ON.id('fontAttributeAndStyle46_4')); + await button4.click() + for(let i_01 = 0; i_01<6; i_01++){ + await button1.click() + for(let i_02 = 0; i_02<2; i_02++){ + await button2.click() + await button3.click() + windowSnap.snapShot() + await Utils.sleep(500) + if(i_02==1 && i_01 == 5){ + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0600 finish.`); + done() + } + } + } + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0610 + * @tc.name : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0610 + * @tc.desc : Search component + * 1. Tap the input box to input characters. + * 2. Tap the `decoration.type` button to change the text decoration type to (Underline, LineThrough, Overline, + * None). + * 3. Tap the `decoration.color` button to change the text decoration color to (color.Pink, 0x008000, + * 'rgb(255, 0, 0)', #0000ff, $r('app.color.Yellow')). + */ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0610', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0610 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle47") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributeAndStyle47_1')); + let button2: Component = await driver.findComponent(ON.id('fontAttributeAndStyle47_2')); + await button1.click() + for(let i_01 = 0; i_01<9; i_01++){ + await button2.click() + windowSnap.snapShot() + await Utils.sleep(500) + if(i_01 == 5){ + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0610 finish.`); + done() + } + } + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0620 + * @tc.name : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0620 + * @tc.desc : Search component + * 1. Tap the input box to input characters. + * 2. Do not set the `decoration` property. + */ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0620', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0620 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle48") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button: Component = await driver.findComponent(ON.id('fontAttributeAndStyle48')); + await button.click() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0620 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0630 + * @tc.name : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0630 + * @tc.desc : Search component + * 1. Tap the input box to input characters. + * 2. Tap the `decoration.type` button to change the decoration line type (Underline, LineThrough, Overline, None). + * 3. Do not set the `decoration.color`. + */ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0630', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0630 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle49") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributeAndStyle49_1')); + let button2: Component = await driver.findComponent(ON.id('fontAttributeAndStyle49_2')); + await button1.click() + for(let i_01 = 0; i_01<4; i_01++){ + await button2.click() + windowSnap.snapShot() + await Utils.sleep(500) + if(i_01 == 5){ + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0630 finish.`); + done() + } + } + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0700 + * @tc.name : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0700 + * @tc.desc : Search component + * 1. Tap the input box to input characters. + * 2. Tap the `decoration.type` button to change the decoration line type (Underline, LineThrough, Overline, None). + * 3. Tap the `decoration.color` button to change the decoration line color (color.Pink, 0x008000, 'rgb(255, 0, 0)', + * #0000ff, $r('app.color.Yellow')). + * 4. Tap the `letterSpacing` button to adjust the letter spacing to (-2, 0, 3, '5px', '10%'). + */ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0700', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0700 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle50") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributeAndStyle50_1')); + let button2: Component = await driver.findComponent(ON.id('fontAttributeAndStyle50_2')); + let button3: Component = await driver.findComponent(ON.id('fontAttributeAndStyle50_3')); + await button1.click() + for(let i_01 = 0; i_01<9; i_01++){ + await button2.click() + for(let i_02 = 0; i_02<5; i_02++){ + await button3.click() + windowSnap.snapShot() + await Utils.sleep(500) + if(i_02 == 4 && i_01 == 8){ + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0700 finish.`); + done() + } + } + } + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0720 + * @tc.name : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0720 + * @tc.desc : Search component + * 1. Tap the input box to input text, special characters, and spaces. + * 2. Tap the `letterSpacing` button to adjust the letter spacing to (-2, 0, 3, '5px', '10%'). + * 3. Clear the text and then input again. + */ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0720', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0720 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle51") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributeAndStyle51_1')); + let button2: Component = await driver.findComponent(ON.id('fontAttributeAndStyle51_2')); + let button3: Component = await driver.findComponent(ON.id('fontAttributeAndStyle51_3')); + let button4: Component = await driver.findComponent(ON.id('fontAttributeAndStyle51_3')); + await button1.click() + for(let i_01 = 0; i_01<3; i_01++){ + await button2.click() + for(let i_02 = 0; i_02<5; i_02++){ + await button3.click() + await button4.click() + windowSnap.snapShot() + await Utils.sleep(500) + if(i_02 == 4 && i_01 == 2){ + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0720 finish.`); + done() + } + } + } + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0740 + * @tc.name : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0740 + * @tc.desc : Search component + * 1. In the empty text state, display the hint text. + * 2. Tap the `letterSpacing` button to adjust the letter spacing to (-2, 0, 3, '5px', '10%'). + */ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0740', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0740 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle52") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributeAndStyle52')); + for(let i_02 = 0; i_02<5; i_02++){ + await button1.click() + windowSnap.snapShot() + await Utils.sleep(500) + if(i_02 == 4){ + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0740 finish.`); + done() + } + } + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0750 + * @tc.name : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0750 + * @tc.desc : Search component + * Click the "type" button to change the type of the input box (Normal, Email, Number, PhoneNumber) + * Click on the input box and enter characters + * Click the "letterSpacing" button to adjust the letter spacing (-2, 0, 3, '5px', '10%') + */ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0750', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0750 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle53") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributeAndStyle53_1')); + let button2: Component = await driver.findComponent(ON.id('fontAttributeAndStyle53_2')); + let button3: Component = await driver.findComponent(ON.id('fontAttributeAndStyle53_3')); + for(let i_01 = 0; i_01<4; i_01++){ + await button1.click() + await button2.click() + for(let i_02 = 0; i_02<5; i_02++){ + await button3.click() + windowSnap.snapShot() + await Utils.sleep(500) + if(i_02 == 4 && i_01 == 3){ + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0750 finish.`); + done() + } + } + } + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0760 + * @tc.name : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0760 + * @tc.desc : Search component + * Click on the input box and enter characters. + * Click the "letterSpacing" button to adjust the letter spacing between characters (-2, 0, 3, '5px', '10%'). + * Click the "textAlign" button to switch the text alignment (start, center, end). + */ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0760', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0760 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle54") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributeAndStyle54_1')); + let button2: Component = await driver.findComponent(ON.id('fontAttributeAndStyle54_2')); + let button3: Component = await driver.findComponent(ON.id('fontAttributeAndStyle54_3')); + await button1.click() + for(let i_01 = 0; i_01<5; i_01++){ + await button2.click() + for(let i_02 = 0; i_02<3; i_02++){ + await button3.click() + windowSnap.snapShot() + await Utils.sleep(500) + if(i_02 == 2 && i_01 == 4){ + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0760 finish.`); + done() + } + } + } + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0780 + * @tc.name : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0780 + * @tc.desc : Search component + * Click on the input box and enter characters. + * Click the "letterSpacing" button to adjust the spacing between the characters (-2, 0, 3, '5px', '10%'). + * Long-press on the input box to select a word or phrase. + */ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0780', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0780 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle55") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributeAndStyle55_1')); + let button2: Component = await driver.findComponent(ON.id('fontAttributeAndStyle55_2')); + let search: Component = await driver.findComponent(ON.type('Search')); + await button1.click() + for(let i_01 = 0; i_01<5; i_01++){ + await button2.click() + await search.longClick() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + if(i_01 == 4){ + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0780 finish.`); + done() + } + } + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0790 + * @tc.name : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0790 + * @tc.desc : Search component + * Click on the input box and enter characters. + * Click the "lineHeight" button to change the line height (-5, 0, 10, 20, '30%', '40vp'). + */ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0790', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0790 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle56") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributeAndStyle56_1')); + let button2: Component = await driver.findComponent(ON.id('fontAttributeAndStyle56_2')); + await button1.click() + for(let i_01 = 0; i_01<6; i_01++){ + await button2.click() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + if(i_01 == 5){ + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0790 finish.`); + done() + } + } + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0800 + * @tc.name : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0800 + * @tc.desc : Search component + * Click on the input box and enter characters. + * Click the "lineHeight" button to dynamically change the line height (-5, 0, 10, 20, '30%', '40vp'). + * Click the "fontSize" button to dynamically change the font size (0, 10, 20, 30). + */ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0800', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0800 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle57") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributeAndStyle57_1')); + let button2: Component = await driver.findComponent(ON.id('fontAttributeAndStyle57_2')); + let button3: Component = await driver.findComponent(ON.id('fontAttributeAndStyle57_3')); + await button1.click() + for(let i_01 = 0; i_01<6; i_01++){ + await button2.click() + for(let i_02 = 0; i_02<4; i_02++){ + await button3.click() + windowSnap.snapShot() + await Utils.sleep(500) + if(i_02 == 3 && i_01 == 5){ + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0800 finish.`); + done() + } + } + } + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0810 + * @tc.name : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0810 + * @tc.desc : Search component + * Display hint text when the input box is empty. + * Click the "lineHeight" button to dynamically change the line height (-5, 0, 10, 20, '30%', '40vp'). + */ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0810', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0810 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle56") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button: Component = await driver.findComponent(ON.id('fontAttributeAndStyle58')); + for(let i_01 = 0; i_01<6; i_01++){ + await button.click() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + if(i_01 == 5){ + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0810 finish.`); + done() + } + } + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0820 + * @tc.name : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0820 + * @tc.desc : Search component + * Click on the input box and enter text, special characters, and spaces. + * Click the "lineHeight" button to dynamically change the line height (-5, 0, 10, 20, '30%', '40vp'). + * Clear the text and enter characters again. + */ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0820', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0820 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle59") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributeAndStyle59_1')); + let button2: Component = await driver.findComponent(ON.id('fontAttributeAndStyle59_2')); + let button3: Component = await driver.findComponent(ON.id('fontAttributeAndStyle59_3')); + let button4: Component = await driver.findComponent(ON.id('fontAttributeAndStyle59_4')); + for(let i_01 = 0; i_01<3; i_01++){ + await button1.click() + for(let i_02 = 0; i_02<5; i_02++){ + await button2.click() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + await button3.click() + await button4.click() + windowSnap.snapShot() + await Utils.sleep(500) + if(i_02==4 && i_01 == 2){ + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0820 finish.`); + done() + } + } + } + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0830 + * @tc.name : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0830 + * @tc.desc : Search component + * Click the "type" button to change input type (Normal, Email, Number, PhoneNumber). + * Click on the input box and enter characters. + * Click the "lineHeight" button to change line height (-5, 0, 10, 20, '30%', '40vp'). + */ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0830', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0830 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle60") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributeAndStyle60_1')); + let button2: Component = await driver.findComponent(ON.id('fontAttributeAndStyle60_2')); + let button3: Component = await driver.findComponent(ON.id('fontAttributeAndStyle60_3')); + for(let i_01 = 0; i_01<4; i_01++){ + await button1.click() + await button2.click() + for(let i_02 = 0; i_02<6; i_02++){ + await button3.click() + windowSnap.snapShot() + await Utils.sleep(500) + if(i_02 == 5 && i_01 == 3){ + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0830 finish.`); + done() + } + } + } + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0840 + * @tc.name : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0840 + * @tc.desc : Search component + * Click on the input box and enter characters. + * Click the "lineHeight" button to dynamically change the line height (-5, 0, 10, 20, '30%', '40vp'). + * Long-press to select text. + */ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0840', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0840 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle61") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributeAndStyle61_1')); + let button2: Component = await driver.findComponent(ON.id('fontAttributeAndStyle61_2')); + await button1.click() + for(let i_01 = 0; i_01<6; i_01++){ + await button2.click() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + if(i_01 == 5){ + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0840 finish.`); + done() + } + } + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0850 + * @tc.name : SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0850 + * @tc.desc : Search component + * Click on the input box and enter characters. + * Click the "lineHeight" button to dynamically change the line height (-5, 0, 10, 20, '30%', '40vp'). + * Click the "decoration" button to display text decoration lines. + */ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0850', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0850 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle62") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributeAndStyle62_01')); + let button2: Component = await driver.findComponent(ON.id('fontAttributeAndStyle62_02')); + let button3: Component = await driver.findComponent(ON.id('fontAttributeAndStyle62_03')); + await button1.click() + await button3.click() + for(let i_02 = 0; i_02 < 6; i_02++){ + await button2.click() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + if(i_02==5){ + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0850 finish.`); + done() + } + } + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0020 + * @tc.name : SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0020 + * @tc.desc : Use the addsymbolspan interface, set value: $r to introduce sys.media.ohos_trash_circle (click to + * add a system resource symbolSpan) + */ + it('SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0020', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0020 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle63") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0020 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0030 + * @tc.name : SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0030 + * @tc.desc : Use the addSymbolSpan interface to set value: $r to introduce app.media.img2 (click to add a custom + * symbolSpan) + */ + it('SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0030', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0030 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle64") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0030 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0040 + * @tc.name : SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0040 + * @tc.desc : Click on "Add symbolSpan" (to add a symbolSpan using the addSymbolSpan interface without setting + * the offset) + */ + it('SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0040', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0040 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle65") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button: Component = await driver.findComponent(ON.id('fontAttributeAndStyle65_01')); + await button.click() + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0040 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0060 + * @tc.name : SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0060 + * @tc.desc : Click on "fontsize++" / "fontsize--" (to adjust the fontsize in the "Add Symbolspan1" button) + * Click on "Add Symbolspan1" (to add a symbolspan using the addsymbolspan interface) + */ + it('SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0060', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0060 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle66") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributeAndStyle66_01')); + let button2: Component = await driver.findComponent(ON.id('fontAttributeAndStyle66_02')); + let button3: Component = await driver.findComponent(ON.id('fontAttributeAndStyle66_03')); + await button1.click() + windowSnap.snapShot() + await Utils.sleep(500) + await button2.click() + windowSnap.snapShot() + await Utils.sleep(500) + await button3.click() + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0060 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0070 + * @tc.name : SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0070 + * @tc.desc : Set fontSize to 10, -10, '10abc', '50%' use addSymbolSpan to add + */ + it('SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0070', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0070 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle67") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributeAndStyle67_01')); + let button2: Component = await driver.findComponent(ON.id('fontAttributeAndStyle67_02')); + let button3: Component = await driver.findComponent(ON.id('fontAttributeAndStyle67_03')); + let button4: Component = await driver.findComponent(ON.id('fontAttributeAndStyle67_04')); + await button1.click() + windowSnap.snapShot() + await Utils.sleep(500) + await button2.click() + windowSnap.snapShot() + await Utils.sleep(500) + await button3.click() + windowSnap.snapShot() + await Utils.sleep(500) + await button4.click() + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0070 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0080 + * @tc.name : SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0080 + * @tc.desc : Click on "fontcolor" and select from "color.red, color.black, color.pink, {color.red,color.black}, + * {color.red,color.black,color.pink}" (to set the fontcolor in the "Add symbolSpan1" button) + * Click on "Add symbolSpan1" (to add a symbolSpan using the addSymbolSpan interface) + */ + it('SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0080', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0080 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle68") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributeAndStyle68_01')); + let button2: Component = await driver.findComponent(ON.id('fontAttributeAndStyle68_02')); + await button1.click() + windowSnap.snapShot() + await Utils.sleep(500) + await button2.click() + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0080 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0090 + * @tc.name : SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0090 + * @tc.desc : Click on "Set fontcolor to 0xff0000" (to set the fontcolor for adding symbolspan2) + * Click on "Add Symbolspan2" (to add a symbolspan using the addsymbolspan interface) + */ + it('SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0090', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0090 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle69") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributeAndStyle69_01')); + await button1.click() + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0090 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0100 + * @tc.name : SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0100 + * @tc.desc : Set fontColor, '#008800','rgba(0,255,0,1)','rgb(0,0,255)',then use the addSymbolSpan interface + * to add the symbolSpan + */ + it('SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0100', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0100 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle70") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributeAndStyle70_01')); + let button2: Component = await driver.findComponent(ON.id('fontAttributeAndStyle70_02')); + let button3: Component = await driver.findComponent(ON.id('fontAttributeAndStyle70_03')); + await button1.click() + windowSnap.snapShot() + await Utils.sleep(500) + await button2.click() + windowSnap.snapShot() + await Utils.sleep(500) + await button3.click() + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0100 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0110 + * @tc.name : SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0110 + * @tc.desc : Click on "fontcolor $r("app.color.ColorRed")" (to set the fontcolor in the "Add symbolSpan3" button) + * Click on "Add symbolSpan3" (to add a symbolSpan using the addSymbolSpan interface) + */ + it('SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0110', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0110 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle71") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributeAndStyle71_01')); + await button1.click() + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0110 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0120 + * @tc.name : SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0120 + * @tc.desc : Click on "fontWeight+50" / "fontWeight-50" (to set the fontWeight in the "Add Symbolspan1" button) + * Click on "Add Symbolspan1" (to add a symbolspan using the addsymbolspan interface) + */ + it('SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0120', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0120 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle72") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributeAndStyle72_01')); + let button2: Component = await driver.findComponent(ON.id('fontAttributeAndStyle72_02')); + let button3: Component = await driver.findComponent(ON.id('fontAttributeAndStyle72_03')); + await button1.click() + windowSnap.snapShot() + await Utils.sleep(500) + await button2.click() + windowSnap.snapShot() + await Utils.sleep(500) + await button3.click() + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0120 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0130 + * @tc.name : SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0130 + * @tc.desc : Set fontWeight=("600","-100","400abc","500abc") and use the addSymbolSpan interface to add a + * symbolSpan. + */ + it('SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0130', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0130 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle73") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributeAndStyle73_01')); + let button2: Component = await driver.findComponent(ON.id('fontAttributeAndStyle73_02')); + let button3: Component = await driver.findComponent(ON.id('fontAttributeAndStyle73_03')); + let button4: Component = await driver.findComponent(ON.id('fontAttributeAndStyle73_04')); + await button1.click() + windowSnap.snapShot() + await Utils.sleep(500) + await button2.click() + windowSnap.snapShot() + await Utils.sleep(500) + await button3.click() + windowSnap.snapShot() + await Utils.sleep(500) + await button4.click() + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0130 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0140 + * @tc.name : SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0140 + * @tc.desc : Click on "fontWeight" (to toggle the fontWeight (Lighter, Normal, Regular, Medium, Bold, Bolder) + * in the "Add SymbolSpan1" button) + * Click on "Add symbolSpan1" (to add a symbolSpan using the addSymbolSpan interface) + */ + it('SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0140', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0140 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle74") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributeAndStyle74_01')); + await Utils.sleep(500) + for(let i = 0; i<5; i++){ + await button1.click() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + if(i==5){ + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0140 finish.`); + done() + } + } + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0150 + * @tc.name : SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0150 + * @tc.desc : Click on "fontsize++" / "fontsize--" (to set the fontsize in the "Update Symbolspan1" button) + * Long press to select an existing symbolspan + * Click on "Update Symbolspan1" (to add a symbolspan using the updatesymbolspan interface) + */ + it('SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0150', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0150 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle75") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributeAndStyle75_01')); + await Utils.sleep(500) + for(let i = 0; i<4; i++){ + await button1.click() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + if(i==4){ + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0150 finish.`); + done() + } + } + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0160 + * @tc.name : SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0160 + * @tc.desc : Set fontSize to 10, -10, '10abc', '50%' and call updatesymbolspan to update + */ + it('SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0160', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0160 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle76") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributeAndStyle76_01')); + await Utils.sleep(500) + for(let i = 0; i<4; i++){ + await button1.click() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + if(i==4){ + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0160 finish.`); + done() + } + } + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0170 + * @tc.name : SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0170 + * @tc.desc : Click "fontcolor" and select from "color.red, color.black, color.pink, {color.red,color.black}, + * {color.red,color.black,color.pink}" (to set the fontcolor in the "Update symbolspan1" button) + * Long press to select + * Click "Update symbolspan1" (use the updatesymbolspan interface to update the symbolspan) + */ + it('SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0170', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0170 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle77") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributeAndStyle77_01')); + for(let i = 0; i<3; i++){ + await button1.click() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + if(i==3){ + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0170 finish.`); + done() + } + } + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0180 + * @tc.name : SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0180 + * @tc.desc : Click "Set fontcolor to 0xff0000" (to set the fontcolor in the "Update symbolSpan2" function) + * Long press to select + * Click "Update symbolSpan2" (use the updateSymbolSpan interface to update the symbolSpan) + */ + it('SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0180', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0180 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle78") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributeAndStyle78_01')); + await button1.click() + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0180 finish.`); + done() + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0190 + * @tc.name : SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0190 + * @tc.desc : Set fontColor, '#008800','rgba(0,255,0,1)','rgb(0,0,255)',then use the updateSymbolSpan interface + * to update the symbolSpan + */ + it('SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0190', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0190 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle79") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributeAndStyle79_01')); + for(let i = 0; i<3; i++){ + await button1.click() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + if(i==3){ + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0190 finish.`); + done() + } + } + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0210 + * @tc.name : SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0210 + * @tc.desc : Click "fontWeight+50" / "fontWeight-50" (to set the fontWeight in the "Update symbolSpan1" button) + * Long press to select, then use the updateSymbolSpan interface to update the symbolSpan + */ + it('SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0210', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0210 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle80") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributeAndStyle80_01')); + for(let i = 0; i<6; i++){ + await button1.click() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + if(i==6){ + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0210 finish.`); + done() + } + } + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0220 + * @tc.name : SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0220 + * @tc.desc : Set fontWeight to '600', '-100', '400abc', '500%', and call updateSpanStyle to update the style + * of the selected content. + */ + it('SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0220', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0220 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle81") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributeAndStyle81_01')); + for(let i = 0; i<6; i++){ + await button1.click() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + if(i==6){ + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0220 finish.`); + done() + } + } + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0230 + * @tc.name : SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0230 + * @tc.desc : Click "fontWeight" (toggle the fontWeight (Lighter, Normal, Regular, Medium, Bold, Bolder) in + * the "Update symbolspan1" button) + * Long press to select, then click "Update symbolspan1" (use the updatesymbolspan interface to update the + * symbolspan) + */ + it('SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0230', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0230 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle82") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributeAndStyle82_01')); + for(let i = 0; i<6; i++){ + await button1.click() + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + if(i==6){ + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0230 finish.`); + done() + } + } + }) + + /* + * @tc.number : SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0360 + * @tc.name : SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0360 + * @tc.desc : Click "setTypingStyle" (use setTypingStyle to set fontsize to 30, fontcolor to red, + * and fontweight to 600), Click to add a "symbolspan" + */ + it('SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0360', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0360 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface03/fontAttributeAndStyle86") + await Utils.sleep(500) + let driver: Driver = Driver.create(); + await Utils.sleep(500) + let button1: Component = await driver.findComponent(ON.id('fontAttributeAndStyle86_01')); + let richEditor:Component = await driver.findComponent(ON.id('RichEditor_086')); + await button1.click() + await Utils.sleep(500) + await richEditor.inputText("999999999") + await Utils.sleep(500) + windowSnap.snapShot() + await Utils.sleep(500) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_RICHEDITOR_SYMBOL_SHUFFLEEDITING_0360 finish.`); + done() + }) + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIAttributeFontInterfaceTest/UIAttributeFontInterfaceColor.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIAttributeFontInterfaceTest/UIAttributeFontInterfaceColor.test.ets new file mode 100644 index 000000000..82da961a1 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIAttributeFontInterfaceTest/UIAttributeFontInterfaceColor.test.ets @@ -0,0 +1,100 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development 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 Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' + +export default function UIAttributeFontInterfaceColor() { + + describe('UIAttributeFontInterfaceColor', () => { + afterEach(async (done: Function) => { + if (Settings.windowClass == undefined) { + return + } + + Settings.windowClass.destroyWindow((err) => { + if (err.code) { + Logger.error('TEST', `Failed to destroy the window. Cause : ${JSON.stringify(err)}`) + return; + } + Logger.info('TEST', `Succeeded in destroy the window.`); + }) + await Utils.sleep(1000); + done() + }) + + /* + * @tc.number SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0010 + * @tc.name SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0010 + * @tc.desc set font color to blue + */ + it('SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0010', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0010 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface/UIAttributeFontInterface001") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0010 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0020 + * @tc.name SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0020 + * @tc.desc set font color to yellow + */ + it('SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0020', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0020 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface/UIAttributeFontInterface002") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0020 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0030 + * @tc.name SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0030 + * @tc.desc set font color to pink by resource + */ + it('SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0030', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0030 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface/UIAttributeFontInterface003") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0030 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0040 + * @tc.name SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0040 + * @tc.desc set font color to pink + */ + it('SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0040', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0040 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface/UIAttributeFontInterface004") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0040 finish.`); + done() + }) + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIAttributeFontInterfaceTest/UIAttributeFontInterfaceFontFamily.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIAttributeFontInterfaceTest/UIAttributeFontInterfaceFontFamily.test.ets new file mode 100644 index 000000000..0ede870e8 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIAttributeFontInterfaceTest/UIAttributeFontInterfaceFontFamily.test.ets @@ -0,0 +1,100 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development 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 Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' + +export default function UIAttributeFontInterfaceFontFamily() { + + describe('UIAttributeFontInterfaceFontFamily', () => { + afterEach(async (done: Function) => { + if (Settings.windowClass == undefined) { + return + } + + Settings.windowClass.destroyWindow((err) => { + if (err.code) { + Logger.error('TEST', `Failed to destroy the window. Cause : ${JSON.stringify(err)}`) + return; + } + Logger.info('TEST', `Succeeded in destroy the window.`); + }) + await Utils.sleep(1000); + done() + }) + + /* + * @tc.number SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0050 + * @tc.name SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0050 + * @tc.desc set fontFamily=app.media + */ + it('SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0050', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0050 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface/UIAttributeFontInterface050") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0050 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0060 + * @tc.name SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0060 + * @tc.desc set own fontFamily + */ + it('SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0060', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0060 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface/UIAttributeFontInterface060") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0060 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0070 + * @tc.name SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0070 + * @tc.desc set fontFamily to 'HarmonyOS Sans' + */ + it('SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0070', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0070 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface/UIAttributeFontInterface007") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0070 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0080 + * @tc.name SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0080 + * @tc.desc set fontFamily to 'Starling Burgess' + */ + it('SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0080', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0080 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface/UIAttributeFontInterface008") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0080 finish.`); + done() + }) + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIAttributeFontInterfaceTest/UIAttributeFontInterfaceSize.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIAttributeFontInterfaceTest/UIAttributeFontInterfaceSize.test.ets new file mode 100644 index 000000000..0369ca169 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIAttributeFontInterfaceTest/UIAttributeFontInterfaceSize.test.ets @@ -0,0 +1,115 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development 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 Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' + +export default function UIAttributeFontInterfaceSize() { + + describe('UIAttributeFontInterfaceSize', () => { + afterEach(async (done: Function) => { + if (Settings.windowClass == undefined) { + return + } + + Settings.windowClass.destroyWindow((err) => { + if (err.code) { + Logger.error('TEST', `Failed to destroy the window. Cause : ${JSON.stringify(err)}`) + return; + } + Logger.info('TEST', `Succeeded in destroy the window.`); + }) + await Utils.sleep(1000); + done() + }) + + /* + * @tc.number SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0090 + * @tc.name SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0090 + * @tc.desc set fontSize twice, first 5 ,second 10 + */ + it('SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0090', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0090 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface/UIAttributeFontInterface009") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0090 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0100 + * @tc.name SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0100 + * @tc.desc set fontSize to 5 + */ + it('SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0100', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0100 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface/UIAttributeFontInterface010") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0100 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0110 + * @tc.name SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0110 + * @tc.desc set fontSize by resource + */ + it('SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0011', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0011 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface/UIAttributeFontInterface011") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0010 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0120 + * @tc.name SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0120 + * @tc.desc set fontSize to '20%' + */ + it('SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0120', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0120 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface/UIAttributeFontInterface012") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0120 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0130 + * @tc.name SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0130 + * @tc.desc set fontSize to '5' + */ + it('SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0130', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0130 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface/UIAttributeFontInterface013") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0130 finish.`); + done() + }) + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIAttributeFontInterfaceTest/UIAttributeFontInterfaceStyle.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIAttributeFontInterfaceTest/UIAttributeFontInterfaceStyle.test.ets new file mode 100644 index 000000000..f86a792e8 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIAttributeFontInterfaceTest/UIAttributeFontInterfaceStyle.test.ets @@ -0,0 +1,85 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development 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 Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' + +export default function UIAttributeFontInterfaceStyle() { + + describe('UIAttributeFontInterfaceStyle', () => { + afterEach(async (done: Function) => { + if (Settings.windowClass == undefined) { + return + } + + Settings.windowClass.destroyWindow((err) => { + if (err.code) { + Logger.error('TEST', `Failed to destroy the window. Cause : ${JSON.stringify(err)}`) + return; + } + Logger.info('TEST', `Succeeded in destroy the window.`); + }) + await Utils.sleep(1000); + done() + }) + + /* + * @tc.number SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0140 + * @tc.name SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0140 + * @tc.desc set fontStyle twice, first ontStyle.Normal, second FontStyle.Italic + */ + it('SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0140', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0140 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface/UIAttributeFontInterface014") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0140 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0150 + * @tc.name SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0150 + * @tc.desc set fontStyle to FontStyle.Italic + */ + it('SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0150', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0150 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface/UIAttributeFontInterface015") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0150 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0160 + * @tc.name SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0160 + * @tc.desc set fontStyle to FontStyle.Normal + */ + it('SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0160', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0160 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface/UIAttributeFontInterface016") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0160 finish.`); + done() + }) + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIAttributeFontInterfaceTest/UIAttributeFontInterfaceWeight.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIAttributeFontInterfaceTest/UIAttributeFontInterfaceWeight.test.ets new file mode 100644 index 000000000..d46719bd3 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIAttributeFontInterfaceTest/UIAttributeFontInterfaceWeight.test.ets @@ -0,0 +1,265 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development 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 Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' + +export default function UIAttributeFontInterfaceWeight() { + + describe('UIAttributeFontInterfaceWeight', () => { + afterEach(async (done: Function) => { + if (Settings.windowClass == undefined) { + return + } + + Settings.windowClass.destroyWindow((err) => { + if (err.code) { + Logger.error('TEST', `Failed to destroy the window. Cause : ${JSON.stringify(err)}`) + return; + } + Logger.info('TEST', `Succeeded in destroy the window.`); + }) + await Utils.sleep(1000); + done() + }) + + /* + * @tc.number SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0170 + * @tc.name SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0170 + * @tc.desc set fontWeight to 500, 800 + */ + it('SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0170', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0170 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface/UIAttributeFontInterface017") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0170 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0180 + * @tc.name SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0180 + * @tc.desc set fontWeight to 1000 + */ + it('SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0180', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0180 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface/UIAttributeFontInterface018") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0180 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0190 + * @tc.name SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0190 + * @tc.desc set fontWeight to "400", "600" + */ + it('SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0190', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0190 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface/UIAttributeFontInterface019") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0190 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0200 + * @tc.name SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0200 + * @tc.desc set fontWeight to 'bolder' + */ + it('SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0200', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0200 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface/UIAttributeFontInterface020") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0200 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0210 + * @tc.name SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0210 + * @tc.desc set fontWeight to 'bold' + */ + it('SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0210', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0210 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface/UIAttributeFontInterface021") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0210 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0220 + * @tc.name SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0220 + * @tc.desc set fontWeight to "lighter" + */ + it('SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0220', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0220 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface/UIAttributeFontInterface022") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0220 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0230 + * @tc.name SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0230 + * @tc.desc set fontWeight to "medium" + */ + it('SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0230', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0230 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface/UIAttributeFontInterface023") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0230 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0240 + * @tc.name SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0240 + * @tc.desc set fontWeight to "regular" + */ + it('SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0240', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0240 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface/UIAttributeFontInterface024") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0240 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0250 + * @tc.name SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0250 + * @tc.desc set fontWeight to FontWeight.Bold + */ + it('SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0250', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0250 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface/UIAttributeFontInterface025") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0250 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0260 + * @tc.name SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0260 + * @tc.desc set fontWeight to FontWeight.Bolder + */ + it('SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0260', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0260 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface/UIAttributeFontInterface026") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0260 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0270 + * @tc.name SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0270 + * @tc.desc set fontWeight to FontWeight.Lighter + */ + it('SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0270', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0270 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface/UIAttributeFontInterface027") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0270 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0280 + * @tc.name SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0280 + * @tc.desc set fontWeight to FontWeight.Normal + */ + it('SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0280', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0280 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface/UIAttributeFontInterface028") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0280 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0290 + * @tc.name SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0290 + * @tc.desc set fontWeight to FontWeight.Regular + */ + it('SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0290', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0290 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface/UIAttributeFontInterface029") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0290 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0300 + * @tc.name SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0300 + * @tc.desc set fontWeight to any value + */ + it('SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0300', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0300 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface/UIAttributeFontInterface030") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0300 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0310 + * @tc.name SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0310 + * @tc.desc didn't set fontWeight + */ + it('SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0310', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0310 start.`); + Settings.createWindow("testability/pages/UIAttributeFontInterface/UIAttributeFontInterface031") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_INTERFACE_0310 finish.`); + done() + }) + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIAttributeFontSupportstageTest/UIAttributeFontSupportstage.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIAttributeFontSupportstageTest/UIAttributeFontSupportstage.test.ets new file mode 100644 index 000000000..8f2b8284b --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIAttributeFontSupportstageTest/UIAttributeFontSupportstage.test.ets @@ -0,0 +1,191 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development 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 Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' +import { Driver,MouseButton } from '@ohos.UiTest' + +export default function UIAttributeFontSupportstage() { + describe('UIAttributeFontSupportstage', () => { + afterEach(async (done: Function) => { + if (Settings.windowClass == undefined) { + return + } + Settings.windowClass.destroyWindow((err) => { + if (err.code) { + Logger.error('TEST', `Failed to destroy the window. Cause : ${JSON.stringify(err)}`) + return; + } + Logger.info('TEST', `Succeeded in destroy the window.`); + }) + await Utils.sleep(1000); + done() + }) + + /* + * @tc.number SUB_ACE_UI_ATTRIBUTES_FONT_SUPPORTSTAGE_0010 + * @tc.name SUB_ACE_UI_ATTRIBUTES_FONT_SUPPORTSTAGE_0010 + * @tc.desc text fontfamily + */ + it('SUB_ACE_UI_ATTRIBUTES_FONT_SUPPORTSTAGE_0010', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_SUPPORTSTAGE_0010 start.`); + Settings.createWindow("testability/pages/UIAttributeFontSupportstage/UIAttributeFontSupportstage001") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_SUPPORTSTAGE_0010 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_ATTRIBUTES_FONT_SUPPORTSTAGE_0020 + * @tc.name SUB_ACE_UI_ATTRIBUTES_FONT_SUPPORTSTAGE_0020 + * @tc.desc button fontfamily + */ + it('SUB_ACE_UI_ATTRIBUTES_FONT_SUPPORTSTAGE_0020', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_SUPPORTSTAGE_0020 start.`); + Settings.createWindow("testability/pages/UIAttributeFontSupportstage/UIAttributeFontSupportstage002") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_SUPPORTSTAGE_0020 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_ATTRIBUTES_FONT_SUPPORTSTAGE_0030 + * @tc.name SUB_ACE_UI_ATTRIBUTES_FONT_SUPPORTSTAGE_0030 + * @tc.desc textarea fontfamily + */ + it('SUB_ACE_UI_ATTRIBUTES_FONT_SUPPORTSTAGE_0030', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_SUPPORTSTAGE_0030 start.`); + Settings.createWindow("testability/pages/UIAttributeFontSupportstage/UIAttributeFontSupportstage003") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_SUPPORTSTAGE_0030 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_ATTRIBUTES_FONT_SUPPORTSTAGE_0040 + * @tc.name SUB_ACE_UI_ATTRIBUTES_FONT_SUPPORTSTAGE_0040 + * @tc.desc span fontfamily + */ + it('SUB_ACE_UI_ATTRIBUTES_FONT_SUPPORTSTAGE_0040', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_SUPPORTSTAGE_0040 start.`); + Settings.createWindow("testability/pages/UIAttributeFontSupportstage/UIAttributeFontSupportstage004") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_SUPPORTSTAGE_0040 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_ATTRIBUTES_FONT_SUPPORTSTAGE_0050 + * @tc.name SUB_ACE_UI_ATTRIBUTES_FONT_SUPPORTSTAGE_0050 + * @tc.desc textinput fontfamily + */ + it('SUB_ACE_UI_ATTRIBUTES_FONT_SUPPORTSTAGE_0050', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_SUPPORTSTAGE_0050 start.`); + Settings.createWindow("testability/pages/UIAttributeFontSupportstage/UIAttributeFontSupportstage005") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_SUPPORTSTAGE_0050 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_ATTRIBUTES_FONT_SUPPORTSTAGE_0060 + * @tc.name SUB_ACE_UI_ATTRIBUTES_FONT_SUPPORTSTAGE_0060 + * @tc.desc font-size + */ + it('SUB_ACE_UI_ATTRIBUTES_FONT_SUPPORTSTAGE_0060', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_SUPPORTSTAGE_0060 start.`); + Settings.createWindow("testability/pages/UIAttributeFontSupportstage/UIAttributeFontSupportstage006") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_SUPPORTSTAGE_0060 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_ATTRIBUTES_FONT_SUPPORTSTAGE_0070 + * @tc.name SUB_ACE_UI_ATTRIBUTES_FONT_SUPPORTSTAGE_0070 + * @tc.desc font-weight + */ + it('SUB_ACE_UI_ATTRIBUTES_FONT_SUPPORTSTAGE_0070', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_SUPPORTSTAGE_0070 start.`); + Settings.createWindow("testability/pages/UIAttributeFontSupportstage/UIAttributeFontSupportstage007") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_SUPPORTSTAGE_0070 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_ATTRIBUTES_FONT_SUPPORTSTAGE_0080 + * @tc.name SUB_ACE_UI_ATTRIBUTES_FONT_SUPPORTSTAGE_0080 + * @tc.desc font-color + */ + it('SUB_ACE_UI_ATTRIBUTES_FONT_SUPPORTSTAGE_0080', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_SUPPORTSTAGE_0080 start.`); + Settings.createWindow("testability/pages/UIAttributeFontSupportstage/UIAttributeFontSupportstage008") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_SUPPORTSTAGE_0080 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_ATTRIBUTES_FONT_SUPPORTSTAGE_0090 + * @tc.name SUB_ACE_UI_ATTRIBUTES_FONT_SUPPORTSTAGE_0090 + * @tc.desc menu fontfamily + */ + it('SUB_ACE_UI_ATTRIBUTES_FONT_SUPPORTSTAGE_0090', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_SUPPORTSTAGE_0090 start.`); + Settings.createWindow("testability/pages/UIAttributeFontSupportstage/UIAttributeFontSupportstage009") + await Utils.sleep(1000) + let driver: Driver = Driver.create() + await driver.mouseClick({x:600,y:700},MouseButton.MOUSE_BUTTON_LEFT) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_SUPPORTSTAGE_0090 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_ATTRIBUTES_FONT_SUPPORTSTAGE_0050 + * @tc.name SUB_ACE_UI_ATTRIBUTES_FONT_SUPPORTSTAGE_0050 + * @tc.desc search fontfamily + */ + it('SUB_ACE_UI_ATTRIBUTES_FONT_SUPPORTSTAGE_0100', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_SUPPORTSTAGE_0100 start.`); + Settings.createWindow("testability/pages/UIAttributeFontSupportstage/UIAttributeFontSupportstage010") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_FONT_SUPPORTSTAGE_0100 finish.`); + done() + }) + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIAttributePositionInterfaceTest/UIAttributePositionInterfaceTest.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIAttributePositionInterfaceTest/UIAttributePositionInterfaceTest.test.ets new file mode 100644 index 000000000..2fcdb156d --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIAttributePositionInterfaceTest/UIAttributePositionInterfaceTest.test.ets @@ -0,0 +1,123 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development 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 Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' +export default function UIAttributePositionInterfaceTest() { + + describe('UIAttributePositionInterfaceTest', () => { + afterEach(async (done: Function) => { + if (Settings.windowClass == undefined) { + return + } + + Settings.windowClass.destroyWindow((err) => { + if (err.code) { + Logger.error('TEST', `Failed to destroy the window. Cause : ${JSON.stringify(err)}`) + return; + } + Logger.info('TEST', `Succeeded in destroy the window.`); + }) + await Utils.sleep(1000); + done() + }) + /* + * @tc.number SUB_ACE_UI_ATTRIBUTES_POSITION_INTERFACE_0010 + * @tc.name SUB_ACE_UI_ATTRIBUTES_POSITION_INTERFACE_0010 + * @tc.desc set justifyContent=FlexAlign.Center + */ + it('SUB_ACE_UI_ATTRIBUTES_POSITION_INTERFACE_0010', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_POSITION_INTERFACE_0010 start.`); + Settings.createWindow("testability/pages/UIAttributePositionInterface/UIAttributePositionInterface001") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_POSITION_INTERFACE_0010 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_ATTRIBUTES_POSITION_INTERFACE_0020 + * @tc.name SUB_ACE_UI_ATTRIBUTES_POSITION_INTERFACE_0020 + * @tc.desc set justifyContent=FlexAlign.End + */ + it('SUB_ACE_UI_ATTRIBUTES_POSITION_INTERFACE_0020', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_POSITION_INTERFACE_0020 start.`); + Settings.createWindow("testability/pages/UIAttributePositionInterface/UIAttributePositionInterface002") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_POSITION_INTERFACE_0020 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_ATTRIBUTES_POSITION_INTERFACE_0030 + * @tc.name SUB_ACE_UI_ATTRIBUTES_POSITION_INTERFACE_0030 + * @tc.desc set justifyContent=FlexAlign.SpaceAround + */ + it('SUB_ACE_UI_ATTRIBUTES_POSITION_INTERFACE_0030', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_POSITION_INTERFACE_0030 start.`); + Settings.createWindow("testability/pages/UIAttributePositionInterface/UIAttributePositionInterface003") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_POSITION_INTERFACE_0030 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_ATTRIBUTES_POSITION_INTERFACE_0040 + * @tc.name SUB_ACE_UI_ATTRIBUTES_POSITION_INTERFACE_0040 + * @tc.desc set justifyContent=FlexAlign.SpaceBetween + */ + it('SUB_ACE_UI_ATTRIBUTES_POSITION_INTERFACE_0040', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_POSITION_INTERFACE_0040 start.`); + Settings.createWindow("testability/pages/UIAttributePositionInterface/UIAttributePositionInterface004") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_POSITION_INTERFACE_0040 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_ATTRIBUTES_POSITION_INTERFACE_0050 + * @tc.name SUB_ACE_UI_ATTRIBUTES_POSITION_INTERFACE_0050 + * @tc.desc set justifyContent=FlexAlign.SpaceEvenly + */ + it('SUB_ACE_UI_ATTRIBUTES_POSITION_INTERFACE_0050', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_POSITION_INTERFACE_0050 start.`); + Settings.createWindow("testability/pages/UIAttributePositionInterface/UIAttributePositionInterface005") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_POSITION_INTERFACE_0050 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_ATTRIBUTES_POSITION_INTERFACE_0060 + * @tc.name SUB_ACE_UI_ATTRIBUTES_POSITION_INTERFACE_0060 + * @tc.desc set justifyContent=FlexAlign.Start + */ + it('SUB_ACE_UI_ATTRIBUTES_POSITION_INTERFACE_0060', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_POSITION_INTERFACE_0060 start.`); + Settings.createWindow("testability/pages/UIAttributePositionInterface/UIAttributePositionInterface006") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_POSITION_INTERFACE_0060 finish.`); + done() + }) + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIAttributePositionSizeLayoutTest/UIAttributePositionSizeLayoutTest.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIAttributePositionSizeLayoutTest/UIAttributePositionSizeLayoutTest.test.ets new file mode 100644 index 000000000..92e3b67e2 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIAttributePositionSizeLayoutTest/UIAttributePositionSizeLayoutTest.test.ets @@ -0,0 +1,123 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development 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 Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' +export default function UIAttributePositionSizeLayoutTest() { + + describe('UIAttributePositionSizeLayoutTest', () => { + afterEach(async (done: Function) => { + if (Settings.windowClass == undefined) { + return + } + + Settings.windowClass.destroyWindow((err) => { + if (err.code) { + Logger.error('TEST', `Failed to destroy the window. Cause : ${JSON.stringify(err)}`) + return; + } + Logger.info('TEST', `Succeeded in destroy the window.`); + }) + await Utils.sleep(1000); + done() + }) + /* + * @tc.number SUB_ACE_UI_ATTRIBUTES_POSITION_SIZE_LAYOUTPROPERTIES_0010 + * @tc.name SUB_ACE_UI_ATTRIBUTES_POSITION_SIZE_LAYOUTPROPERTIES_0010 + * @tc.desc blank and container not set + */ + it('SUB_ACE_UI_ATTRIBUTES_POSITION_SIZE_LAYOUTPROPERTIES_0010', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_POSITION_SIZE_LAYOUTPROPERTIES_0010 start.`); + Settings.createWindow("testability/pages/UIAttributePositionSizeLayout/UIAttributePositionSizeLayout001") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_POSITION_SIZE_LAYOUTPROPERTIES_0010 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_ATTRIBUTES_POSITION_SIZE_LAYOUTPROPERTIES_0020 + * @tc.name SUB_ACE_UI_ATTRIBUTES_POSITION_SIZE_LAYOUTPROPERTIES_0020 + * @tc.desc container set width and width blank not set + */ + it('SUB_ACE_UI_ATTRIBUTES_POSITION_SIZE_LAYOUTPROPERTIES_0020', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_POSITION_SIZE_LAYOUTPROPERTIES_0020 start.`); + Settings.createWindow("testability/pages/UIAttributePositionSizeLayout/UIAttributePositionSizeLayout002") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_POSITION_SIZE_LAYOUTPROPERTIES_0020 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_ATTRIBUTES_POSITION_SIZE_LAYOUTPROPERTIES_0030 + * @tc.name SUB_ACE_UI_ATTRIBUTES_POSITION_SIZE_LAYOUTPROPERTIES_0030 + * @tc.desc column.width=infinite + */ + it('SUB_ACE_UI_ATTRIBUTES_POSITION_SIZE_LAYOUTPROPERTIES_0030', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_POSITION_SIZE_LAYOUTPROPERTIES_0030 start.`); + Settings.createWindow("testability/pages/UIAttributePositionSizeLayout/UIAttributePositionSizeLayout003") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_POSITION_SIZE_LAYOUTPROPERTIES_0030 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_ATTRIBUTES_POSITION_SIZE_LAYOUTPROPERTIES_0040 + * @tc.name SUB_ACE_UI_ATTRIBUTES_POSITION_SIZE_LAYOUTPROPERTIES_0040 + * @tc.desc minSize>maxSize + */ + it('SUB_ACE_UI_ATTRIBUTES_POSITION_SIZE_LAYOUTPROPERTIES_0040', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_POSITION_SIZE_LAYOUTPROPERTIES_0040 start.`); + Settings.createWindow("testability/pages/UIAttributePositionSizeLayout/UIAttributePositionSizeLayout004") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_POSITION_SIZE_LAYOUTPROPERTIES_0040 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_ATTRIBUTES_POSITION_SIZE_LAYOUTPROPERTIES_0050 + * @tc.name SUB_ACE_UI_ATTRIBUTES_POSITION_SIZE_LAYOUTPROPERTIES_0050 + * @tc.desc minSize { + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_POSITION_SIZE_LAYOUTPROPERTIES_0050 start.`); + Settings.createWindow("testability/pages/UIAttributePositionSizeLayout/UIAttributePositionSizeLayout005") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_POSITION_SIZE_LAYOUTPROPERTIES_0050 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_ATTRIBUTES_POSITION_SIZE_LAYOUTPROPERTIES_0060 + * @tc.name SUB_ACE_UI_ATTRIBUTES_POSITION_SIZE_LAYOUTPROPERTIES_0060 + * @tc.desc minSize { + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_POSITION_SIZE_LAYOUTPROPERTIES_0060 start.`); + Settings.createWindow("testability/pages/UIAttributePositionSizeLayout/UIAttributePositionSizeLayout006") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(2000) + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_POSITION_SIZE_LAYOUTPROPERTIES_0060 finish.`); + done() + }) + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIAttributePositionVisibilityTest/UIAttributePositionVisibility001.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIAttributePositionVisibilityTest/UIAttributePositionVisibility001.test.ets new file mode 100644 index 000000000..a88e0b8c0 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIAttributePositionVisibilityTest/UIAttributePositionVisibility001.test.ets @@ -0,0 +1,207 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development 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 Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' +export default function UIVisibilityInterface001() { + + describe('UIVisibilityInterface001', () => { + afterEach(async (done: Function) => { + if (Settings.windowClass == undefined) { + return + } + + Settings.windowClass.destroyWindow((err) => { + if (err.code) { + Logger.error('TEST', `Failed to destroy the window. Cause : ${JSON.stringify(err)}`) + return; + } + Logger.info('TEST', `Succeeded in destroy the window.`); + }) + await Utils.sleep(1000); + done() + }) + /* + * @tc.number SUB_ACE_UI_ATTRIBUTES_POSITION_VISIBILITY_0010 + * @tc.name SUB_ACE_UI_ATTRIBUTES_POSITION_VISIBILITY_0010 + * @tc.desc column Visibility.Hidden + */ + it('SUB_ACE_UI_ATTRIBUTES_POSITION_VISIBILITY_0010', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_POSITION_VISIBILITY_0010 start.`); + Settings.createWindow("testability/pages/UIAttributePositionVisibility/UIAttributePositionVisibility001") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_POSITION_VISIBILITY_0010 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_ATTRIBUTES_POSITION_VISIBILITY_0020 + * @tc.name SUB_ACE_UI_ATTRIBUTES_POSITION_VISIBILITY_0020 + * @tc.desc column Visibility.None + */ + it('SUB_ACE_UI_ATTRIBUTES_POSITION_VISIBILITY_0020', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_POSITION_VISIBILITY_0020 start.`); + Settings.createWindow("testability/pages/UIAttributePositionVisibility/UIAttributePositionVisibility002") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_POSITION_VISIBILITY_0020 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_ATTRIBUTES_POSITION_VISIBILITY_0030 + * @tc.name SUB_ACE_UI_ATTRIBUTES_POSITION_VISIBILITY_0030 + * @tc.desc column Visibility.Visible + */ + it('SUB_ACE_UI_ATTRIBUTES_POSITION_VISIBILITY_0030', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_POSITION_VISIBILITY_0030 start.`); + Settings.createWindow("testability/pages/UIAttributePositionVisibility/UIAttributePositionVisibility003") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_POSITION_VISIBILITY_0030 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_ATTRIBUTES_POSITION_VISIBILITY_0040 + * @tc.name SUB_ACE_UI_ATTRIBUTES_POSITION_VISIBILITY_0040 + * @tc.desc column Visibility not set + */ + it('SUB_ACE_UI_ATTRIBUTES_POSITION_VISIBILITY_0040', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_POSITION_VISIBILITY_0040 start.`); + Settings.createWindow("testability/pages/UIAttributePositionVisibility/UIAttributePositionVisibility004") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_POSITION_VISIBILITY_0040 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_ATTRIBUTES_POSITION_VISIBILITY_0050 + * @tc.name SUB_ACE_UI_ATTRIBUTES_POSITION_VISIBILITY_0050 + * @tc.desc grid Visibility.Hidden + */ + it('SUB_ACE_UI_ATTRIBUTES_POSITION_VISIBILITY_0050', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_POSITION_VISIBILITY_0050 start.`); + Settings.createWindow("testability/pages/UIAttributePositionVisibility/UIAttributePositionVisibility005") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_POSITION_VISIBILITY_0050 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_ATTRIBUTES_POSITION_VISIBILITY_0060 + * @tc.name SUB_ACE_UI_ATTRIBUTES_POSITION_VISIBILITY_0060 + * @tc.desc grid Visibility.None + */ + it('SUB_ACE_UI_ATTRIBUTES_POSITION_VISIBILITY_0060', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_POSITION_VISIBILITY_0060 start.`); + Settings.createWindow("testability/pages/UIAttributePositionVisibility/UIAttributePositionVisibility006") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_POSITION_VISIBILITY_0060 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_ATTRIBUTES_POSITION_VISIBILITY_0070 + * @tc.name SUB_ACE_UI_ATTRIBUTES_POSITION_VISIBILITY_0070 + * @tc.desc grid Visibility.Visible + */ + it('SUB_ACE_UI_ATTRIBUTES_POSITION_VISIBILITY_0070', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_POSITION_VISIBILITY_0060 start.`); + Settings.createWindow("testability/pages/UIAttributePositionVisibility/UIAttributePositionVisibility007") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_POSITION_VISIBILITY_0070 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_ATTRIBUTES_POSITION_VISIBILITY_0080 + * @tc.name SUB_ACE_UI_ATTRIBUTES_POSITION_VISIBILITY_0080 + * @tc.desc grid Visibility not set + */ + it('SUB_ACE_UI_ATTRIBUTES_POSITION_VISIBILITY_0080', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_POSITION_VISIBILITY_0060 start.`); + Settings.createWindow("testability/pages/UIAttributePositionVisibility/UIAttributePositionVisibility008") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_POSITION_VISIBILITY_0080 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_ATTRIBUTES_POSITION_VISIBILITY_0090 + * @tc.name SUB_ACE_UI_ATTRIBUTES_POSITION_VISIBILITY_0090 + * @tc.desc list Visibility.Hidden + */ + it('SUB_ACE_UI_ATTRIBUTES_POSITION_VISIBILITY_0090', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_POSITION_VISIBILITY_0090 start.`); + Settings.createWindow("testability/pages/UIAttributePositionVisibility/UIAttributePositionVisibility009") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_POSITION_VISIBILITY_0090 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_ATTRIBUTES_POSITION_VISIBILITY_0100 + * @tc.name SUB_ACE_UI_ATTRIBUTES_POSITION_VISIBILITY_0100 + * @tc.desc list Visibility.None + */ + it('SUB_ACE_UI_ATTRIBUTES_POSITION_VISIBILITY_0100', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_POSITION_VISIBILITY_0100 start.`); + Settings.createWindow("testability/pages/UIAttributePositionVisibility/UIAttributePositionVisibility0100") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_POSITION_VISIBILITY_0100 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_ATTRIBUTES_POSITION_VISIBILITY_0110 + * @tc.name SUB_ACE_UI_ATTRIBUTES_POSITION_VISIBILITY_0110 + * @tc.desc list Visibility.Visible + */ + it('SUB_ACE_UI_ATTRIBUTES_POSITION_VISIBILITY_0110', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_POSITION_VISIBILITY_0110 start.`); + Settings.createWindow("testability/pages/UIAttributePositionVisibility/UIAttributePositionVisibility0110") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_POSITION_VISIBILITY_0110 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_ATTRIBUTES_POSITION_VISIBILITY_0120 + * @tc.name SUB_ACE_UI_ATTRIBUTES_POSITION_VISIBILITY_0120 + * @tc.desc list Visibility not set + */ + it('SUB_ACE_UI_ATTRIBUTES_POSITION_VISIBILITY_0120', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_POSITION_VISIBILITY_0120 start.`); + Settings.createWindow("testability/pages/UIAttributePositionVisibility/UIAttributePositionVisibility0120") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_ATTRIBUTES_POSITION_VISIBILITY_0120 finish.`); + done() + }) + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentCommonattrDrawingLayoutTest/UIComponentCommonattrDrawingLayout.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentCommonattrDrawingLayoutTest/UIComponentCommonattrDrawingLayout.test.ets new file mode 100644 index 000000000..d5ca22d93 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentCommonattrDrawingLayoutTest/UIComponentCommonattrDrawingLayout.test.ets @@ -0,0 +1,446 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development 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 { afterEach, describe, it } from '@ohos/hypium' +import Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' + +export default function UIComponentCommonattrDrawingLayout() { + + describe('UIComponentCommonattrDrawingLayout', () => { + afterEach(async (done: Function) => { + if (Settings.windowClass == undefined) { + return + } + + Settings.windowClass.destroyWindow((err) => { + if (err.code) { + Logger.error('TEST', `Failed to destroy the window. Cause : ${JSON.stringify(err)}`) + return; + } + Logger.info('TEST', `Succeeded in destroy the window.`); + }) + await Utils.sleep(1000); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0010 + * @tc.name SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0010 + * @tc.desc position top:LengthMetrics.px(150),end:LengthMetrics.px(100) + */ + it('SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0010', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0010 start.`); + Settings.createWindow("testability/pages/UIComponentCommonattrDrawingLayout/UIComponentCommonattrDrawingLayout001") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0010 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0020 + * @tc.name SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0020 + * @tc.desc position top:LengthMetrics.vp(150),end:LengthMetrics.vp(100) + */ + it('SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0020', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0020 start.`); + Settings.createWindow("testability/pages/UIComponentCommonattrDrawingLayout/UIComponentCommonattrDrawingLayout002") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0020 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0030 + * @tc.name SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0030 + * @tc.desc position start:LengthMetrics.fp(50),bottom:LengthMetrics.fp(100) + */ + it('SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0030', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0030 start.`); + Settings.createWindow("testability/pages/UIComponentCommonattrDrawingLayout/UIComponentCommonattrDrawingLayout003") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0030 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0040 + * @tc.name SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0040 + * @tc.desc position end:LengthMetrics.percent(0.1),bottom:LengthMetrics.percent(0.2) + */ + it('SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0040', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0040 start.`); + Settings.createWindow("testability/pages/UIComponentCommonattrDrawingLayout/UIComponentCommonattrDrawingLayout004") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0040 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0050 + * @tc.name SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0050 + * @tc.desc position start、top、end、bottom:null + */ + it('SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0050', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0050 start.`); + Settings.createWindow("testability/pages/UIComponentCommonattrDrawingLayout/UIComponentCommonattrDrawingLayout005") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0050 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0060 + * @tc.name SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0060 + * @tc.desc position start、top、end、bottom:undefined + */ + it('SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0060', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0060 start.`); + Settings.createWindow("testability/pages/UIComponentCommonattrDrawingLayout/UIComponentCommonattrDrawingLayout006") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0060 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0070 + * @tc.name SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0070 + * @tc.desc position start:LengthMetrics.px(100),top:LengthMetrics.lpx(500) + */ + it('SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0070', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0070 start.`); + Settings.createWindow("testability/pages/UIComponentCommonattrDrawingLayout/UIComponentCommonattrDrawingLayout007") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0070 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0080 + * @tc.name SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0080 + * @tc.desc position start:LengthMetrics.px(-100),top:LengthMetrics.lpx(-50) + */ + it('SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0080', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0080 start.`); + Settings.createWindow("testability/pages/UIComponentCommonattrDrawingLayout/UIComponentCommonattrDrawingLayout008") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0080 finish.`); + done() + }) + + + /* + * @tc.number SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0090 + * @tc.name SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0090 + * @tc.desc markAnchor start: LengthMetrics.px(50), top: LengthMetrics.px(50) + */ + it('SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0090', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0090 start.`); + Settings.createWindow("testability/pages/UIComponentCommonattrDrawingLayout/UIComponentCommonattrDrawingLayout009") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0090 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0100 + * @tc.name SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0100 + * @tc.desc markAnchor start: LengthMetrics.vp(50), top: LengthMetrics.vp(50) + */ + it('SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0100', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0100 start.`); + Settings.createWindow("testability/pages/UIComponentCommonattrDrawingLayout/UIComponentCommonattrDrawingLayout010") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0100 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0110 + * @tc.name SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0110 + * @tc.desc markAnchor start: LengthMetrics.fp(50), top: LengthMetrics.fp(50) + */ + it('SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0110', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0110 start.`); + Settings.createWindow("testability/pages/UIComponentCommonattrDrawingLayout/UIComponentCommonattrDrawingLayout011") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0110 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0120 + * @tc.name SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0120 + * @tc.desc markAnchor start:LengthMetrics.percent(0.1),top:LengthMetrics.percent(0.2) + */ + it('SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0120', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0120 start.`); + Settings.createWindow("testability/pages/UIComponentCommonattrDrawingLayout/UIComponentCommonattrDrawingLayout012") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0120 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0130 + * @tc.name SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0130 + * @tc.desc start:undefined,top:undefined + */ + it('SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0130', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0130 start.`); + Settings.createWindow("testability/pages/UIComponentCommonattrDrawingLayout/UIComponentCommonattrDrawingLayout013") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0130 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0140 + * @tc.name SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0140 + * @tc.desc markAnchor start: LengthMetrics.px(-50), top: LengthMetrics.px(-50) + */ + it('SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0140', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0140 start.`); + Settings.createWindow("testability/pages/UIComponentCommonattrDrawingLayout/UIComponentCommonattrDrawingLayout014") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0140 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0150 + * @tc.name SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0150 + * @tc.desc offset start: LengthMetrics.px(50), top: LengthMetrics.px(50) + */ + it('SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0150', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0150 start.`); + Settings.createWindow("testability/pages/UIComponentCommonattrDrawingLayout/UIComponentCommonattrDrawingLayout015") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0150 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0160 + * @tc.name SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0160 + * @tc.desc offset start: LengthMetrics.fp(50), top: LengthMetrics.fp(50) + */ + it('SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0160', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0160 start.`); + Settings.createWindow("testability/pages/UIComponentCommonattrDrawingLayout/UIComponentCommonattrDrawingLayout016") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0160 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0170 + * @tc.name SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0170 + * @tc.desc offset start: LengthMetrics.vp(50), top: LengthMetrics.vp(50) + */ + it('SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0170', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0170 start.`); + Settings.createWindow("testability/pages/UIComponentCommonattrDrawingLayout/UIComponentCommonattrDrawingLayout017") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0170 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0180 + * @tc.name SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0180 + * @tc.desc offset start: undefined, top:undefined + */ + it('SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0180', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0180 start.`); + Settings.createWindow("testability/pages/UIComponentCommonattrDrawingLayout/UIComponentCommonattrDrawingLayout018") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0180 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0190 + * @tc.name SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0190 + * @tc.desc offset start:null, top: null + */ + it('SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0190', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0190 start.`); + Settings.createWindow("testability/pages/UIComponentCommonattrDrawingLayout/UIComponentCommonattrDrawingLayout019") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0190 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0200 + * @tc.name SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0200 + * @tc.desc offset start:LengthMetrics.percent(0.1),top:LengthMetrics.percent(0.2) + */ + it('SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0200', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0200 start.`); + Settings.createWindow("testability/pages/UIComponentCommonattrDrawingLayout/UIComponentCommonattrDrawingLayout020") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0200 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0210 + * @tc.name SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0210 + * @tc.desc offset start: LengthMetrics.vp(-50), top: LengthMetrics.vp(-50) + */ + it('SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0210', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0210 start.`); + Settings.createWindow("testability/pages/UIComponentCommonattrDrawingLayout/UIComponentCommonattrDrawingLayout021") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0210 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0220 + * @tc.name SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0220 + * @tc.desc set relativecontainer position + */ + it('SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0220', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0220 start.`); + Settings.createWindow("testability/pages/UIComponentCommonattrDrawingLayout/UIComponentCommonattrDrawingLayout022") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0220 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0230 + * @tc.name SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0230 + * @tc.desc set relativecontainer offset + */ + it('SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0230', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0230 start.`); + Settings.createWindow("testability/pages/UIComponentCommonattrDrawingLayout/UIComponentCommonattrDrawingLayout023") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0230 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0240 + * @tc.name SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0240 + * @tc.desc set relativecontainer markAnchor + */ + it('SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0240', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0240 start.`); + Settings.createWindow("testability/pages/UIComponentCommonattrDrawingLayout/UIComponentCommonattrDrawingLayout024") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0240 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0250 + * @tc.name SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0250 + * @tc.desc set image(position) + */ + it('SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0250', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0250 start.`); + Settings.createWindow("testability/pages/UIComponentCommonattrDrawingLayout/UIComponentCommonattrDrawingLayout025") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0250 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0260 + * @tc.name SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0260 + * @tc.desc set image(offset) + */ + it('SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0260', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0260 start.`); + Settings.createWindow("testability/pages/UIComponentCommonattrDrawingLayout/UIComponentCommonattrDrawingLayout026") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0260 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0270 + * @tc.name SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0270 + * @tc.desc set image(markAnchor) + */ + it('SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0270', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0270 start.`); + Settings.createWindow("testability/pages/UIComponentCommonattrDrawingLayout/UIComponentCommonattrDrawingLayout027") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_COMMONATTR_DRAWING_LAYOUTMIRRORING_0270 finish.`); + done() + }) + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentCreateColorTest/UIComponentCreateColor.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentCreateColorTest/UIComponentCreateColor.test.ets new file mode 100644 index 000000000..5e7c82356 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentCreateColorTest/UIComponentCreateColor.test.ets @@ -0,0 +1,159 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development 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 Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' +import { Component, Driver ,ON } from '@ohos.UiTest' + +export default function UIComponentCreateColor() { + + describe('UIComponentCreateColor', () => { + afterEach(async (done: Function) => { + if (Settings.windowClass == undefined) { + return + } + + Settings.windowClass.destroyWindow((err) => { + if (err.code) { + Logger.error('TEST', `Failed to destroy the window. Cause : ${JSON.stringify(err)}`) + return; + } + Logger.info('TEST', `Succeeded in destroy the window.`); + }) + await Utils.sleep(1000); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_CREATE_COLOR_0050 + * @tc.name SUB_ACE_UI_COMPONENT_CREATE_COLOR_0050 + * @tc.desc switch the color and set background color to the default color-textinput + */ + it('SUB_ACE_UI_COMPONENT_CREATE_COLOR_0050', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_CREATE_COLOR_0050 start.`); + Settings.createWindow("testability/pages/UIComponentCreateColor/UIComponentCreateColor005") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(100) + await Utils.sleep(100) + let ch1:Component = await driver.findComponent(ON.id('colorstr005')); + await driver.delayMs(100) + await ch1.click() + let button1:Component = await driver.findComponent(ON.id('caretColor005')); + await driver.delayMs(100) + await button1.click() + await ch1.click() + await Utils.sleep(100) + let btn:Component = await driver.findComponent(ON.id('setTextSelection005')); + await driver.delayMs(100) + await btn.click() + await Utils.sleep(100) + await ch1.click() + await Utils.sleep(100) + await button1.click() + await Utils.sleep(100) + await ch1.click() + await Utils.sleep(100) + await button1.click() + await Utils.sleep(100) + await ch1.click() + await Utils.sleep(100) + windowSnap.snapShot() + await Utils.sleep(100) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_CREATE_COLOR_0050 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_CREATE_COLOR_0100 + * @tc.name SUB_ACE_UI_COMPONENT_CREATE_COLOR_0100 + * @tc.desc switch the color and set background color to the default color-textarea + */ + it('SUB_ACE_UI_COMPONENT_CREATE_COLOR_0100', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_CREATE_COLOR_0100 start.`); + Settings.createWindow("testability/pages/UIComponentCreateColor/UIComponentCreateColor010") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(100) + await Utils.sleep(100) + let ch1:Component = await driver.findComponent(ON.id('colorstr010')); + await driver.delayMs(100) + await ch1.click() + let button1:Component = await driver.findComponent(ON.id('caretColor010')); + await driver.delayMs(100) + await button1.click() + await ch1.click() + await Utils.sleep(100) + let btn:Component = await driver.findComponent(ON.id('setTextSelection010')); + await driver.delayMs(100) + await btn.click() + await Utils.sleep(100) + await ch1.click() + await Utils.sleep(100) + await button1.click() + await Utils.sleep(100) + await ch1.click() + await Utils.sleep(100) + await button1.click() + await Utils.sleep(100) + await ch1.click() + await Utils.sleep(100) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_CREATE_COLOR_0100 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_CREATE_COLOR_0140 + * @tc.name SUB_ACE_UI_COMPONENT_CREATE_COLOR_0140 + * @tc.desc switch the color and set background color to the default color-search + */ + it('SUB_ACE_UI_COMPONENT_CREATE_COLOR_0140', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_CREATE_COLOR_0140 start.`); + Settings.createWindow("testability/pages/UIComponentCreateColor/UIComponentCreateColor014") + await Utils.sleep(1000) + let driver : Driver = Driver.create(); + await driver.delayMs(100) + await Utils.sleep(100) + let ch1:Component = await driver.findComponent(ON.id('colorstr014')); + await driver.delayMs(100) + await ch1.click() + await ch1.inputText('rgbcolor rgb text14') + let button1:Component = await driver.findComponent(ON.id('caretColor014')); + await driver.delayMs(100) + await button1.click() + await ch1.click() + await Utils.sleep(100) + let btn:Component = await driver.findComponent(ON.id('setTextSelection014')); + await driver.delayMs(100) + await btn.click() + await Utils.sleep(100) + await ch1.click() + await Utils.sleep(100) + await button1.click() + await Utils.sleep(100) + await ch1.click() + await Utils.sleep(100) + await button1.click() + await Utils.sleep(100) + await ch1.click() + await Utils.sleep(100) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_CREATE_COLOR_0140 finish.`); + done() + }) + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentDividerBlankInterfaceTest/UIComponentDividerBlankInterfaceColor.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentDividerBlankInterfaceTest/UIComponentDividerBlankInterfaceColor.test.ets new file mode 100644 index 000000000..360950a18 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentDividerBlankInterfaceTest/UIComponentDividerBlankInterfaceColor.test.ets @@ -0,0 +1,70 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development 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 Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' + +export default function UIComponentDividerBlankInterfaceColor() { + + describe('UIComponentDividerBlankInterfaceColor', () => { + afterEach(async (done: Function) => { + if (Settings.windowClass == undefined) { + return + } + + Settings.windowClass.destroyWindow((err) => { + if (err.code) { + Logger.error('TEST', `Failed to destroy the window. Cause : ${JSON.stringify(err)}`) + return; + } + Logger.info('TEST', `Succeeded in destroy the window.`); + }) + await Utils.sleep(1000); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_INTERFACE_0090 + * @tc.name SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_INTERFACE_0090 + * @tc.desc don't set the color of blank + */ + it('SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_INTERFACE_0090', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_INTERFACE_0090 start.`); + Settings.createWindow("testability/pages/UIComponentDividerBlankInterface/UIComponentDividerBlankInterface009") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_INTERFACE_0090 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_INTERFACE_0100 + * @tc.name SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_INTERFACE_0100 + * @tc.desc set the color of blank twice, first yellow, second blue + */ + it('SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_INTERFACE_0100', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_INTERFACE_0100 start.`); + Settings.createWindow("testability/pages/UIComponentDividerBlankInterface/UIComponentDividerBlankInterface010") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_INTERFACE_0100 finish.`); + done() + }) + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentDividerBlankInterfaceTest/UIComponentDividerBlankInterfaceMin.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentDividerBlankInterfaceTest/UIComponentDividerBlankInterfaceMin.test.ets new file mode 100644 index 000000000..0e3b91aa0 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentDividerBlankInterfaceTest/UIComponentDividerBlankInterfaceMin.test.ets @@ -0,0 +1,190 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development 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 Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' + +export default function UIComponentDividerBlankInterfaceMin() { + + describe('UIComponentDividerBlankInterfaceMin', () => { + afterEach(async (done: Function) => { + if (Settings.windowClass == undefined) { + return + } + + Settings.windowClass.destroyWindow((err) => { + if (err.code) { + Logger.error('TEST', `Failed to destroy the window. Cause : ${JSON.stringify(err)}`) + return; + } + Logger.info('TEST', `Succeeded in destroy the window.`); + }) + await Utils.sleep(1000); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_INTERFACE_0120 + * @tc.name SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_INTERFACE_0120 + * @tc.desc set min of blank to '50lpx' + */ + it('SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_INTERFACE_0120', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_INTERFACE_0120 start.`); + Settings.createWindow("testability/pages/UIComponentDividerBlankInterface/UIComponentDividerBlankInterface012") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_INTERFACE_0120 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_INTERFACE_0130 + * @tc.name SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_INTERFACE_0130 + * @tc.desc set min of blank to '50px' + */ + it('SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_INTERFACE_0130', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_INTERFACE_0130 start.`); + Settings.createWindow("testability/pages/UIComponentDividerBlankInterface/UIComponentDividerBlankInterface013") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_INTERFACE_0130 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_INTERFACE_0140 + * @tc.name SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_INTERFACE_0140 + * @tc.desc set min of blank to '50vp' + */ + it('SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_INTERFACE_0140', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_INTERFACE_0140 start.`); + Settings.createWindow("testability/pages/UIComponentDividerBlankInterface/UIComponentDividerBlankInterface014") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_INTERFACE_0140 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_INTERFACE_0150 + * @tc.name SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_INTERFACE_0150 + * @tc.desc set min of blank to '100vp', color to yellow + */ + it('SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_INTERFACE_0150', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_INTERFACE_0150 start.`); + Settings.createWindow("testability/pages/UIComponentDividerBlankInterface/UIComponentDividerBlankInterface015") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_INTERFACE_0150 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_INTERFACE_0160 + * @tc.name SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_INTERFACE_0160 + * @tc.desc set min of blank to '-20', color to yellow. The spacing is 0. + */ + it('SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_INTERFACE_0160', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_INTERFACE_0160 start.`); + Settings.createWindow("testability/pages/UIComponentDividerBlankInterface/UIComponentDividerBlankInterface016") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_INTERFACE_0160 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_INTERFACE_0170 + * @tc.name SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_INTERFACE_0170 + * @tc.desc set min of blank to '50%', color to yellow. The spacing is 0. + */ + it('SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_INTERFACE_0170', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_INTERFACE_0170 start.`); + Settings.createWindow("testability/pages/UIComponentDividerBlankInterface/UIComponentDividerBlankInterface017") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_INTERFACE_0170 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_INTERFACE_0180 + * @tc.name SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_INTERFACE_0180 + * @tc.desc set min of blank to '50abc', .color(Color.Yellow) + */ + it('SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_INTERFACE_0180', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_INTERFACE_0180 start.`); + Settings.createWindow("testability/pages/UIComponentDividerBlankInterface/UIComponentDividerBlankInterface018") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_INTERFACE_0180 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_INTERFACE_0190 + * @tc.name SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_INTERFACE_0190 + * @tc.desc set min of blank to 100, width to 50. The spacing is 100vp. + */ + it('SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_INTERFACE_0190', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_INTERFACE_0190 start.`); + Settings.createWindow("testability/pages/UIComponentDividerBlankInterface/UIComponentDividerBlankInterface019") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_INTERFACE_0190 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_INTERFACE_0200 + * @tc.name SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_INTERFACE_0200 + * @tc.desc set min of blank to '50fp', color to yellow. The spacing is 50fp. + */ + it('SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_INTERFACE_0200', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_INTERFACE_0200 start.`); + Settings.createWindow("testability/pages/UIComponentDividerBlankInterface/UIComponentDividerBlankInterface020") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_INTERFACE_0200 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_INTERFACE_0220 + * @tc.name SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_INTERFACE_0220 + * @tc.desc set width of blank to 50, don't set the width of row + */ + it('SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_INTERFACE_0220', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_INTERFACE_0200 start.`); + Settings.createWindow("testability/pages/UIComponentDividerBlankInterface/UIComponentDividerBlankInterface022") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_INTERFACE_0220 finish.`); + done() + }) + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentDividerBlankLayout/UIComponentDividerBlankLayout.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentDividerBlankLayout/UIComponentDividerBlankLayout.test.ets new file mode 100644 index 000000000..abb60f5d3 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentDividerBlankLayout/UIComponentDividerBlankLayout.test.ets @@ -0,0 +1,408 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development 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 Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' + +export default function UIComponentDividerBlankLayout() { + + describe('UIComponentDividerBlankLayout', () => { + afterEach(async (done: Function) => { + if (Settings.windowClass == undefined) { + return + } + + Settings.windowClass.destroyWindow((err) => { + if (err.code) { + Logger.error('TEST', `Failed to destroy the window. Cause : ${JSON.stringify(err)}`) + return; + } + Logger.info('TEST', `Succeeded in destroy the window.`); + }) + await Utils.sleep(1000); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_LAYOUT_0010 + * @tc.name SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_LAYOUT_0010 + * @tc.desc The width of the Row component is set, the Blank component is set only to min, + * and the width of the Row component is set to be greater than the spindle length of all subcomponents + */ + it('SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_LAYOUT_0010', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentDividerBlankLayout001 start.`); + Settings.createWindow("testability/pages/UIComponentDividerBlankLayout/UIComponentDividerBlankLayout001") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentDividerBlankLayout001 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_LAYOUT_0020 + * @tc.name SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_LAYOUT_0020 + * @tc.desc The width of the Row component is set, the Blank component is set only in min, + * and the width of the Row component is set less than the spindle length of all subcomponents + */ + it('SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_LAYOUT_0020', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentDividerBlankLayout002 start.`); + Settings.createWindow("testability/pages/UIComponentDividerBlankLayout/UIComponentDividerBlankLayout002") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentDividerBlankLayout002 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_LAYOUT_0030 + * @tc.name SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_LAYOUT_0030 + * @tc.desc The width of the Row component is set, the width of the Blank component is set only, + * and the width of the Row component is set to be greater than the spindle length of all subcomponents + */ + it('SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_LAYOUT_0030', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentDividerBlankLayout003 start.`); + Settings.createWindow("testability/pages/UIComponentDividerBlankLayout/UIComponentDividerBlankLayout003") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentDividerBlankLayout003 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_LAYOUT_0040 + * @tc.name SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_LAYOUT_0040 + * @tc.desc The width of the Row component is set, the width of the Blank component is set only, + * and the width of the Row component is set less than the spindle length of all subcomponents + */ + it('SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_LAYOUT_0040', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentDividerBlankLayout004 start.`); + Settings.createWindow("testability/pages/UIComponentDividerBlankLayout/UIComponentDividerBlankLayout004") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentDividerBlankLayout004 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_LAYOUT_0050 + * @tc.name SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_LAYOUT_0050 + * @tc.desc The width of the Row component is set, the width of the Blank component is set to min and width(min { + Logger.info('TEST', `UIComponentDividerBlankLayout005 start.`); + Settings.createWindow("testability/pages/UIComponentDividerBlankLayout/UIComponentDividerBlankLayout005") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentDividerBlankLayout005 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_LAYOUT_0060 + * @tc.name SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_LAYOUT_0060 + * @tc.desc The width of the Row component is set, the width of the Blank component is set to min and width(min { + Logger.info('TEST', `UIComponentDividerBlankLayout006 start.`); + Settings.createWindow("testability/pages/UIComponentDividerBlankLayout/UIComponentDividerBlankLayout006") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentDividerBlankLayout006 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_LAYOUT_0070 + * @tc.name SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_LAYOUT_0070 + * @tc.desc The width of the Row component is set, the width of the Blank component is set to min and width(min>width), + * and the width of the Row component is set to be greater than the spindle length of all subcomponents + */ + it('SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_LAYOUT_0070', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentDividerBlankLayout007 start.`); + Settings.createWindow("testability/pages/UIComponentDividerBlankLayout/UIComponentDividerBlankLayout007") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentDividerBlankLayout007 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_LAYOUT_0080 + * @tc.name SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_LAYOUT_0080 + * @tc.desc The width of the Row component is set, the width of the Blank component is set to min and width(min>width), + * and the width of the Row component is set to be less than the spindle length of all subcomponents + */ + it('SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_LAYOUT_0080', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentDividerBlankLayout008 start.`); + Settings.createWindow("testability/pages/UIComponentDividerBlankLayout/UIComponentDividerBlankLayout008") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentDividerBlankLayout008 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_LAYOUT_0090 + * @tc.name SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_LAYOUT_0090 + * @tc.desc The Row component sets the width, and only one Blank component in the Row component is displayed + */ + it('SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_LAYOUT_0090', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentDividerBlankLayout009 start.`); + Settings.createWindow("testability/pages/UIComponentDividerBlankLayout/UIComponentDividerBlankLayout009") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentDividerBlankLayout009 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_LAYOUT_0100 + * @tc.name SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_LAYOUT_0100 + * @tc.desc The width of the Row component is set, the sub-components are Text and Blank components, + * the Blank component is set only min, and the width of the Row component is set greater than the spindle length of all sub-components + */ + it('SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_LAYOUT_0100', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentDividerBlankLayout010 start.`); + Settings.createWindow("testability/pages/UIComponentDividerBlankLayout/UIComponentDividerBlankLayout010") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentDividerBlankLayout010 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_LAYOUT_0110 + * @tc.name SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_LAYOUT_0110 + * @tc.desc The width of the Row component is set, the sub-components are Text and Blank components, + * the Blank component is set only min, and the width of the Row component is set less than the spindle length of all sub-components + */ + it('SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_LAYOUT_0110', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentDividerBlankLayout011 start.`); + Settings.createWindow("testability/pages/UIComponentDividerBlankLayout/UIComponentDividerBlankLayout011") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentDividerBlankLayout011 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_LAYOUT_0120 + * @tc.name SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_LAYOUT_0120 + * @tc.desc The width of the Row component is set, the sub-components are Text and Blank components, + * the Blank component is set only width, and the width of the Row component is set less than the main axis length of the Text component + */ + it('SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_LAYOUT_0120', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentDividerBlankLayout012 start.`); + Settings.createWindow("testability/pages/UIComponentDividerBlankLayout/UIComponentDividerBlankLayout012") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentDividerBlankLayout012 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_LAYOUT_0130 + * @tc.name SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_LAYOUT_0130 + * @tc.desc The width of the Row component is set, the sub-components are Text and Blank components, + * the Blank component is set min and width, and the width of the Row component is set to be greater than the spindle length of all sub-components (min { + Logger.info('TEST', `UIComponentDividerBlankLayout013 start.`); + Settings.createWindow("testability/pages/UIComponentDividerBlankLayout/UIComponentDividerBlankLayout013") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentDividerBlankLayout013 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_LAYOUT_0140 + * @tc.name SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_LAYOUT_0140 + * @tc.desc The width of the Row component is set, the sub-components are Text and Blank components, + * the Blank component is set min and width, and the width of the Row component is set to be greater than the spindle length of all sub-components (min>width). + */ + it('SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_LAYOUT_0140', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentDividerBlankLayout014 start.`); + Settings.createWindow("testability/pages/UIComponentDividerBlankLayout/UIComponentDividerBlankLayout014") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentDividerBlankLayout014 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_LAYOUT_0150 + * @tc.name SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_LAYOUT_0150 + * @tc.desc The width of the Row component is set, the sub-components are Text and Blank components, + * the Blank component is set min and width, and the width of the Row component is set less than the spindle length of all sub-components (min { + Logger.info('TEST', `UIComponentDividerBlankLayout015 start.`); + Settings.createWindow("testability/pages/UIComponentDividerBlankLayout/UIComponentDividerBlankLayout015") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentDividerBlankLayout015 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_LAYOUT_0160 + * @tc.name SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_LAYOUT_0160 + * @tc.desc The width of the Row component is set, the sub-components are Text and Blank components, + * the Blank component is set min and width, and the width of the Row component is set less than the spindle length of all sub-components (min>width). + */ + it('SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_LAYOUT_0160', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentDividerBlankLayout016 start.`); + Settings.createWindow("testability/pages/UIComponentDividerBlankLayout/UIComponentDividerBlankLayout016") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentDividerBlankLayout016 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_LAYOUT_0170 + * @tc.name SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_LAYOUT_0170 + * @tc.desc The Row component sets the width, and the sub-components are multiple Blank components. + * The Blank component does not set min and width + */ + it('SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_LAYOUT_0170', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentDividerBlankLayout017 start.`); + Settings.createWindow("testability/pages/UIComponentDividerBlankLayout/UIComponentDividerBlankLayout017") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentDividerBlankLayout017 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_LAYOUT_0180 + * @tc.name SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_LAYOUT_0180 + * @tc.desc The Row component sets the width, the child components are multiple Blank components, + * and the Blank component sets only one width + */ + it('SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_LAYOUT_0180', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentDividerBlankLayout018 start.`); + Settings.createWindow("testability/pages/UIComponentDividerBlankLayout/UIComponentDividerBlankLayout018") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentDividerBlankLayout018 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_LAYOUT_0190 + * @tc.name SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_LAYOUT_0190 + * @tc.desc The width of the Row component is set, and the sub-components are multiple Blank components, + * and the Blank components are only set to different min + */ + it('SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_LAYOUT_0190', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentDividerBlankLayout019 start.`); + Settings.createWindow("testability/pages/UIComponentDividerBlankLayout/UIComponentDividerBlankLayout019") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentDividerBlankLayout019 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_LAYOUT_0200 + * @tc.name SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_LAYOUT_0200 + * @tc.desc The width of the Row component is set, the sub-components are multiple Blank components, + * the Blank components are set only for different min, and the width of the Row component is set to be greater than the spindle length of all sub-components + */ + it('SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_LAYOUT_0200', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentDividerBlankLayout020 start.`); + Settings.createWindow("testability/pages/UIComponentDividerBlankLayout/UIComponentDividerBlankLayout020") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentDividerBlankLayout020 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_LAYOUT_0210 + * @tc.name SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_LAYOUT_0210 + * @tc.desc The width of the Row component is set, the sub-components are multiple Blank components, + * the Blank components are set only for different min, and the width of the Row component is set less than the spindle length of all sub-components + */ + it('SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_LAYOUT_0210', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentDividerBlankLayout021 start.`); + Settings.createWindow("testability/pages/UIComponentDividerBlankLayout/UIComponentDividerBlankLayout021") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentDividerBlankLayout021 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_LAYOUT_0220 + * @tc.name SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_LAYOUT_0220 + * @tc.desc The width of the Row component is set, the sub-component is multiple Blank components, + * the min and width of the Blank component are set, and the width of the Row component is set to be greater than + * the spindle length of all sub-components (min { + Logger.info('TEST', `UIComponentDividerBlankLayout022 start.`); + Settings.createWindow("testability/pages/UIComponentDividerBlankLayout/UIComponentDividerBlankLayout022") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentDividerBlankLayout022 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_LAYOUT_0230 + * @tc.name SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_LAYOUT_0230 + * @tc.desc The width of the Row component is set, the sub-component is multiple Blank components, + * the Blank component is set min and width, and the min and width of the three blanks are set to the same value + */ + it('SUB_ACE_UI_COMPONENT_DIVIDER_BLANK_LAYOUT_0230', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentDividerBlankLayout023 start.`); + Settings.createWindow("testability/pages/UIComponentDividerBlankLayout/UIComponentDividerBlankLayout023") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentDividerBlankLayout023 finish.`); + done() + }) + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentDividerDividerInterface/UIComponentDividerDividerInterface.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentDividerDividerInterface/UIComponentDividerDividerInterface.test.ets new file mode 100644 index 000000000..59166109a --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentDividerDividerInterface/UIComponentDividerDividerInterface.test.ets @@ -0,0 +1,55 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development 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 Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' + +export default function UIComponentDividerDividerInterface() { + + describe('UIComponentDividerDividerInterface', () => { + afterEach(async (done: Function) => { + if (Settings.windowClass == undefined) { + return + } + + Settings.windowClass.destroyWindow((err) => { + if (err.code) { + Logger.error('TEST', `Failed to destroy the window. Cause : ${JSON.stringify(err)}`) + return; + } + Logger.info('TEST', `Succeeded in destroy the window.`); + }) + await Utils.sleep(1000); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_DIVIDER_DIVIDER_INTERFACE_0070 + * @tc.name SUB_ACE_UI_COMPONENT_DIVIDER_DIVIDER_INTERFACE_0070 + * @tc.desc Divider component strokeWidth is set several times + */ + it('SUB_ACE_UI_COMPONENT_DIVIDER_DIVIDER_INTERFACE_0070', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentDividerDividerInterface007 start.`); + Settings.createWindow("testability/pages/UIComponentDividerDividerInterface/UIComponentDividerDividerInterface007") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentDividerDividerInterface007 finish.`); + done() + }) + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentDividerDividerLayout/UIComponentDividerDividerLayout.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentDividerDividerLayout/UIComponentDividerDividerLayout.test.ets new file mode 100644 index 000000000..72efa1d29 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentDividerDividerLayout/UIComponentDividerDividerLayout.test.ets @@ -0,0 +1,85 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development 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 Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' + +export default function UIComponentDividerDividerLayout() { + + describe('UIComponentDividerDividerLayout', () => { + afterEach(async (done: Function) => { + if (Settings.windowClass == undefined) { + return + } + + Settings.windowClass.destroyWindow((err) => { + if (err.code) { + Logger.error('TEST', `Failed to destroy the window. Cause : ${JSON.stringify(err)}`) + return; + } + Logger.info('TEST', `Succeeded in destroy the window.`); + }) + await Utils.sleep(1000); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_DIVIDER_DIVIDER_LAYOUT_0010 + * @tc.name SUB_ACE_UI_COMPONENT_DIVIDER_DIVIDER_LAYOUT_0010 + * @tc.desc Divider do not set width or height + */ + it('SUB_ACE_UI_COMPONENT_DIVIDER_DIVIDER_LAYOUT_0010', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentDividerDividerLayout001 start.`); + Settings.createWindow("testability/pages/UIComponentDividerDividerLayout/UIComponentDividerDividerLayout001") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentDividerDividerLayout001 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_DIVIDER_DIVIDER_LAYOUT_0020 + * @tc.name SUB_ACE_UI_COMPONENT_DIVIDER_DIVIDER_LAYOUT_0020 + * @tc.desc Divider Specifies the width + */ + it('SUB_ACE_UI_COMPONENT_DIVIDER_DIVIDER_LAYOUT_0020', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentDividerDividerLayout002 start.`); + Settings.createWindow("testability/pages/UIComponentDividerDividerLayout/UIComponentDividerDividerLayout002") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentDividerDividerLayout002 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_DIVIDER_DIVIDER_LAYOUT_0030 + * @tc.name SUB_ACE_UI_COMPONENT_DIVIDER_DIVIDER_LAYOUT_0030 + * @tc.desc Divider Set a height + */ + it('SUB_ACE_UI_COMPONENT_DIVIDER_DIVIDER_LAYOUT_0030', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentDividerDividerLayout003 start.`); + Settings.createWindow("testability/pages/UIComponentDividerDividerLayout/UIComponentDividerDividerLayout003") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentDividerDividerLayout003 finish.`); + done() + }) + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentDividerStyle/UIComponentDividerStyle.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentDividerStyle/UIComponentDividerStyle.test.ets new file mode 100644 index 000000000..bcb8f8ca0 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentDividerStyle/UIComponentDividerStyle.test.ets @@ -0,0 +1,145 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development 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 Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' + +export default function UIComponentDividerStyle() { + + describe('UIComponentDividerStyle', () => { + afterEach(async (done: Function) => { + if (Settings.windowClass == undefined) { + return + } + + Settings.windowClass.destroyWindow((err) => { + if (err.code) { + Logger.error('TEST', `Failed to destroy the window. Cause : ${JSON.stringify(err)}`) + return; + } + Logger.info('TEST', `Succeeded in destroy the window.`); + }) + await Utils.sleep(1000); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_DIVIDER_STYLE_0290 + * @tc.name SUB_ACE_UI_COMPONENT_DIVIDER_STYLE_0290 + * @tc.desc Blankcolor passes in color.blue + */ + it('SUB_ACE_UI_COMPONENT_DIVIDER_STYLE_0290', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentDividerStyle029 start.`); + Settings.createWindow("testability/pages/UIComponentDividerStyle/UIComponentDividerStyle029") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentDividerStyle029 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_DIVIDER_STYLE_0300 + * @tc.name SUB_ACE_UI_COMPONENT_DIVIDER_STYLE_0300 + * @tc.desc The Blankcolor is passed in #0000ff + */ + it('SUB_ACE_UI_COMPONENT_DIVIDER_STYLE_0300', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentDividerStyle030 start.`); + Settings.createWindow("testability/pages/UIComponentDividerStyle/UIComponentDividerStyle030") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentDividerStyle030 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_DIVIDER_STYLE_0310 + * @tc.name SUB_ACE_UI_COMPONENT_DIVIDER_STYLE_0310 + * @tc.desc Blankcolor rgb(0, 0, 255) + */ + it('SUB_ACE_UI_COMPONENT_DIVIDER_STYLE_0310', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentDividerStyle031 start.`); + Settings.createWindow("testability/pages/UIComponentDividerStyle/UIComponentDividerStyle031") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentDividerStyle031 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_DIVIDER_STYLE_0320 + * @tc.name SUB_ACE_UI_COMPONENT_DIVIDER_STYLE_0320 + * @tc.desc The Blankcolor is passed 0x0000ff + */ + it('SUB_ACE_UI_COMPONENT_DIVIDER_STYLE_0320', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentDividerStyle032 start.`); + Settings.createWindow("testability/pages/UIComponentDividerStyle/UIComponentDividerStyle032") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentDividerStyle032 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_DIVIDER_STYLE_0330 + * @tc.name SUB_ACE_UI_COMPONENT_DIVIDER_STYLE_0330 + * @tc.desc Blankcolor refers to resources through resources + */ + it('SUB_ACE_UI_COMPONENT_DIVIDER_STYLE_0330', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentDividerStyle033 start.`); + Settings.createWindow("testability/pages/UIComponentDividerStyle/UIComponentDividerStyle033") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentDividerStyle033 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_DIVIDER_STYLE_0340 + * @tc.name SUB_ACE_UI_COMPONENT_DIVIDER_STYLE_0340 + * @tc.desc Blankcolor passed in an illegal string + */ + it('SUB_ACE_UI_COMPONENT_DIVIDER_STYLE_0340', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentDividerStyle034 start.`); + Settings.createWindow("testability/pages/UIComponentDividerStyle/UIComponentDividerStyle034") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentDividerStyle034 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_DIVIDER_STYLE_0350 + * @tc.name SUB_ACE_UI_COMPONENT_DIVIDER_STYLE_0350 + * @tc.desc Blank sets the background color + */ + it('SUB_ACE_UI_COMPONENT_DIVIDER_STYLE_0350', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentDividerStyle035 start.`); + Settings.createWindow("testability/pages/UIComponentDividerStyle/UIComponentDividerStyle035") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentDividerStyle035 finish.`); + done() + }) + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentLayoutColumnInterfaceTest/UIComponentLayoutColumnInterface.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentLayoutColumnInterfaceTest/UIComponentLayoutColumnInterface.test.ets new file mode 100644 index 000000000..18a66ebd0 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentLayoutColumnInterfaceTest/UIComponentLayoutColumnInterface.test.ets @@ -0,0 +1,476 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development 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 Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' + +export default function UIComponentLayoutColumnInterface() { + + describe('UIComponentLayoutColumnInterface', () => { + afterEach(async (done: Function) => { + if (Settings.windowClass == undefined) { + return + } + + Settings.windowClass.destroyWindow((err) => { + if (err.code) { + Logger.error('TEST', `Failed to destroy the window. Cause : ${JSON.stringify(err)}`) + return; + } + Logger.info('TEST', `Succeeded in destroy the window.`); + }) + await Utils.sleep(1000); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0030 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0030 + * @tc.desc set alignItems = HorizontalAlign.Center + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0030', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0030 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutColumnInterface/UIComponentLayoutColumnInterface003") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0030 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0040 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0040 + * @tc.desc set alignItems = HorizontalAlign.End + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0040', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0040 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutColumnInterface/UIComponentLayoutColumnInterface004") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0040 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0050 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0050 + * @tc.desc set alignItems = HorizontalAlign.Start + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0050', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0050 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutColumnInterface/UIComponentLayoutColumnInterface005") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0050 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0060 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0060 + * @tc.desc set alignItems = FlexAlign.Center + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0060', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0060 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutColumnInterface/UIComponentLayoutColumnInterface006") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0060 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0070 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0070 + * @tc.desc set alignItems = FlexAlign.End + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0070', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0070 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutColumnInterface/UIComponentLayoutColumnInterface007") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0070 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0080 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0080 + * @tc.desc set alignItems = FlexAlign.SpaceAround + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0080', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0080 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutColumnInterface/UIComponentLayoutColumnInterface008") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0080 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0090 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0090 + * @tc.desc set justifyContent = FlexAlign.SpaceBetween + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0090', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0090 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutColumnInterface/UIComponentLayoutColumnInterface009") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0090 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0100 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0100 + * @tc.desc set justifyContent = FlexAlign.SpaceEvenly + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0100', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0100 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutColumnInterface/UIComponentLayoutColumnInterface010") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0100 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0110 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0110 + * @tc.desc set justifyContent = FlexAlign.Start + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0110', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0110 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutColumnInterface/UIComponentLayoutColumnInterface011") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0110 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0120 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0120 + * @tc.desc set column = space:null + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0120', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0120 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutColumnInterface/UIComponentLayoutColumnInterface012") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0120 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0130 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0130 + * @tc.desc set column = space:undefined + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0130', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0130 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutColumnInterface/UIComponentLayoutColumnInterface013") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0130 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0140 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0140 + * @tc.desc set column = space:30 + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0140', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0140 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutColumnInterface/UIComponentLayoutColumnInterface014") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0140 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0150 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0150 + * @tc.desc set column = space:0 + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0150', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0150 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutColumnInterface/UIComponentLayoutColumnInterface015") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0150 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0160 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0160 + * @tc.desc set column = space:70 + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0160', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0160 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutColumnInterface/UIComponentLayoutColumnInterface016") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0160 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0170 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0170 + * @tc.desc set column = space:30 + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0170', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0170 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutColumnInterface/UIComponentLayoutColumnInterface017") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0170 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0180 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0180 + * @tc.desc set column = space:30vp + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0180', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0180 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutColumnInterface/UIComponentLayoutColumnInterface018") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0180 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0190 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0190 + * @tc.desc set column = space:50px + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0190', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0190 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutColumnInterface/UIComponentLayoutColumnInterface019") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0190 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0200 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0200 + * @tc.desc set column = 70fp + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0200', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0200 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutColumnInterface/UIComponentLayoutColumnInterface020") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0200 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0210 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0210 + * @tc.desc set column = space: 70lpx + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0210', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0210 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutColumnInterface/UIComponentLayoutColumnInterface021") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0210 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0220 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0220 + * @tc.desc set column = "3" + "0" + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0220', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0220 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutColumnInterface/UIComponentLayoutColumnInterface022") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0220 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0230 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0230 + * @tc.desc set column = space:fp2px(10) + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0230', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0230 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutColumnInterface/UIComponentLayoutColumnInterface023") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0230 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0240 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0240 + * @tc.desc set column = space:lpx2px(10) + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0240', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0240 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutColumnInterface/UIComponentLayoutColumnInterface024") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0240 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0250 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0250 + * @tc.desc set column = space:px2lpx(10) + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0250', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0250 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutColumnInterface/UIComponentLayoutColumnInterface025") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0250 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0260 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0260 + * @tc.desc set column = space:px2lpx(10) + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0260', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0260 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutColumnInterface/UIComponentLayoutColumnInterface026") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0260 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0270 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0270 + * @tc.desc set column = space:px2vp(10) + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0270', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0270 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutColumnInterface/UIComponentLayoutColumnInterface027") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0270 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0280 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0280 + * @tc.desc set column = space:vp2px(10) + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0280', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0280 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutColumnInterface/UIComponentLayoutColumnInterface028") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0280 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0290 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0290 + * @tc.desc set column = space: space:"80%" + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0290', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0290 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutColumnInterface/UIComponentLayoutColumnInterface029") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0290 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0300 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0300 + * @tc.desc set column = space:abc + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0300', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0300 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutColumnInterface/UIComponentLayoutColumnInterface030") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0300 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0310 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0310 + * @tc.desc set column = space:30 + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0310', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0310 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutColumnInterface/UIComponentLayoutColumnInterface031") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_INTERFACE_0310 finish.`); + done() + }) + }) +} + diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentLayoutColumnLayoutTest/UIComponentLayoutColumnLayout.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentLayoutColumnLayoutTest/UIComponentLayoutColumnLayout.test.ets new file mode 100644 index 000000000..960250329 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentLayoutColumnLayoutTest/UIComponentLayoutColumnLayout.test.ets @@ -0,0 +1,625 @@ +/* +* Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development 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 Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' + +export default function UIComponentLayoutColumnLayout() { + + describe('UIComponentLayoutColumnLayout', () => { + afterEach(async (done: Function) => { + if (Settings.windowClass == undefined) { + return + } + + Settings.windowClass.destroyWindow((err) => { + if (err.code) { + Logger.error('TEST', `Failed to destroy the window. Cause : ${JSON.stringify(err)}`) + return; + } + Logger.info('TEST', `Succeeded in destroy the window.`); + }) + await Utils.sleep(1000); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0010 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0010 + * @tc.desc Set ItemAlign.End + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0010', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0010 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout001") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0010 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0020 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0020 + * @tc.desc Set ItemAlign.Start + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0020', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0020 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout002") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0020 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0030 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0030 + * @tc.desc Set .alignItems(HorizontalAlign.End) + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0030', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0030 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout003") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0030 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0040 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0040 + * @tc.desc Set .alignItems(HorizontalAlign.Start) + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0040', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0040 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout004") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0040 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0050 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0050 + * @tc.desc Set alignItems(HorizontalAlign.End) + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0050', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0050 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout005") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0050 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0060 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0060 + * @tc.desc Set flexGrow(2),layoutWeight(3).layoutWeight(2).layoutWeight(1) + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0060', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0060 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout006") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0060 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0070 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0070 + * @tc.desc NoSet flexBasis + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0070', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0070 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout007") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0070 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0080 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0080 + * @tc.desc Set flexBasis = -5 + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0080', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0080 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout008") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0080 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0090 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0090 + * @tc.desc Set flexBasis = null + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0090', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0090 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout009") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0090 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0100 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0100 + * @tc.desc Set flexBasis = undefined + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0100', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0100 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout010") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0100 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0110 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0110 + * @tc.desc Set flexBasis = 0 + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0110', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0110 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout011") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0110 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0120 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0120 + * @tc.desc Set flexBasis = 100 + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0120', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0120 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout012") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0120 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0130 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0130 + * @tc.desc Set flexBasis = "200fp" + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0130', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0130 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout013") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0130 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0140 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0140 + * @tc.desc Set flexBasis = "200lpx" + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0140', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0140 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout014") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0140 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0150 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0150 + * @tc.desc Set flexBasis = "200px" + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0150', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0150 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout015") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0150 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0160 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0160 + * @tc.desc Set flexBasis = "200vp" + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0160', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0160 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout016") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0160 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0170 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0170 + * @tc.desc Set flexBasis = auto + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0170', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0170 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout017") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0170 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0180 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0180 + * @tc.desc Set .layoutWeight(3).layoutWeight(2).layoutWeight(1) + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0180', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0180 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout018") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0180 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0190 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0190 + * @tc.desc Set layoutWeight(0.5) + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0190', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0190 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout019") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0190 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0200 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0200 + * @tc.desc Set layoutWeight(≥1) + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0200', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0200 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout020") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0200 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0210 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0210 + * @tc.desc Set .layoutWeight("3").layoutWeight("2").layoutWeight("1") + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0210', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0210 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout021") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0210 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0220 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0220 + * @tc.desc Set layoutWeight("3") + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0220', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0220 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout022") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0220 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0230 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0230 + * @tc.desc NoSet flexGrow + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0230', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0230 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout023") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0230 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0250 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0250 + * @tc.desc Set flexShrink(2),column1、2、3.layoutWeight(3).layoutWeight(2).layoutWeight(1) + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0250', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0250 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout025") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0250 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0260 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0260 + * @tc.desc Set .displayPriority(1).displayPriority(0.5).displayPriority(1) + */ + // it('SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0260', 0, async (done: Function) => { + // Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0260 start.`); + // Settings.createWindow("testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout026") + // await Utils.sleep(1000) + // windowSnap.snapShot() + // await Utils.sleep(1000) + // Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0260 finish.`); + // done() + // }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0270 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0270 + * @tc.desc Set .displayPriority(1).displayPriority(2).displayPriority(3) + */ + // it('SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0270', 0, async (done: Function) => { + // Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0270 start.`); + // Settings.createWindow("testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout027") + // await Utils.sleep(1000) + // windowSnap.snapShot() + // await Utils.sleep(1000) + // Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0270 finish.`); + // done() + // }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0280 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0280 + * @tc.desc Set flexGrow = -5 + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0280', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0280 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout028") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0280 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0290 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0290 + * @tc.desc Set flexGrow = null + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0290', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0190 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout029") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0290 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0300 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0300 + * @tc.desc Set flexGrow = undefined + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0300', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0300 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout030") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0300 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0310 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0310 + * @tc.desc Set flexGrow = 3、2、1 + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0310', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0310 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout031") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0310 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0320 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0320 + * @tc.desc Set flexShink = -5 + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0320', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0320 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout032") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0320 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0330 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0330 + * @tc.desc Set flexShink =null + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0330', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0330 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout033") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0330 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0340 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0340 + * @tc.desc Set flexShink = undefined + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0340', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0340 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout034") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0340 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0350 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0350 + * @tc.desc Set flexShink = 1 + */ +/* it('SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0350', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0350 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout035") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0350 finish.`); + done() + })*/ + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0360 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0360 + * @tc.desc Set layoutWeight = "aaa" + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0360', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0360 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout036") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0360 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0370 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0370 + * @tc.desc Set layoutWeight = -10 + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0370', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0370 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout037") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0370 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0380 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0380 + * @tc.desc Set layoutWeight = null + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0380', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0380 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout038") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0380 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0390 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0390 + * @tc.desc Set layoutWeight = undefined + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0390', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0390 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout039") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0390 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0400 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0400 + * @tc.desc Set .layoutWeight(3) .layoutWeight(2) + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0400', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0400 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutColumnLayout/UIComponentLayoutColumnLayout040") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0400 finish.`); + done() + }) + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface.test.ets new file mode 100644 index 000000000..f6ce93413 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface.test.ets @@ -0,0 +1,1057 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development 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 Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' + +export default function UIComponentLayoutFlexInterface() { + + describe('UIComponentLayoutFlexInterface', () => { + afterEach(async (done: Function) => { + if (Settings.windowClass == undefined) { + return + } + + Settings.windowClass.destroyWindow((err) => { + if (err.code) { + Logger.error('TEST', `Failed to destroy the window. Cause : ${JSON.stringify(err)}`) + return; + } + Logger.info('TEST', `Succeeded in destroy the window.`); + }) + await Utils.sleep(1000); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0010 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0010 + * @tc.desc Layout arrangement, spindle arrangement: + * The parent component has a fixed layout with four subelements, + * justifyContent attribute value is set to FlexAlign.Center for the parent component + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0010', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentLayoutFlexInterface001 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface001") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentLayoutFlexInterface001 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0020 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0020 + * @tc.desc Layout arrangement, spindles arrangement: Parent component layout fixed, + * layout four child subelements, space value non-0 positive, + * justifyContent attribute value for the parent component was set FlexAlign.End + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0020', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentLayoutFlexInterface002 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface002") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentLayoutFlexInterface002 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0030 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0030 + * @tc.desc Layout arrangement, spindle arrangement: The parent component layout is fixed, + * layout four child child elements, space value is non-0 positive, + * justifyContent attribute value is set to FlexAlign.SpaceAround for the parent component + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0030', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentLayoutFlexInterface003 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface003") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentLayoutFlexInterface003 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0040 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0040 + * @tc.desc Layout arrangement, spindle arrangement: The parent component layout is fixed, + * the layout of four child child elements, the space value is non-0 positive, + * justifyContent attribute value is FlexAlign.SpaceBetween for the parent component + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0040', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentLayoutFlexInterface004 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface004") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentLayoutFlexInterface004 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0050 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0050 + * @tc.desc Layout arrangement, spindle arrangement: The parent component layout is fixed, + * the layout of four child child elements, the space value is non-0 positive, + * justifyContent attribute value is set to FlexAlign.SpaceEvenly for the parent component + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0050', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentLayoutFlexInterface005 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface005") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentLayoutFlexInterface005 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0060 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0060 + * @tc.desc Layout arrangement, spindle arrangement: + * The parent component has a fixed layout with four child subelements, + * justifyContent is set to FlexAlign.Start for the parent component + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0060', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentLayoutFlexInterface006 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface006") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentLayoutFlexInterface006 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0070 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0070 + * @tc.desc The alignSelf property is set to ItemAlign.Auto. + * The AlignSelf property is set to itemalign.auto for the child elements + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0070', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentLayoutFlexInterface007 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface007") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentLayoutFlexInterface007 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0080 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0080 + * @tc.desc Layout arrangement, cross axis arrangement: the parent component layout is fixed, + * layout four child elements, space value is non-0 positive, + * set the alignSelf attribute value for the child element to itemAligne.baseline + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0080', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentLayoutFlexInterface008 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface008") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentLayoutFlexInterface008 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0090 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0090 + * @tc.desc The alignSelf property is set to ItemAlign.Center. + * The AlignSelf property is set to itemalign.center. + * The AlignSelf property Alignself is set to itemalign.center + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0090', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentLayoutFlexInterface009 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface009") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentLayoutFlexInterface009 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0100 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0100 + * @tc.desc The alignSelf property is set to ItemAlign.End. + * The AlignSelf property is set to itemalign.end. + * The AlignSelf property sets the AlignSelf property to itemalign.end + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0100', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentLayoutFlexInterface010 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface010") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentLayoutFlexInterface010 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0110 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0110 + * @tc.desc The alignSelf property is set to ItemAlign.Start. + * The AlignSelf property is set to itemalign.start. + * The AlignSelf property sets the AlignSelf property to itemalign.start + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0110', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentLayoutFlexInterface011 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface011") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentLayoutFlexInterface011 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0120 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0120 + * @tc.desc The alignSelf property is set to ItemAlign.Stretch. + * The AlignSelf property is set to itemalign.stretch. + * The AlignSelf property Alignself is set to itemalign.stretch + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0120', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentLayoutFlexInterface012 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface012") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentLayoutFlexInterface012 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0190 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0190 + * @tc.desc The alignContent property is set to FlexAlign.Center. + * The Aligncontent property is set to flexalign.center. + * The AlignContent property is set to flexAlign.center + * when the parent component is aligned with four child elements, the space value is non-zero, + * the wrap property is FlexWrap.Wrap, there is more space in the alignContent axis + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0190', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentLayoutFlexInterface019 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface019") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentLayoutFlexInterface019 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0200 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0200 + * @tc.desc The alignContent property is set to FlexAlign.End. + * The Aligncontent property is set to flexalign.end. + * The AlignContent property is aligned to flexAlign.end + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0200', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentLayoutFlexInterface020 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface020") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentLayoutFlexInterface020 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0210 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0210 + * @tc.desc The alignContent property is aligned to FlexAlign.SpaceAround. + * The AlignContent property is set to flexAlign.spacearound. The AlignContent property is aligned to flexAlign.spacearound + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0210', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentLayoutFlexInterface021 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface021") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentLayoutFlexInterface021 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0220 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0220 + * @tc.desc The alignContent property is set to FlexAlign.SpaceBetween. + * The Aligncontent property is set to flexalign.spacebetween. The AlignContent property is set to flexalign.spacebetween + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0220', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentLayoutFlexInterface022 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface022") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentLayoutFlexInterface022 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0230 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0230 + * @tc.desc The alignContent property is set to FlexAlign.SpaceEvenly. + * The Aligncontent property is set to flexalign.spaceevenly. The AlignContent property is set to flexalign.spaceevenly + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0230', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentLayoutFlexInterface023 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface023") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentLayoutFlexInterface023 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0240 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0240 + * @tc.desc The alignContent property is set to FlexAlign.Start. + * The Aligncontent property is set to flexalign.start. The AlignContent property is aligned to flexalign.start + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0240', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentLayoutFlexInterface024 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface024") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentLayoutFlexInterface024 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0250 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0250 + * @tc.desc The parent container and four child elements are arranged. + * The sum of the principal axes of the child elements is greater than the principal axes of the container. + * The wrap property is FlexWrap.Wrap and the Direction property is FlexDirection.Column&& Direction.rtl + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0250', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentLayoutFlexInterface025 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface025") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentLayoutFlexInterface025 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0260 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0260 + * @tc.desc Layout the parent container and the four child, + * child elements spindle's size is greater than the sum of container size, wrap attributes for FlexWrap. Wrap, + * set the direction attribute to FlexDirection. ColumnReverse && direction. The Rtl, to take effect + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0260', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentLayoutFlexInterface026 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface026") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentLayoutFlexInterface026 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0270 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0270 + * @tc.desc Layout of the parent container and the four child, child elements spindle's size is greater than the sum of container size, + * wrap attributes for FlexWrap. Wrap, set the direction attribute to FlexDirection. ColumnReverse, to take effect + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0270', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentLayoutFlexInterface027 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface027") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentLayoutFlexInterface027 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0280 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0280 + * @tc.desc The parent container and four child elements are arranged. + * The sum of the main axes of the child elements is greater than the main axes of the container. + * The wrap property is FlexWrap.Wrap and the direction property is FlexDirection.Column + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0280', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentLayoutFlexInterface028 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface028") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentLayoutFlexInterface028 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0290 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0290 + * @tc.desc The parent container and four child elements are arranged. + * The sum of the principal axes of the child elements is greater than the principal axes of the container. + * The wrap property is FlexWrap.Wrap and the Direction property is FlexDirection.Row&& Direction.rtl + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0290', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentLayoutFlexInterface029 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface029") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentLayoutFlexInterface029 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0300 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0300 + * @tc.desc The parent container and four child elements are arranged. + * The sum of the child element spindles is greater than the container spindles. The wrap attribute is FlexWrap.Wrap, + * and the Direction attribute is FlexDirection.RowReverse&&Direction.Rtl + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0300', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentLayoutFlexInterface030 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface030") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentLayoutFlexInterface030 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0310 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0310 + * @tc.desc The parent container and four child elements are arranged. + * The sum of the child element spindles is greater than the container spindles. + * The wrap attribute is FlexWrap.Wrap and the direction attribute is FlexDirection.RowReverse + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0310', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentLayoutFlexInterface031 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface031") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentLayoutFlexInterface031 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0320 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0320 + * @tc.desc The parent container and four child elements are arranged. + * The sum of the principal axes of the child elements is greater than the principal axes of the container. + * The wrap property is FlexWrap.Wrap and the direction property is FlexDirection.Row + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0320', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentLayoutFlexInterface032 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface032") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentLayoutFlexInterface032 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0330 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0330 + * @tc.desc Lay out the parent container with four child elements, + * the sum of the child element spindle sizes is greater than the container spindle sizes, + * set the wrap property to FlexWrap.NoWrap to take effect + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0330', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentLayoutFlexInterface033 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface033") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentLayoutFlexInterface033 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0340 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0340 + * @tc.desc Layout parent container and four child elements, + * the sum of child element spindles size is greater than the container spindles size, + * set the wrap property to FlexWrap.WrapReverse takes effect + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0340', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentLayoutFlexInterface034 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface034") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentLayoutFlexInterface034 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0350 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0350 + * @tc.desc Layout parent container and four child elements, + * the sum of the child element spindle size is greater than the container spindle size, + * set the wrap property to FlexWrap.Wrap effect + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0350', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentLayoutFlexInterface035 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface035") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentLayoutFlexInterface035 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0360 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0360 + * @tc.desc Flexibility and layout priority, the parent container layout is fixed, + * the layout of four child elements, and the layoutWeight setting value is between 0 and 1 + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0360', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentLayoutFlexInterface036 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface036") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentLayoutFlexInterface036 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0370 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0370 + * @tc.desc Flexibility and layout priority, parent container layout fixed, + * layout four child elements, four child elements do not set flexGrow + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0370', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentLayoutFlexInterface037 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface037") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentLayoutFlexInterface037 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0380 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0380 + * @tc.desc Flexibility and layout priority, the parent container layout is fixed, + * layout four child elements, four child elements set flexGrow 4, 3, 2, 1 + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0380', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentLayoutFlexInterface038 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface038") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentLayoutFlexInterface038 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0390 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0390 + * @tc.desc Flexibility and layout priority, parent container layout fixed, + * layout four child elements, four child elements set flexGrow to null + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0390', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentLayoutFlexInterface039 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface039") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentLayoutFlexInterface039 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0400 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0400 + * @tc.desc Flexibility and layout priority, the parent container layout is fixed, layout four child elements, + * child elements 1, 2, 3, 4 set respectively.layoutWeight(4).layoutWeight(3).layoutWeight(2).layoutWeight(1) + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0400', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentLayoutFlexInterface040 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface040") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentLayoutFlexInterface040 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0410 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0410 + * @tc.desc Flexibility and layout priority, the parent container layout is fixed, layout four child elements, + * child elements 1, 2, 3, 4 set respectively.layoutWeight(" 4 ").layoutWeight(" 2 ").layoutWeight(" 1 "). + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0410', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentLayoutFlexInterface041 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface041") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentLayoutFlexInterface041 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0420 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0420 + * @tc.desc Flexibility and layout priority, the parent container layout is fixed, layout four child elements, + * child elements 1 and 2 are set respectively.layoutWeight(3) and.Layoutweight (2), child elements 3 and 4 are not set + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0420', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentLayoutFlexInterface042 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface042") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentLayoutFlexInterface042 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0430 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0430 + * @tc.desc Flexibility and layout priority, the parent container layout is fixed, layout four child elements, + * child elements 1 and 2 set layoutWeight(" 3 ") and.layoutWeight(" 2 "), child elements :3, 4 are not set + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0430', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentLayoutFlexInterface043 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface043") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentLayoutFlexInterface043 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0440 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0440 + * @tc.desc Flexibility and layout priority, parent container layout fixed, + * layout four child elements, child element 1 set flexBasis to 0 + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0440', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentLayoutFlexInterface044 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface044") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentLayoutFlexInterface044 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0450 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0450 + * @tc.desc Flexibility and layout priority, parent container layout fixed, + * layout four child elements, child element 1 set flexBasis to 100 + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0450', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentLayoutFlexInterface045 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface045") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentLayoutFlexInterface045 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0460 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0460 + * @tc.desc Flexibility and layout priority, parent container layout fixed, + * layout four child elements, child element 1 set flexBasis to 200fp + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0460', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentLayoutFlexInterface046 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface046") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentLayoutFlexInterface046 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0470 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0470 + * @tc.desc Flexibility and layout priority, parent container layout fixed, + * layout four child elements, child element 1 set flexBasis to 200lpx + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0470', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentLayoutFlexInterface047 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface047") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentLayoutFlexInterface047 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0480 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0480 + * @tc.desc Flexibility and layout priority, parent container layout fixed, + * layout four child elements, child element 1 set flexBasis to 200px + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0480', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentLayoutFlexInterface048 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface048") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentLayoutFlexInterface048 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0490 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0490 + * @tc.desc Flexibility and layout priority, the parent container layout is fixed, + * layout four child elements, child element 1 set flexBasis to 200vp + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0490', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentLayoutFlexInterface049 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface049") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentLayoutFlexInterface049 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0500 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0500 + * @tc.desc Flexibility and layout priority, the parent container layout is fixed, + * layout four child elements, child element 1 set flexBasis to auto + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0500', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentLayoutFlexInterface050 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface050") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentLayoutFlexInterface050 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0510 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0510 + * @tc.desc Flexibility and layout priority, the parent container layout is fixed, layout four child elements, + * child element 1 set layoutWeight (≥1), the rest of the child elements are not set + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0510', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentLayoutFlexInterface051 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface051") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentLayoutFlexInterface051 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0520 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0520 + * @tc.desc Flexibility and layout priority, parent container layout fixed, + * layout four child elements, child elements 3 and 4 set flexShink value to 1 + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0520', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentLayoutFlexInterface052 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface052") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentLayoutFlexInterface052 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0530 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0530 + * @tc.desc Flexibility and layout priority, the parent container layout is fixed, + * layout four child elements, child elements do not set flexBasis attribute + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0530', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentLayoutFlexInterface053 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface053") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentLayoutFlexInterface053 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0540 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0540 + * @tc.desc Flexibility and layout priority, the parent container layout is fixed, + * layout four child elements, child elements do not set flexShink attribute + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0540', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentLayoutFlexInterface054 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface054") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentLayoutFlexInterface054 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0550 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0550 + * @tc.desc Flexibility and layout priority, parent container layout fixed, + * layout four child elements, child elements set both flexGrow/flexGrow and layoutWeight + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0550', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentLayoutFlexInterface055 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface055") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentLayoutFlexInterface055 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0560 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0560 + * @tc.desc Flexibility and layout priority, parent container layout fixed, + * layout four child elements, child elements set flexGrow/flexShink and layoutWeight + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0560', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentLayoutFlexInterface056 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface056") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentLayoutFlexInterface056 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0570 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0570 + * @tc.desc Flexibility and layout priority, the parent container layout is fixed, + * layout four child elements, child elements set flexBasis to -5 + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0570', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentLayoutFlexInterface057 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface057") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentLayoutFlexInterface057 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0580 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0580 + * @tc.desc Flexibility and layout priority, parent container layout fixed, + * layout four child elements, child elements set flexBasis to null + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0580', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentLayoutFlexInterface058 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface058") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentLayoutFlexInterface058 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0590 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0590 + * @tc.desc Flexibility and layout priority, parent container layout fixed, + * layout four child elements, child elements set flexBasis undefined + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0590', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentLayoutFlexInterface059 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface059") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentLayoutFlexInterface059 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0600 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0600 + * @tc.desc Flexibility and layout priority, parent container layout fixed, + * layout four child elements, child elements set flexGrow to -5 + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0600', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentLayoutFlexInterface060 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface060") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentLayoutFlexInterface060 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0610 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0610 + * @tc.desc Elasticity and layout priority, parent container layout fixed, + * layout four child elements, child elements set flexGrow to undefined + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0610', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentLayoutFlexInterface061 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface061") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentLayoutFlexInterface061 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0620 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0620 + * @tc.desc Flexibility and layout priority, parent container layout fixed, + * layout four child elements, child elements set flexShink to -5 + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0620', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentLayoutFlexInterface062 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface062") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentLayoutFlexInterface062 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0630 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0630 + * @tc.desc Flexibility and layout priority, parent container layout fixed, + * layout four child elements, child elements set flexShink to null + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0630', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentLayoutFlexInterface063 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface063") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentLayoutFlexInterface063 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0640 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0640 + * @tc.desc Elasticity and layout priority, parent container layout fixed, + * layout four child elements, child elements set flexShink to undefined + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0640', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentLayoutFlexInterface064 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface064") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentLayoutFlexInterface064 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0650 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0650 + * @tc.desc Flexibility and layout priority, the parent container layout is fixed, + * layout four child elements, child elements set the layoutWeight value to -10 + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0650', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentLayoutFlexInterface065 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface065") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentLayoutFlexInterface065 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0660 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0660 + * @tc.desc Flexibility and layout priority, parent container layout fixed, + * layout four child elements, child elements set the layoutWeight value to null + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0660', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentLayoutFlexInterface066 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface066") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentLayoutFlexInterface066 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0670 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0670 + * @tc.desc Elastic ability and layout priority, the parent container layout is fixed, + * the layout of four child elements, the child element set layoutWeight value is undefined + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0670', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentLayoutFlexInterface067 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface067") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentLayoutFlexInterface067 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0680 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0680 + * @tc.desc Flexibility and layout priority, parent container layout fixed, + * layout four child elements, child elements set layoutWeight value to "aaa" + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_FLEX_INTERFACE_0680', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentLayoutFlexInterface068 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutFlexInterface/UIComponentLayoutFlexInterface068") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentLayoutFlexInterface068 finish.`); + done() + }) + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentLayoutModifierTest/UIComponentLayoutModifier.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentLayoutModifierTest/UIComponentLayoutModifier.test.ets new file mode 100644 index 000000000..148ff4ba6 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentLayoutModifierTest/UIComponentLayoutModifier.test.ets @@ -0,0 +1,1094 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development 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 { afterEach, describe, it } from '@ohos/hypium' +import Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' +import { Component, Driver, ON } from '@ohos.UiTest' + +export default function UIComponentLayoutModifierTest() { + + describe('UIComponentLayoutModifierTest', () => { + afterEach(async (done: Function) => { + if (Settings.windowClass == undefined) { + return + } + + Settings.windowClass.destroyWindow((err) => { + if (err.code) { + Logger.error('TEST', `Failed to destroy the window. Cause : ${JSON.stringify(err)}`) + return; + } + Logger.info('TEST', `Succeeded in destroy the window.`); + }) + await Utils.sleep(1000); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0160 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0160 + * @tc.desc Set a custom Modifier to a component, and the corresponding properties of the component will take effect + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0160', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0160 start.`); + Settings.createWindow("testability/pages/UiComponentLayoutModifier/UiComponentLayoutModifier016") + let driver: Driver = Driver.create() + let button: Component = await driver.findComponent(ON.id('UiComponentLayoutModifier016')) + await button.click() + let button_modifier: Component = await driver.findComponent(ON.id('UiComponentLayoutModifier016_modifier')) + for(let i=0;i<4;i++){ + await button_modifier.click() + } + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0160 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0170 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0170 + * @tc.desc Set a custom Modifier to a component, and the corresponding properties of the component will take effect + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0170', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0170 start.`); + Settings.createWindow("testability/pages/UiComponentLayoutModifier/UiComponentLayoutModifier017") + let driver: Driver = Driver.create() + let button: Component = await driver.findComponent(ON.id('UiComponentLayoutModifier017')) + await button.click() + let button_modifier: Component = await driver.findComponent(ON.id('UiComponentLayoutModifier017_modifier')) + for(let i=0;i<4;i++){ + await button_modifier.click() + } + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0170 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0180 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0180 + * @tc.desc A custom modifier for two components + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0180', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0180 start.`); + Settings.createWindow("testability/pages/UiComponentLayoutModifier/UiComponentLayoutModifier018") + let driver: Driver = Driver.create() + let button: Component = await driver.findComponent(ON.id('UiComponentLayoutModifier018')) + await button.click() + let button_modifier: Component = await driver.findComponent(ON.id('UiComponentLayoutModifier018_modifier')) + for(let i=0;i<4;i++){ + await button_modifier.click() + } + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0180 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0190 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0190 + * @tc.desc New MyModifier(). hideTitleBar (xx) dynamically switches without perception + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0190', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0190 start.`); + Settings.createWindow("testability/pages/UiComponentLayoutModifier/UiComponentLayoutModifier019") + let driver: Driver = Driver.create() + let button: Component = await driver.findComponent(ON.id('UiComponentLayoutModifier019')) + await button.click() + let button_modifier: Component = await driver.findComponent(ON.id('UiComponentLayoutModifier019_modifier')) + for(let i=0;i<4;i++){ + await button_modifier.click() + } + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0190 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0200 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0200 + * @tc.desc Setting attributiModifier twice is the union of attributes + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0200', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0200 start.`); + Settings.createWindow("testability/pages/UiComponentLayoutModifier/UiComponentLayoutModifier020") + let driver: Driver = Driver.create() + let button: Component = await driver.findComponent(ON.id('UiComponentLayoutModifier020')) + await button.click() + let button_modifier1: Component = await driver.findComponent(ON.id('UiComponentLayoutModifier020_modifier1')) + let button_modifier2: Component = await driver.findComponent(ON.id('UiComponentLayoutModifier020_modifier2')) + await button_modifier1.click() + await button_modifier2.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0200 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0210 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0210 + * @tc.desc Mixed settings + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0210', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0210 start.`); + Settings.createWindow("testability/pages/UiComponentLayoutModifier/UiComponentLayoutModifier021") + let driver: Driver = Driver.create() + let button: Component = await driver.findComponent(ON.id('UiComponentLayoutModifier021')) + await button.click() + let button_modifier: Component = await driver.findComponent(ON.id('UiComponentLayoutModifier021_modifier')) + await button_modifier.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0210 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0220 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0220 + * @tc.desc Set the same attribute based on the second one + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0220', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0220 start.`); + Settings.createWindow("testability/pages/UiComponentLayoutModifier/UiComponentLayoutModifier022") + let driver: Driver = Driver.create() + let button: Component = await driver.findComponent(ON.id('UiComponentLayoutModifier022')) + await button.click() + let button_modifier1: Component = await driver.findComponent(ON.id('UiComponentLayoutModifier022_modifier1')) + let button_modifier2: Component = await driver.findComponent(ON.id('UiComponentLayoutModifier022_modifier2')) + await button_modifier1.click() + await button_modifier2.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0220 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0230 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0230 + * @tc.desc set alignContent 【TopStart、Top、TopEnd、Start、Center、End、BottomStart、Bottom、BottomEnd】 + */ + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0230 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0230 + * @tc.desc set alignContent 【TopStart、Top、TopEnd、Start、Center、End、BottomStart、Bottom、BottomEnd】 + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0230', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0230 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutModifier/UIComponentLayoutModifier023") + await Utils.sleep(1000) + let driver: Driver = Driver.create() + let button: Component = await driver.findComponent(ON.id('UIComponentLayoutModifier023')) + for (let i = 0; i < 9; i++) { + await button.click() + } + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0230 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0240 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0240 + * @tc.desc set alignContent 【TopStart、null、End、undefined、BottomEnd】 + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0240', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0240 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutModifier/UIComponentLayoutModifier024") + await Utils.sleep(1000) + let driver: Driver = Driver.create() + let button: Component = await driver.findComponent(ON.id('UIComponentLayoutModifier024')) + for (let i = 0; i < 5; i++) { + await button.click() + } + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0240 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0250 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0250 + * @tc.desc new MyModifier().alignContent(Alignment.Bottom) + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0250', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0250 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutModifier/UIComponentLayoutModifier025") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0250 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0260 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0260 + * @tc.desc set two stack + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0260', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0260 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutModifier/UIComponentLayoutModifier026") + await Utils.sleep(1000) + let driver: Driver = Driver.create() + let button: Component = await driver.findComponent(ON.id('UIComponentLayoutModifier026')) + for (let i = 0; i < 9; i++) { + await button.click() + } + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0260 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0270 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0270 + * @tc.desc new MyModifier().alignContent + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0270', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0270 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutModifier/UIComponentLayoutModifier027") + await Utils.sleep(1000) + let driver: Driver = Driver.create() + let button: Component = await driver.findComponent(ON.id('UIComponentLayoutModifier027')) + for (let i = 0; i < 9; i++) { + await button.click() + } + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0270 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0280 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0280 + * @tc.desc attributeModifier + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0280', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0280 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutModifier/UIComponentLayoutModifier028") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0280 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0290 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0290 + * @tc.desc Modifier + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0290', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0290 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutModifier/UIComponentLayoutModifier029") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0290 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0300 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0300 + * @tc.desc attributeModifier(myModiferl)setGroup1=alignContent BottomStart,setGroup2 set alignContent End + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0300', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0300 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutModifier/UIComponentLayoutModifier030") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0300 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0310 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0310 + * @tc.desc StepperItemModifier, Set a custom Modifier to a component, and the corresponding properties of the component will take effect + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0310', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0310 start.`); + Settings.createWindow("testability/pages/UiComponentLayoutModifier/UiComponentLayoutModifier031") + let driver: Driver = Driver.create() + let nextButton: Component = await driver.findComponent(ON.text('Next')); + await nextButton.click(); + await Utils.sleep(2000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0310 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0320 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0320 + * @tc.desc Set custom Modifier to a component (outlier) + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0320', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0320 start.`); + Settings.createWindow("testability/pages/UiComponentLayoutModifier/UiComponentLayoutModifier032") + let driver: Driver = Driver.create() + let button: Component = await driver.findComponent(ON.id('UiComponentLayoutModifier032')) + await button.doubleClick() + await Utils.sleep(1000) + let nextButton: Component = await driver.findComponent(ON.text('Next')); + await nextButton.click(); + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0320 finish.`); + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0390 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0390 + * @tc.desc set 【ItemAlign.Start、ItemAlign.Center、ItemAlign.End、ItemAlign.Stretch】 + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0390', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0390 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutModifier/UIComponentLayoutModifier039") + await Utils.sleep(1000) + let driver: Driver = Driver.create() + let button: Component = await driver.findComponent(ON.id('modifier039')) + for (let i = 0; i <4; i++) { + await button.click() + } + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0390 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0330 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0330 + * @tc.desc Custom modifier attribute value changes, component corresponding attribute takes effect + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0330', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0330 start.`); + Settings.createWindow("testability/pages/UiComponentLayoutModifier/UiComponentLayoutModifier033") + let driver: Driver = Driver.create() + let button: Component = await driver.findComponent(ON.id('UiComponentLayoutModifier033')) + await button.doubleClick() + await Utils.sleep(1000) + let nextButton: Component = await driver.findComponent(ON.text('Next')); + await nextButton.click(); + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0330 finish.`); + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0410 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0410 + * @tc.desc set GridCol + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0410', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0410 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutModifier/UIComponentLayoutModifier041") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0410 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0340 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0340 + * @tc.desc StepperItemModifier, A custom modifier for two components + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0340', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0340 start.`); + Settings.createWindow("testability/pages/UiComponentLayoutModifier/UiComponentLayoutModifier034") + let driver: Driver = Driver.create() + let button: Component = await driver.findComponent(ON.id('UiComponentLayoutModifier034')) + await button.doubleClick() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0340 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0350 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0350 + * @tc.desc StepperItemModifier, new MyModifier(). extLabel (xx) dynamically switches without perception + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0350', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0350 start.`); + Settings.createWindow("testability/pages/UiComponentLayoutModifier/UiComponentLayoutModifier035") + let driver: Driver = Driver.create() + let button: Component = await driver.findComponent(ON.id('UiComponentLayoutModifier035')) + await button.doubleClick() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0350 finish.`); + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0420 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0420 + * @tc.desc set two 【ItemAlign.Start、ItemAlign.Center、ItemAlign.End、ItemAlign.Stretch】 + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0420', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0420 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutModifier/UIComponentLayoutModifier042") + await Utils.sleep(1000) + let driver: Driver = Driver.create() + let button: Component = await driver.findComponent(ON.id('layout042')) + for (let i = 0; i <4; i++) { + await button.click() + } + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0420 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0360 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0360 + * @tc.desc Setting attributiModifier twice is the union of attributes + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0360', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0360 start.`); + Settings.createWindow("testability/pages/UiComponentLayoutModifier/UiComponentLayoutModifier036") + let driver: Driver = Driver.create() + let button: Component = await driver.findComponent(ON.id('UiComponentLayoutModifier036')) + await button.click() + await Utils.sleep(1000) + let nextButton: Component = await driver.findComponent(ON.text('Next')); + await nextButton.click(); + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0360 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0370 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0370 + * @tc.desc Mixed settings + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0370', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0370 start.`); + Settings.createWindow("testability/pages/UiComponentLayoutModifier/UiComponentLayoutModifier037") + let driver: Driver = Driver.create() + let button: Component = await driver.findComponent(ON.id('UiComponentLayoutModifier037')) + await button.click() + await Utils.sleep(1000) + let nextButton: Component = await driver.findComponent(ON.text('Next')); + await nextButton.click(); + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0370 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0380 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0380 + * @tc.desc Set the same attribute based on the second one + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0380', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0380 start.`); + Settings.createWindow("testability/pages/UiComponentLayoutModifier/UiComponentLayoutModifier038") + let driver: Driver = Driver.create() + let button: Component = await driver.findComponent(ON.id('UiComponentLayoutModifier038')) + await button.click() + await Utils.sleep(13000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0380 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0470 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0470 + * @tc.desc set a custom Modifier to a component, and the corresponding attribute of the component takes effect (params, target). + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0470', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0470 start.`); + Settings.createWindow("testability/pages/UiComponentLayoutModifier/UiComponentLayoutModifier047") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0470 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0480 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0480 + * @tc.desc Set a custom Modifier to a component that corresponds to an active attribute + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0480', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0480 start.`); + Settings.createWindow("testability/pages/UiComponentLayoutModifier/UiComponentLayoutModifier048") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0480 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0490 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0490 + * @tc.desc Set a custom Modifier to a component, and the corresponding property of the component will take effect (type NavigatorType. Push) + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0490', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0490 start.`); + Settings.createWindow("testability/pages/UiComponentLayoutModifier/UiComponentLayoutModifier049") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0490 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0500 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0500 + * @tc.desc Set a custom Modifier to a component, and the corresponding property of the component will take effect (type NavigatorType. Replace) + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0500', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0500 start.`); + Settings.createWindow("testability/pages/UiComponentLayoutModifier/UiComponentLayoutModifier050") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0500 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0510 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0510 + * @tc.desc Set a custom Modifier to a component, and the corresponding property of the component will take effect (type NavigatorType. Back) + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0510', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0510 start.`); + Settings.createWindow("testability/pages/UiComponentLayoutModifier/UiComponentLayoutModifier051") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0510 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0520 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0520 + * @tc.desc Set a custom Modifier to a component that corresponds to a property that takes effect (type NavigatorType. Back), with an exception value + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0520', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0520 start.`); + Settings.createWindow("testability/pages/UiComponentLayoutModifier/UiComponentLayoutModifier052") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0520 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0530 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0530 + * @tc.desc Custom modifier attribute value changes, component corresponding attribute takes effect + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0530', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0530 start.`); + Settings.createWindow("testability/pages/UiComponentLayoutModifier/UiComponentLayoutModifier053") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0530 finish.`); + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0430 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0430 + * @tc.desc not support change + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0430', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0430 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutModifier/UIComponentLayoutModifier043") + await Utils.sleep(1000) + let driver: Driver = Driver.create() + let button: Component = await driver.findComponent(ON.id('mymodifier043')) + for (let i = 0; i <4; i++) { + await button.click() + } + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0430 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0540 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0540 + * @tc.desc A custom modifier for two components + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0540', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0540 start.`); + Settings.createWindow("testability/pages/UiComponentLayoutModifier/UiComponentLayoutModifier054") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0540 finish.`); + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0440 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0440 + * @tc.desc twice set attributeModifier + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0440', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0440 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutModifier/UIComponentLayoutModifier044") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0440 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0550 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0550 + * @tc.desc new MyModifier(). target (xx) dynamically switches without perception + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0550', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0550 start.`); + Settings.createWindow("testability/pages/UiComponentLayoutModifier/UiComponentLayoutModifier055") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0550 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0560 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0560 + * @tc.desc Setting attributiModifier twice is the union of attributes + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0560', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0560 start.`); + Settings.createWindow("testability/pages/UiComponentLayoutModifier/UiComponentLayoutModifier056") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0560 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0570 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0570 + * @tc.desc Mixed settings + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0570', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0570 start.`); + Settings.createWindow("testability/pages/UiComponentLayoutModifier/UiComponentLayoutModifier057") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0570 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0580 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0580 + * @tc.desc Set the same attribute based on the second one + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0580', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0580 start.`); + Settings.createWindow("testability/pages/UiComponentLayoutModifier/UiComponentLayoutModifier058") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0580 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0590 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0590 + * @tc.desc Set a custom Modifier to a component, and the corresponding properties of the component will take effect (NavRouteMode. PUSH-WISH-RECREATE) + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0590', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0590 start.`); + Settings.createWindow("testability/pages/UiComponentLayoutModifier/UiComponentLayoutModifier059") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0590 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0600 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0600 + * @tc.desc Set a custom Modifier to a component, and the corresponding properties of the component will take effect (NavRouteMode. PUSH) + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0600', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0600 start.`); + Settings.createWindow("testability/pages/UiComponentLayoutModifier/UiComponentLayoutModifier060") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0600 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0610 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0610 + * @tc.desc Set a custom Modifier to a component, and the corresponding properties of the component will take effect (NavRouteMode. REPLACE) + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0610', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0610 start.`); + Settings.createWindow("testability/pages/UiComponentLayoutModifier/UiComponentLayoutModifier061") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0610 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0620 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0620 + * @tc.desc Set a custom Modifier to a component, and the corresponding property of the component takes effect (outlier) + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0620', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0620 start.`); + Settings.createWindow("testability/pages/UiComponentLayoutModifier/UiComponentLayoutModifier062") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0620 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0630 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0630 + * @tc.desc Custom modifier attribute value changes, component corresponding attribute takes effect + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0630', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0630 start.`); + Settings.createWindow("testability/pages/UiComponentLayoutModifier/UiComponentLayoutModifier063") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0630 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0640 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0640 + * @tc.desc Assign a custom modifier to two components + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0640', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0640 start.`); + Settings.createWindow("testability/pages/UiComponentLayoutModifier/UiComponentLayoutModifier064") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0640 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0650 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0650 + * @tc.desc New MyModifier(). mode (xx) dynamically switches without perception + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0650', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0650 start.`); + Settings.createWindow("testability/pages/UiComponentLayoutModifier/UiComponentLayoutModifier065") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0650 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0660 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0660 + * @tc.desc Setting attributiModifier twice is the union of attributes + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0660', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0660 start.`); + Settings.createWindow("testability/pages/UiComponentLayoutModifier/UiComponentLayoutModifier066") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0660 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0670 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0670 + * @tc.desc Mixed settings + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0670', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0670 start.`); + Settings.createWindow("testability/pages/UiComponentLayoutModifier/UiComponentLayoutModifier067") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0670 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0680 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0680 + * @tc.desc Set the same attribute based on the second one + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0680', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0680 start.`); + Settings.createWindow("testability/pages/UiComponentLayoutModifier/UiComponentLayoutModifier068") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0680 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0690 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0690 + * @tc.desc Set a custom Modifier to a component, and the corresponding properties of the component will take effect (hideTolBar, subtitle). The titleMode、hideBackButton、hideTitleBar、backButtonIcon) + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0690', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0690 start.`); + Settings.createWindow("testability/pages/UiComponentLayoutModifier/UiComponentLayoutModifier069") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0690 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0700 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0700 + * @tc.desc Assign a custom modifier to a component, and the corresponding attribute of the component will take effect (mode) + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0700', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0700 start.`); + Settings.createWindow("testability/pages/UiComponentLayoutModifier/UiComponentLayoutModifier070") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0700 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0710 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0710 + * @tc.desc Set a custom Modifier to a component, and the corresponding property of the component will take effect (navBarPosition) + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0710', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0710 start.`); + Settings.createWindow("testability/pages/UiComponentLayoutModifier/UiComponentLayoutModifier071") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0710 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0720 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0720 + * @tc.desc Set a custom Modifier to a component whose corresponding property takes effect (minContentWidth navBarWidthRange、navBarWidth) + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0720', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0720 start.`); + Settings.createWindow("testability/pages/UiComponentLayoutModifier/UiComponentLayoutModifier072") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0720 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0730 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0730 + * @tc.desc Set a custom Modifier to a component, and the corresponding property of the component will take effect (hideNavBar) + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0730', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0730 start.`); + Settings.createWindow("testability/pages/UiComponentLayoutModifier/UiComponentLayoutModifier073") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0730 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0740 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0740 + * @tc.desc Custom modifier attribute value changes, component corresponding attribute takes effect + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0740', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0740 start.`); + Settings.createWindow("testability/pages/UiComponentLayoutModifier/UiComponentLayoutModifier074") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0740 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0750 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0750 + * @tc.desc A custom modifier for two components + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0750', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0750 start.`); + Settings.createWindow("testability/pages/UiComponentLayoutModifier/UiComponentLayoutModifier075") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0750 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0760 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0760 + * @tc.desc New MyModifier(). hideTitleBar (xx) dynamically switches without perception + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0760', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0760 start.`); + Settings.createWindow("testability/pages/UiComponentLayoutModifier/UiComponentLayoutModifier076") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0760 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0770 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0770 + * @tc.desc Setting attributiModifier twice is the union of attributes + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0770', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0770 start.`); + Settings.createWindow("testability/pages/UiComponentLayoutModifier/UiComponentLayoutModifier077") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0770 finish.`); + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0450 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0450 + * @tc.desc mix set GridRowModifier + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0450', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0450 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutModifier/UIComponentLayoutModifier045") + await Utils.sleep(1000) + let driver: Driver = Driver.create() + let button: Component = await driver.findComponent(ON.id('modifier045')) + await button.click() + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0450 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0780 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0780 + * @tc.desc Mixed settings + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0780', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0780 start.`); + Settings.createWindow("testability/pages/UiComponentLayoutModifier/UiComponentLayoutModifier078") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0780 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0790 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0790 + * @tc.desc Set the same attribute based on the second one + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0790', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0790 start.`); + Settings.createWindow("testability/pages/UiComponentLayoutModifier/UiComponentLayoutModifier079") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0790 finish.`); + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0460 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0460 + * @tc.desc set same attribute + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0460', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0460 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutModifier/UIComponentLayoutModifier046") + await Utils.sleep(1000) + let driver: Driver = Driver.create() + let button: Component = await driver.findComponent(ON.id('modifier046-1')) + let button2: Component = await driver.findComponent(ON.id('modifier046-2')) + await button.click() + await Utils.sleep(1000) + await button2.click() + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_MODIFIER_0460 finish.`); + done() + }) + }) +} + diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentLayoutStackTest/UIComponentLayoutStack.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentLayoutStackTest/UIComponentLayoutStack.test.ets new file mode 100644 index 000000000..067cdc36c --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentLayoutStackTest/UIComponentLayoutStack.test.ets @@ -0,0 +1,479 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development 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 { afterEach, describe, it } from '@ohos/hypium' +import Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' + +export default function UIComponentLayoutStackTest() { + describe('UIComponentLayoutStackTest', () => { + afterEach(async (done: Function) => { + if (Settings.windowClass == undefined) { + return + } + + Settings.windowClass.destroyWindow((err) => { + if (err.code) { + Logger.error('TEST', `Failed to destroy the window. Cause : ${JSON.stringify(err)}`) + return; + } + Logger.info('TEST', `Succeeded in destroy the window.`); + }) + await Utils.sleep(1000); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_STACK_025 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_STACK_025 + * @tc.desc Set background={.u32=0xFFFF0000} + */ + it('SUB_ACE_UI_COMPONENT_LAYOUT_STACK_025', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_STACK_025 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutStack/UIComponentLayoutStack025") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_STACK_025 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_STACK_030 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_STACK_030 + * @tc.desc Set Xcomponent(node) stack +*/ + it('SUB_ACE_UI_COMPONENT_LAYOUT_STACK_030', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_STACK_030 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutStack/UIComponentLayoutStack030") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_STACK_030 finish.`); + done() + }) + + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_STACK_031 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_STACK_031 + * @tc.desc set repeat=ARKUI_IMAGEREPEAT_NO_REPEAT +*/ + it('SUB_ACE_UI_COMPONENT_LAYOUT_STACK_031', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_STACK_031 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutStack/UIComponentLayoutStack031") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_STACK_031 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_STACK_032 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_STACK_032 + * @tc.desc set repeat=ARKUI_IMAGEREPEAT_X +*/ + it('SUB_ACE_UI_COMPONENT_LAYOUT_STACK_032', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_STACK_032 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutStack/UIComponentLayoutStack032") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_STACK_032 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_STACK_033 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_STACK_033 + * @tc.desc set repeat=ARKUI_IMAGEREPEAT_Y +*/ + it('SUB_ACE_UI_COMPONENT_LAYOUT_STACK_033', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_STACK_033 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutStack/UIComponentLayoutStack033") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_STACK_033 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_STACK_034 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_STACK_034 + * @tc.desc set repeat=ARKUI_IMAGEREPEAT_XY +*/ + it('SUB_ACE_UI_COMPONENT_LAYOUT_STACK_034', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_STACK_034 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutStack/UIComponentLayoutStack034") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_STACK_034 finish.`); + done() + }) + + + /* +* @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_STACK_038 +* @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_STACK_038 +* @tc.desc set backgroundImageSize=50 50 +*/ + it('SUB_ACE_UI_COMPONENT_LAYOUT_STACK_038', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_STACK_038 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutStack/UIComponentLayoutStack038") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_STACK_038 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_STACK_039 +* @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_STACK_039 +* @tc.desc set backgroundImageSize=0 0 +*/ + it('SUB_ACE_UI_COMPONENT_LAYOUT_STACK_039', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_STACK_039 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutStack/UIComponentLayoutStack039") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_STACK_039 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_STACK_041 +* @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_STACK_041 +* @tc.desc set backgroundImageSize=50 +*/ + it('SUB_ACE_UI_COMPONENT_LAYOUT_STACK_041', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_STACK_041 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutStack/UIComponentLayoutStack041") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_STACK_041 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_STACK_042 +* @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_STACK_042 +* @tc.desc set borderwidth={ 2, 5, 2, 5 } +*/ + it('SUB_ACE_UI_COMPONENT_LAYOUT_STACK_042', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_STACK_042 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutStack/UIComponentLayoutStack042") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_STACK_042 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_STACK_043 +* @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_STACK_043 +* @tc.desc set borderwidth=6 +*/ + it('SUB_ACE_UI_COMPONENT_LAYOUT_STACK_043', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_STACK_043 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutStack/UIComponentLayoutStack043") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_STACK_043 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_STACK_047 +* @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_STACK_047 +* @tc.desc set borderwidth=0xFFFF0000 +*/ + it('SUB_ACE_UI_COMPONENT_LAYOUT_STACK_047', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_STACK_047 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutStack/UIComponentLayoutStack047") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_STACK_047 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_STACK_048 +* @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_STACK_048 +* @tc.desc set borderwidth=0xFFFF0000,0xFFFFFFFF,0xFFFF0000,0xFFFFFFFF +*/ + it('SUB_ACE_UI_COMPONENT_LAYOUT_STACK_048', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_STACK_048 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutStack/UIComponentLayoutStack048") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_STACK_048 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_STACK_049 +* @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_STACK_049 +* @tc.desc set borderradius={ 5 } +*/ + it('SUB_ACE_UI_COMPONENT_LAYOUT_STACK_049', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_STACK_049 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutStack/UIComponentLayoutStack049") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_STACK_049 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_STACK_050 +* @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_STACK_050 +* @tc.desc set borderradius={ 5, 10, 5, 10 } +*/ + it('SUB_ACE_UI_COMPONENT_LAYOUT_STACK_050', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_STACK_050 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutStack/UIComponentLayoutStack050") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_STACK_050 finish.`); + done() + }) + + + /* +* @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_STACK_053 +* @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_STACK_053 +* @tc.desc set opacity={ 0.5 } clip=1 +*/ + it('SUB_ACE_UI_COMPONENT_LAYOUT_STACK_053', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_STACK_053 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutStack/UIComponentLayoutStack053") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_STACK_053 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_STACK_054 +* @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_STACK_054 +* @tc.desc set opacity={ 0.5 } clip=0 +*/ + it('SUB_ACE_UI_COMPONENT_LAYOUT_STACK_054', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_STACK_054 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutStack/UIComponentLayoutStack054") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_STACK_054 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_STACK_055 +* @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_STACK_055 +* @tc.desc set opacity={ 0.5 } clip=0 +*/ + it('SUB_ACE_UI_COMPONENT_LAYOUT_STACK_055', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_STACK_055 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutStack/UIComponentLayoutStack055") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_STACK_055 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_STACK_064 +* @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_STACK_064 +* @tc.desc set backgroundBlurStyle=thin +*/ + it('SUB_ACE_UI_COMPONENT_LAYOUT_STACK_064', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_STACK_064 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutStack/UIComponentLayoutStack064") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_STACK_064 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_STACK_065 +* @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_STACK_065 +* @tc.desc set backgroundBlurStyle=regular +*/ + it('SUB_ACE_UI_COMPONENT_LAYOUT_STACK_065', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_STACK_065 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutStack/UIComponentLayoutStack065") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_STACK_065 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_STACK_066 +* @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_STACK_066 +* @tc.desc set backgroundBlurStyle=thick +*/ + it('SUB_ACE_UI_COMPONENT_LAYOUT_STACK_066', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_STACK_066 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutStack/UIComponentLayoutStack066") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_STACK_066 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_STACK_067 +* @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_STACK_067 +* @tc.desc set shadow=ARKUI_SHADOW_STYLE_OUTER_DEFAULT_XS +*/ + it('SUB_ACE_UI_COMPONENT_LAYOUT_STACK_067', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_STACK_067 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutStack/UIComponentLayoutStack067") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_STACK_067 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_STACK_068 +* @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_STACK_068 +* @tc.desc set shadow=ARKUI_SHADOW_STYLE_OUTER_DEFAULT_SM +*/ + it('SUB_ACE_UI_COMPONENT_LAYOUT_STACK_068', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_STACK_068 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutStack/UIComponentLayoutStack068") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_STACK_068 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_STACK_069 +* @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_STACK_069 +* @tc.desc set shadow=ARKUI_SHADOW_STYLE_OUTER_DEFAULT_MD +*/ + it('SUB_ACE_UI_COMPONENT_LAYOUT_STACK_069', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_STACK_069 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutStack/UIComponentLayoutStack069") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_STACK_069 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_STACK_070 +* @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_STACK_070 +* @tc.desc set shadow=ARKUI_SHADOW_STYLE_OUTER_DEFAULT_LG +*/ + it('SUB_ACE_UI_COMPONENT_LAYOUT_STACK_070', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_STACK_069 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutStack/UIComponentLayoutStack070") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_STACK_070 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_STACK_071 +* @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_STACK_071 +* @tc.desc set shadow=ARKUI_SHADOW_STYLE_OUTER_FLOATING_SM +*/ + it('SUB_ACE_UI_COMPONENT_LAYOUT_STACK_071', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_STACK_071 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutStack/UIComponentLayoutStack071") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_STACK_071 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_STACK_072 +* @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_STACK_072 +* @tc.desc set shadow=ARKUI_SHADOW_STYLE_OUTER_FLOATING_MD +*/ + it('SUB_ACE_UI_COMPONENT_LAYOUT_STACK_072', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_STACK_071 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutStack/UIComponentLayoutStack072") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_STACK_072 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_STACK_089 +* @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_STACK_089 +* @tc.desc set borderStyle=ARKUI_BORDER_STYLE_SOLID +*/ + it('SUB_ACE_UI_COMPONENT_LAYOUT_STACK_089', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_STACK_089 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutStack/UIComponentLayoutStack089") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_STACK_089 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_STACK_090 +* @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_STACK_090 +* @tc.desc set borderStyle=ARKUI_BORDER_STYLE_SOLID,ARKUI_BORDER_STYLE_DASHED,ARKUI_BORDER_STYLE_DOTTED,ARKUI_BORDER_STYLE_DOTTED +*/ + it('SUB_ACE_UI_COMPONENT_LAYOUT_STACK_090', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_STACK_089 start.`); + Settings.createWindow("testability/pages/UIComponentLayoutStack/UIComponentLayoutStack090") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LAYOUT_STACK_090 finish.`); + done() + }) + + + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentLineheightDecorationTest/UIComponentLineheightDecoration.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentLineheightDecorationTest/UIComponentLineheightDecoration.test.ets new file mode 100644 index 000000000..675579000 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentLineheightDecorationTest/UIComponentLineheightDecoration.test.ets @@ -0,0 +1,317 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development 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 { afterEach, describe, it } from '@ohos/hypium' +import Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' +import { Component, Driver, ON } from '@ohos.UiTest' + +export default function UIComponentLineheightDecoration() { + describe('UIComponentLineheightDecoration', () => { + afterEach(async (done: Function) => { + if (Settings.windowClass == undefined) { + return + } + + Settings.windowClass.destroyWindow((err) => { + if (err.code) { + Logger.error('TEST', `Failed to destroy the window. Cause : ${JSON.stringify(err)}`) + return; + } + Logger.info('TEST', `Succeeded in destroy the window.`); + }) + await Utils.sleep(1000); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0020 + * @tc.name SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0020 + * @tc.desc not set decoration + */ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0020', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0020 start.`); + Settings.createWindow("testability/pages/UIComponentLineheightDecoration/UIComponentLineheightDecoration002") + await Utils.sleep(1000) + let driver: Driver = Driver.create() + let textarea: Component = await driver.findComponent(ON.id('UIComponentLineheightDecoration002')) + await textarea.click() + await textarea.inputText('aaaaa') + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0020 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0030 + * @tc.name SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0030 + * @tc.desc set decoration style=(Underline、LineThrough、Overline、None) + */ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0030', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0030 start.`); + Settings.createWindow("testability/pages/UIComponentLineheightDecoration/UIComponentLineheightDecoration003") + await Utils.sleep(1000) + let driver: Driver = Driver.create() + let textarea: Component = await driver.findComponent(ON.id('UIComponentLineheightDecoration003')) + let button: Component = await driver.findComponent(ON.id('buttonlineheight003')) + await textarea.click() + await textarea.inputText('aaaaa') + await Utils.sleep(500) + for (let i = 0; i < 4; i++) { + await button.click() + await Utils.sleep(500) + } + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0030 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0040 + * @tc.name SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0040 + * @tc.desc set decoration color=(color.Pink、0x008000、 'rgb(255, 0, 0)'、#0000ff、$r('app.color.Yellow')) + */ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0040', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0040 start.`); + Settings.createWindow("testability/pages/UIComponentLineheightDecoration/UIComponentLineheightDecoration004") + await Utils.sleep(1000) + let driver: Driver = Driver.create() + let textarea: Component = await driver.findComponent(ON.id('UIComponentLineheightDecoration004')) + let button: Component = await driver.findComponent(ON.id('buttonlineheight004')) + await textarea.click() + await textarea.inputText('aaaaa') + await Utils.sleep(500) + for (let i = 0; i < 8; i++) { + await button.click() + await Utils.sleep(500) + } + await textarea.inputText('aaaaa &a2^*&(') + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0040 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0060 + * @tc.name SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0060 + * @tc.desc input placeholder + */ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0060', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0060 start.`); + Settings.createWindow("testability/pages/UIComponentLineheightDecoration/UIComponentLineheightDecoration006") + await Utils.sleep(1000) + let driver: Driver = Driver.create() + let textarea: Component = await driver.findComponent(ON.id('UIComponentLineheightDecoration006')) + let button: Component = await driver.findComponent(ON.id('buttonlineheight006')) + await textarea.click() + await textarea.inputText('aaaaa') + await Utils.sleep(500) + for (let i = 0; i < 8; i++) { + await button.click() + await Utils.sleep(500) + } + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0060 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0070 + * @tc.name SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0070 + * @tc.desc change input type + */ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0070', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0070 start.`); + Settings.createWindow("testability/pages/UIComponentLineheightDecoration/UIComponentLineheightDecoration007") + await Utils.sleep(1000) + let driver: Driver = Driver.create() + let textarea: Component = await driver.findComponent(ON.id('UIComponentLineheightDecoration007')) + let button: Component = await driver.findComponent(ON.id('type007')) + let button01: Component = await driver.findComponent(ON.id('buttonlineheight007')) + await textarea.click() + await textarea.inputText('aaaaa') + await Utils.sleep(500) + for (let i = 0; i < 9; i++) { + await button.click() + await Utils.sleep(100) + } + await Utils.sleep(1000) + await textarea.inputText('aaaaa') + for (let i = 0; i < 8; i++) { + await button01.click() + await Utils.sleep(500) + } + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0070 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0080 + * @tc.name SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0080 + * @tc.desc change input style + */ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0080', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0080 start.`); + Settings.createWindow("testability/pages/UIComponentLineheightDecoration/UIComponentLineheightDecoration008") + await Utils.sleep(1000) + let driver: Driver = Driver.create() + let textarea: Component = await driver.findComponent(ON.id('UIComponentLineheightDecoration008')) + let button: Component = await driver.findComponent(ON.id('type008')) + let button01: Component = await driver.findComponent(ON.id('buttonlineheight008')) + await textarea.click() + await textarea.inputText('aaaaa') + await Utils.sleep(500) + await button.click() + await Utils.sleep(100) + for (let i = 0; i < 8; i++) { + await button01.click() + await Utils.sleep(500) + } + await textarea.inputText('aaaaaaaaaaaaaaaaaaaaaa') + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0080 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0090 + * @tc.name SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0090 + * @tc.desc change textAlign + */ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0090', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0090 start.`); + Settings.createWindow("testability/pages/UIComponentLineheightDecoration/UIComponentLineheightDecoration009") + await Utils.sleep(1000) + let driver: Driver = Driver.create() + let textarea: Component = await driver.findComponent(ON.id('UIComponentLineheightDecoration009')) + let button: Component = await driver.findComponent(ON.id('type009')) + let button01: Component = await driver.findComponent(ON.id('buttonlineheight009')) + await textarea.click() + await textarea.inputText('aaaaa') + await Utils.sleep(500) + for (let i = 0; i < 8; i++) { + await button01.click() + await Utils.sleep(500) + } + for (let i = 0; i < 2; i++) { + await button.click() + await Utils.sleep(500) + } + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0090 finish.`); + done() + }) + + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0100 + * @tc.name SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0100 + * @tc.desc change fontSize +*/ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0100', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0100 start.`); + Settings.createWindow("testability/pages/UIComponentLineheightDecoration/UIComponentLineheightDecoration010") + await Utils.sleep(1000) + let driver: Driver = Driver.create() + let textarea: Component = await driver.findComponent(ON.id('UIComponentLineheightDecoration010')) + let button: Component = await driver.findComponent(ON.id('type010')) + let button01: Component = await driver.findComponent(ON.id('buttonlineheight010')) + await textarea.click() + await textarea.inputText('aaaaa') + await Utils.sleep(500) + for (let i = 0; i < 8; i++) { + await button01.click() + await Utils.sleep(500) + } + for (let i = 0; i < 3; i++) { + await button.click() + await Utils.sleep(500) + } + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0100 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0110 + * @tc.name SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0110 + * @tc.desc change showUnderline +*/ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0110', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0110 start.`); + Settings.createWindow("testability/pages/UIComponentLineheightDecoration/UIComponentLineheightDecoration011") + await Utils.sleep(1000) + let driver: Driver = Driver.create() + let textarea: Component = await driver.findComponent(ON.id('UIComponentLineheightDecoration011')) + let button: Component = await driver.findComponent(ON.id('type011')) + let button01: Component = await driver.findComponent(ON.id('buttonlineheight011')) + await textarea.click() + await textarea.inputText('aaaaa') + await Utils.sleep(500) + for (let i = 0; i < 8; i++) { + await button01.click() + await Utils.sleep(500) + } + for (let i = 0; i < 1; i++) { + await button.click() + await Utils.sleep(500) + } + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0110 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0120 + * @tc.name SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0120 + * @tc.desc set showCounter +*/ + it('SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0120', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0120 start.`); + Settings.createWindow("testability/pages/UIComponentLineheightDecoration/UIComponentLineheightDecoration012") + await Utils.sleep(1000) + let driver: Driver = Driver.create() + let textarea: Component = await driver.findComponent(ON.id('UIComponentLineheightDecoration012')) + let button: Component = await driver.findComponent(ON.id('type012')) + let button01: Component = await driver.findComponent(ON.id('buttonlineheight012')) + await textarea.click() + await textarea.inputText('aaaaa') + await Utils.sleep(500) + for (let i = 0; i < 8; i++) { + await button01.click() + await Utils.sleep(500) + } + for (let i = 0; i < 1; i++) { + await button.click() + await Utils.sleep(500) + } + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_LINEHEIGHT_DECORATION_LETTERSPACING_0120 finish.`); + done() + }) + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentScrollSwiperInterfaceMixTest/UIComponentScrollSwiperInterfaceMix.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentScrollSwiperInterfaceMixTest/UIComponentScrollSwiperInterfaceMix.test.ets new file mode 100644 index 000000000..6fc05f938 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentScrollSwiperInterfaceMixTest/UIComponentScrollSwiperInterfaceMix.test.ets @@ -0,0 +1,1120 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development 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 Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' +import {UiComponent, Component, Driver, ON, BY, MouseButton} from '@ohos.UiTest'; +export default function UIComponentScrollSwiperInterfaceMix() { + describe('UIComponentScrollSwiperInterfaceMix', () => { + afterEach(async (done: Function) => { + if (Settings.windowClass == undefined) { + return + } + Settings.windowClass.destroyWindow((err) => { + if (err.code) { + Logger.error('TEST', `Failed to destroy the window. Cause : ${JSON.stringify(err)}`) + return; + } + Logger.info('TEST', `Succeeded in destroy the window.`); + }) + await Utils.sleep(1000); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0390 + * @tc.name SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0390 + * @tc.desc ADD TextIput, no set selectAll + */ + it('SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0390', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0390 start.`); + Settings.createWindow("testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix039") + + let driver = Driver.create(); + let text = await driver.findComponent(ON.id('shurukuang1')); + await text.click(); + await driver.mouseClick({x:650, y:700}, MouseButton.MOUSE_BUTTON_LEFT, 2072); + await Utils.sleep(1000) + await driver.mouseClick({x:500, y:170}, MouseButton.MOUSE_BUTTON_LEFT, 2072); + await Utils.sleep(1000) + await driver.triggerKey(2049); + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0390 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0420 + * @tc.name SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0420 + * @tc.desc Add TextIput, set passwordIcon + */ + it('SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0420', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0420 start.`); + Settings.createWindow("testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix042") + await Utils.sleep(1000) + let driver = Driver.create(); + let text = await driver.findComponent(ON.id('shurukuang1')); + await driver.triggerKey(2049); + await Utils.sleep(1000) + await driver.triggerCombineKeys(2049, 2047); + await driver.triggerKey(2012); + await Utils.sleep(1000) + await driver.triggerKey(2013); + await Utils.sleep(1000) + await driver.triggerKey(2014); + await driver.triggerKey(2015); + await driver.triggerKey(2050); + await Utils.sleep(1000) + await driver.triggerKey(2054); + await Utils.sleep(1000) + await driver.triggerCombineKeys(2049, 2047); + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0420 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0480 + * @tc.name SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0480 + * @tc.desc Add TextIput set showUnit + */ + it('SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0480', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0480 start.`); + Settings.createWindow("testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix048") + await Utils.sleep(1000) + let driver = Driver.create(); + let text = await driver.findComponent(ON.id('shurukuang1')); + await driver.triggerCombineKeys(2049, 2047); + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0480 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0490 + * @tc.name SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0490 + * @tc.desc Add TextIput set showUnit + */ + it('SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0490', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0490 start.`); + Settings.createWindow("testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix049") + await Utils.sleep(1000) + let driver = Driver.create(); + let caidan = await driver.findComponent(ON.id('caidankuang1')); + await caidan.click() + await Utils.sleep(1000) + await driver.triggerKey(2014); + await Utils.sleep(1000) + await driver.triggerKey(2014); + await Utils.sleep(1000) + await driver.triggerKey(2014); + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0490 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0500 + * @tc.name SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0500 + * @tc.desc Add TextIput set showUnit + */ + it('SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0500', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0500 start.`); + Settings.createWindow("testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix050") + await Utils.sleep(1000) + let driver = Driver.create(); + let text = await driver.findComponent(ON.id('shurukuang1')); + await driver.triggerKey(2049); + await driver.triggerKey(2049); + await driver.triggerKey(2050); + await driver.triggerKey(2013); + await driver.triggerKey(2013); + await Utils.sleep(1000) + await driver.triggerKey(2012); + await driver.triggerKey(2012); + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0500 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0510 + * @tc.name SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0510 + * @tc.desc Add TextIput set showUnit + */ + it('SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0510', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0510 start.`); + Settings.createWindow("testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfacemix051") + await Utils.sleep(1000) + let driver = Driver.create(); + let text = await driver.findComponent(ON.id('shurukuang1')); + await driver.triggerKey(2049); + await driver.triggerKey(2049); + await driver.triggerKey(2050); + await driver.triggerKey(2013); + await driver.triggerKey(2013); + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0500 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0520 + * @tc.name SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0520 + * @tc.desc Add TextIput set showUnit + */ + it('SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0520', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0520 start.`); + Settings.createWindow("testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix052") + await Utils.sleep(5000) + let driver = Driver.create(); + let text = await driver.findComponent(ON.id('shurukuang1')); + await driver.triggerKey(2049); + await driver.triggerKey(2049); + await driver.triggerKey(2050); + await driver.triggerKey(2081); + await driver.triggerKey(2012); + await driver.triggerKey(2012); + await driver.triggerKey(2082); + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0520 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0530 + * @tc.name SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0530 + * @tc.desc Add TextIput set showUnit + */ + it('SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0530', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0530 start.`); + Settings.createWindow("testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix053") + let driver = Driver.create(); + let text = await driver.findComponent(ON.id('shurukuang1')); + await driver.triggerKey(2049); + await driver.triggerKey(2049); + await driver.triggerKey(2050); + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0530 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0540 + * @tc.name SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0540 + * @tc.desc Add TextIput set showUnit + */ + it('SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0540', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0540 start.`); + Settings.createWindow("testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix054") + await Utils.sleep(1000) + let driver = Driver.create(); + let text = await driver.findComponent(ON.id('shurukuang1')); + await driver.triggerKey(2049); + await driver.triggerKey(2049); + await driver.triggerKey(2054); + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0540 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0550 + * @tc.name SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0550 + * @tc.desc Add TextIput set showUnit + */ + it('SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0550', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0550 start.`); + Settings.createWindow("testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix055") + let driver = Driver.create(); + let text = await driver.findComponent(ON.id('shurukuang1')); + await driver.triggerKey(2049); + await driver.triggerKey(2049); + await driver.triggerKey(2054); + await Utils.sleep(1000) + await driver.triggerKey(2070); + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0550 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0560 + * @tc.name SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0560 + * @tc.desc Add TextIput set showUnit + */ + it('SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0560', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0560 start.`); + Settings.createWindow("testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix056") + await Utils.sleep(1000) + await Utils.sleep(1000) + let driver = Driver.create(); + let text = await driver.findComponent(ON.id('caidan1')); + let point = await text.getBoundsCenter(); + await text.click(); + await Utils.sleep(1000) + await driver.triggerKey(2070); + await driver.mouseClick({x:500, y:170}, MouseButton.MOUSE_BUTTON_LEFT, 2072); + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0560 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0570 + * @tc.name SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0570 + * @tc.desc Add TextIput no set cancelButton + */ + it('SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0570', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0570 start.`); + Settings.createWindow("testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix057") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0570 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0360 + * @tc.name SUB_ACE_UI_COMPONENT_LAYOUT_COLUMN_LAYOUT_0360 + * @tc.desc Add TextIput set cancelButton = CONSTANT + */ + it('SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0580', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0580 start.`); + Settings.createWindow("testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix058") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0580 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0590 + * @tc.name SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0590 + * @tc.desc Add TextIput set cancelButton = INVISIBLE + */ + it('SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0590', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0590 start.`); + // 打开指定的测试页面 + Settings.createWindow("testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix059") + // 暂停1秒,确保页面加载完成 + await Utils.sleep(1000) + // 截取当前窗口的快照 + windowSnap.snapShot() + // 再次暂停1秒 + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0590 finish.`); + // 标记测试完成 + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0600 + * @tc.name SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0600 + * @tc.desc Add TextIput set cancelButton = INPUT + */ + it('SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0600', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0600 start.`); + Settings.createWindow("testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix060") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0600 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0610 + * @tc.name SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0610 + * @tc.desc Add TextIput set icon = 0 + */ + it('SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0610', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0610 start.`); + Settings.createWindow("testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix061") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0610 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0620 + * @tc.name SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0620 + * @tc.desc Add TextIput set icon = 10 + */ + it('SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0620', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0620 start.`); + Settings.createWindow("testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix062") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0620 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0630 + * @tc.name SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0630 + * @tc.desc Add TextIput set icon = 0 + */ + it('SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0630', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0630 start.`); + Settings.createWindow("testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix063") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0630 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0640 + * @tc.name SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0640 + * @tc.desc Add TextIput set icon = 10vp + */ + it('SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0640', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0640 start.`); + Settings.createWindow("testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix064") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0640 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0650 + * @tc.name SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0650 + * @tc.desc Add TextIput set icon = 10fp + */ + it('SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0650', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0650 start.`); + Settings.createWindow("testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix065") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0650 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0660 + * @tc.name SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0660 + * @tc.desc Add TextIput set icon = 10px + */ + it('SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0660', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0660 start.`); + Settings.createWindow("testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix066") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0660 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0670 + * @tc.name SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0670 + * @tc.desc Add TextIput set icon = 10lpx + */ + it('SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0670', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0670 start.`); + Settings.createWindow("testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix067") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0670 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0680 + * @tc.name SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0680 + * @tc.desc Add TextIput set icon = resource + */ + it('SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0680', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0680 start.`); + Settings.createWindow("testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix068") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0680 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0690 + * @tc.name SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0690 + * @tc.desc Add TextIput set color = blue + */ + it('SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0690', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0690 start.`); + Settings.createWindow("testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix069") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0690 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0700 + * @tc.name SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0700 + * @tc.desc Add TextIput set color = 0xFF0000 + */ + it('SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0700', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0700 start.`); + Settings.createWindow("testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix070") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0700 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0710 + * @tc.name SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0710 + * @tc.desc Add TextIput set color = #fc0303 + */ + it('SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0710', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0710 start.`); + Settings.createWindow("testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix071") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0710 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0720 + * @tc.name SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0720 + * @tc.desc Add TextIput set color = 0xFF0000 + */ + it('SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0720', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0720 start.`); + Settings.createWindow("testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix072") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0720 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0730 + * @tc.name SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0730 + * @tc.desc Add TextIput set cancelButton = rgb(2, 184, 17) + */ + it('SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0730', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0730 start.`); + Settings.createWindow("testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix073") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0730 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0740 + * @tc.name SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0740 + * @tc.desc Add TextIput set cancelButton = $r(app.color.Pink) + */ + it('SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0740', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0740 start.`); + Settings.createWindow("testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix074") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0740 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0750 + * @tc.name SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0750 + * @tc.desc set cancelButton src = String + */ + it('SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0750', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0750 start.`); + Settings.createWindow("testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix075") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0750 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0760 + * @tc.name SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0760 + * @tc.desc set cancelButton src = $rawfile() + */ + it('SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0760', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0760 start.`); + Settings.createWindow("testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix076") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0760 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0770 + * @tc.name SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0770 + * @tc.desc set cancelButton src = $r() + */ + it('SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0770', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0770 start.`); + Settings.createWindow("testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix077") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0770 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0780 + * @tc.name SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0780 + * @tc.desc set TextInput = Normal + */ + it('SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0780', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0780 start.`); + Settings.createWindow("testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix078") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0780 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0790 + * @tc.name SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0790 + * @tc.desc set Password open eye + */ + it('SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0790', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0790 start.`); + Settings.createWindow("testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix079") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0790 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0800 + * @tc.name SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0800 + * @tc.desc set Password open eye + */ + it('SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0800', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0800 start.`); + Settings.createWindow("testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix080") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0800 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0810 + * @tc.name SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0810 + * @tc.desc set NEW_PASSWORD + */ + it('SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0810', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0810 start.`); + Settings.createWindow("testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix081") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0810 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0820 + * @tc.name SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0820 + * @tc.desc set NEW_PASSWORD + */ + it('SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0820', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0820 start.`); + Settings.createWindow("testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix082") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0820 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0830 + * @tc.name SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0830 + * @tc.desc set SCREEN_LOCK_PASSWORD + */ + it('SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0830', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0830 start.`); + Settings.createWindow("testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix083") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0830 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0840 + * @tc.name SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0840 + * @tc.desc set SCREEN_LOCK_PASSWORD + */ + it('SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0840', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0840 start.`); + Settings.createWindow("testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix084") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0840 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0850 + * @tc.name SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0850 + * @tc.desc set NUMBER_PASSWORD + */ + it('SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0850', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0850 start.`); + Settings.createWindow("testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix085") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0850 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0860 + * @tc.name SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0860 + * @tc.desc set NUMBER_PASSWORD + */ + it('SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0860', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0860 start.`); + Settings.createWindow("testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix086") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0860 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0870 + * @tc.name SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0870 + * @tc.desc set TextContentStyle.INLINE + */ + it('SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0870', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0870 start.`); + Settings.createWindow("testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix087") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0870 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0880 + * @tc.name SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0880 + * @tc.desc set padding + */ + it('SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0880', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0880 start.`); + Settings.createWindow("testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix088") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0880 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0890 + * @tc.name SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0890 + * @tc.desc set Normal + */ + it('SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0890', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0890 start.`); + Settings.createWindow("testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix089") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0890 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0900 + * @tc.name SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0900 + * @tc.desc set Password + */ + it('SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0900', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0900 start.`); + Settings.createWindow("testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix090") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0900 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0910 + * @tc.name SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0910 + * @tc.desc set Password + */ + it('SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0910', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0910 start.`); + Settings.createWindow("testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix091") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0910 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0920 + * @tc.name SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0920 + * @tc.desc set Password + */ + it('SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0920', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0920 start.`); + Settings.createWindow("testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix092") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0920 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0930 + * @tc.name SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0930 + * @tc.desc set NEW_PASSWORD + */ + it('SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0930', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0930 start.`); + Settings.createWindow("testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix093") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0930 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0940 + * @tc.name SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0940 + * @tc.desc set NEW_PASSWORD + */ + it('SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0940', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0940 start.`); + Settings.createWindow("testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix094") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0940 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0950 + * @tc.name SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0950 + * @tc.desc set SCREEN_LOCK_PASSWORD + */ + it('SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0950', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0950 start.`); + Settings.createWindow("testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix095") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0950 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0960 + * @tc.name SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0960 + * @tc.desc set SCREEN_LOCK_PASSWORD + */ + it('SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0960', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0960 start.`); + Settings.createWindow("testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix096") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0960 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0970 + * @tc.name SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0970 + * @tc.desc set NUMBER_PASSWORD + */ + it('SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0970', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0970 start.`); + Settings.createWindow("testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix097") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0970 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0980 + * @tc.name SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0980 + * @tc.desc set NUMBER_PASSWORD + */ + it('SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0980', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0980 start.`); + Settings.createWindow("testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix098") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0980 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0990 + * @tc.name SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0990 + * @tc.desc set TextContentStyle.INLINE + */ + it('SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0990', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0990 start.`); + Settings.createWindow("testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix099") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_0990 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_1000 + * @tc.name SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_1000 + * @tc.desc set TextContentStyle.INLINE + */ + it('SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_1000', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_1000 start.`); + Settings.createWindow("testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix100") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_1000 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_1010 +* @tc.name SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_1010 +* @tc.desc set clear +*/ + it('SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_1010', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_1010 start.`); + Settings.createWindow("testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix101") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_1010 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_1020 + * @tc.name SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_1020 + * @tc.desc set menu + */ + it('SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_1020', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_1020 start.`); + Settings.createWindow("testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix102") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_1020 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_1030 + * @tc.name SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_1030 + * @tc.desc no set showCounter + */ + it('SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_1030', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_1030 start.`); + Settings.createWindow("testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix103") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_1030 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_1040 + * @tc.name SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_1040 + * @tc.desc set showCounter =false + */ + it('SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_1040', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_1040 start.`); + Settings.createWindow("testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix104") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_1040 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_1050 + * @tc.name SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_1050 + * @tc.desc set showCounter = true + */ + it('SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_1050', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_1050 start.`); + Settings.createWindow("testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix105") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_1050 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_1060 + * @tc.name SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_1060 + * @tc.desc set showCounter options = 0 + */ + it('SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_1060', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_1060 start.`); + Settings.createWindow("testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix106") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_1060 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_1070 + * @tc.name SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_1070 + * @tc.desc set showCounter options = 31 + */ + it('SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_1070', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_1070 start.`); + Settings.createWindow("testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix107") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_1070 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_1080 + * @tc.name SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_1080 + * @tc.desc set showCounter options = 50 + */ + it('SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_1080', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_1080 start.`); + Settings.createWindow("testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix108") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_1080 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_1090 + * @tc.name SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_1090 + * @tc.desc set showCounter options = 100 + */ + it('SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_1090', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_1090 start.`); + Settings.createWindow("testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix109") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_1090 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_1100 + * @tc.name SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_1100 + * @tc.desc set showCounter options = 50 + */ + it('SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_1100', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_1100 start.`); + Settings.createWindow("testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix110") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_1100 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_1110 + * @tc.name SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_1110 + * @tc.desc set showCounter options = padding + */ + it('SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_1110', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_1110 start.`); + Settings.createWindow("testability/pages/UIComponentScrollSwiperInterfaceMix/UIComponentScrollSwiperInterfaceMix111") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SCROLL_SWIPER_INTERFACEMIX_1110 finish.`); + done() + }) + }) +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentSymbolColorrenderingTest/UIComponentSymbolColorrendering.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentSymbolColorrenderingTest/UIComponentSymbolColorrendering.test.ets new file mode 100644 index 000000000..923a5ca70 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentSymbolColorrenderingTest/UIComponentSymbolColorrendering.test.ets @@ -0,0 +1,118 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development 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 Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' +import {UiComponent, UiDriver, Component, Driver, UiWindow, ON, BY, MatchPattern, DisplayRotation, ResizeDirection, WindowMode, PointerMatrix} from '@ohos.UiTest'; +export default function UIComponentSymbolColorrendering() { + describe('UIComponentSymbolColorrendering', () => { + afterEach(async (done: Function) => { + if (Settings.windowClass == undefined) { + return + } + + Settings.windowClass.destroyWindow((err) => { + if (err.code) { + Logger.error('TEST', `Failed to destroy the window. Cause : ${JSON.stringify(err)}`) + return; + } + Logger.info('TEST', `Succeeded in destroy the window.`); + }) + await Utils.sleep(1000); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_symbol_symbol_COLOURRENDERING_002 + * @tc.name SUB_ACE_UI_COMPONENT_symbol_symbol_COLOURRENDERING_002 + * @tc.desc resource=sys.media.ohos_lungs + */ + it('SUB_ACE_UI_COMPONENT_symbol_symbol_COLOURRENDERING_002', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_symbol_symbol_COLOURRENDERING_002 start.`); + Settings.createWindow("testability/pages/UIComponentSymbolColorrendering/UIComponentSymbolColorrendering002") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_symbol_symbol_COLOURRENDERING_002 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_symbol_symbol_COLOURRENDERING_007 + * @tc.name SUB_ACE_UI_COMPONENT_symbol_symbol_COLOURRENDERING_007 + * @tc.desc fontcolor=(color.green,color.yellow) + */ + it('SUB_ACE_UI_COMPONENT_symbol_symbol_COLOURRENDERING_007', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_symbol_symbol_COLOURRENDERING_007 start.`); + Settings.createWindow("testability/pages/UIComponentSymbolColorrendering/UIComponentSymbolColorrendering007") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_symbol_symbol_COLOURRENDERING_007 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_symbol_symbol_COLOURRENDERING_008 + * @tc.name SUB_ACE_UI_COMPONENT_symbol_symbol_COLOURRENDERING_008 + * @tc.desc renderingStrategy(2) + */ + it('SUB_ACE_UI_COMPONENT_symbol_symbol_COLOURRENDERING_008', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_symbol_symbol_COLOURRENDERING_008 _0010 start.`); + Settings.createWindow("testability/pages/UIComponentSymbolColorrendering/UIComponentSymbolColorrendering008") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_symbol_symbol_COLOURRENDERING_008 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_symbol_symbol_COLOURRENDERING_009 + * @tc.name SUB_ACE_UI_COMPONENT_symbol_symbol_COLOURRENDERING_009 + * @tc.desc resource=sys.media.ohos_mic + */ + it('SUB_ACE_UI_COMPONENT_symbol_symbol_COLOURRENDERING_009', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_symbol_symbol_COLOURRENDERING_009 _0010 start.`); + Settings.createWindow("testability/pages/UIComponentSymbolColorrendering/UIComponentSymbolColorrendering009") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_symbol_symbol_COLOURRENDERING_009 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_SYMBOL_SYMBOL_DISPLAY_0030 + * @tc.name SUB_ACE_UI_COMPONENT_SYMBOL_SYMBOL_DISPLAY_0030 + * @tc.desc resource=ohos_folder_badge_plus + */ + it('SUB_ACE_UI_COMPONENT_SYMBOL_SYMBOL_DISPLAY_0030', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SYMBOL_SYMBOL_DISPLAY_0030 start.`); + Settings.createWindow("testability/pages/UIComponentSymbolColorrendering/UIComponentSymboldisplay003") + await Utils.sleep(1000) + let driver : Driver = Driver.create() + let button:Component = await driver.findComponent(ON.id('symboldisplay003')) + await button.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SYMBOL_SYMBOL_DISPLAY_0030 finish.`); + done() + }) + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentSymbolDisplayTest/UIComponentSymbolDisplay.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentSymbolDisplayTest/UIComponentSymbolDisplay.test.ets new file mode 100644 index 000000000..36bee7932 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentSymbolDisplayTest/UIComponentSymbolDisplay.test.ets @@ -0,0 +1,78 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development 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 Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' +import {UiComponent, UiDriver, Component, Driver, UiWindow, ON, BY, MatchPattern, DisplayRotation, ResizeDirection, WindowMode, PointerMatrix} from '@ohos.UiTest'; +export default function UIComponentSymbolDisplay() { + describe('UIComponentSymbolDisplay', () => { + afterEach(async (done: Function) => { + if (Settings.windowClass == undefined) { + return + } + + Settings.windowClass.destroyWindow((err) => { + if (err.code) { + Logger.error('TEST', `Failed to destroy the window. Cause : ${JSON.stringify(err)}`) + return; + } + Logger.info('TEST', `Succeeded in destroy the window.`); + }) + await Utils.sleep(1000); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_SYMBOL_SYMBOL_DISPLAY_0030 + * @tc.name SUB_ACE_UI_COMPONENT_SYMBOL_SYMBOL_DISPLAY_0030 + * @tc.desc resource=sys.media.ohos_lungs + */ + it('SUB_ACE_UI_COMPONENT_SYMBOL_SYMBOL_DISPLAY_0030', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SYMBOL_SYMBOL_DISPLAY_0030 start.`); + Settings.createWindow("testability/pages/UIComponentSymbolDisplay/UIComponentSymbolDisplay003") + await Utils.sleep(1000) + let driver:Driver=Driver.create() + let button:Component =await driver.findComponent(ON.id('symboldisplay003')) + await button.click() + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SYMBOL_SYMBOL_DISPLAY_0030 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_SYMBOL_SYMBOL_DISPLAY_0090 + * @tc.name SUB_ACE_UI_COMPONENT_SYMBOL_SYMBOL_DISPLAY_0090 + * @tc.desc resource=sys.media.ohos_lungs + */ + it('SUB_ACE_UI_COMPONENT_SYMBOL_SYMBOL_DISPLAY_0090', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SYMBOL_SYMBOL_DISPLAY_0090 start.`); + Settings.createWindow("testability/pages/UIComponentSymbolDisplay/UIComponentSymbolDisplay009") + await Utils.sleep(1000) + let driver:Driver=Driver.create() + let button:Component =await driver.findComponent(ON.id('displaydelete001')) + let button01:Component =await driver.findComponent(ON.id('displaypush001')) + await button.click() + await Utils.sleep(1000) + await button01.click() + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_SYMBOL_SYMBOL_DISPLAY_0090 finish.`); + done() + }) + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentTextCapiTest/UIComponentTextCapi.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentTextCapiTest/UIComponentTextCapi.test.ets new file mode 100644 index 000000000..664675e0a --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentTextCapiTest/UIComponentTextCapi.test.ets @@ -0,0 +1,806 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development 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 Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' +export default function UIComponentTextCapi() { + describe('UIComponentTextCapi', () => { + afterEach(async (done: Function) => { + if (Settings.windowClass == undefined) { + return + } + Settings.windowClass.destroyWindow((err) => { + if (err.code) { + Logger.error('TEST', `Failed to destroy the window. Cause : ${JSON.stringify(err)}`) + return; + } + Logger.info('TEST', `Succeeded in destroy the window.`); + }) + await Utils.sleep(1000); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_CAPI_0010 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_CAPI_0010 + * @tc.desc Add Text, Set id + */ + it('SUB_ACE_UI_COMPONENT_TEXT_CAPI_0010', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0010 start.`); + Settings.createWindow("testability/pages/UIComponentTextCapi/UIComponentTextCapi001") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0010 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_CAPI_0020 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_CAPI_0020 + * @tc.desc Set fontsize + */ + it('SUB_ACE_UI_COMPONENT_TEXT_CAPI_0020', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0020 start.`); + Settings.createWindow("testability/pages/UIComponentTextCapi/UIComponentTextCapi002") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0020 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_CAPI_0030 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_CAPI_0030 + * @tc.desc Set value + */ + it('SUB_ACE_UI_COMPONENT_TEXT_CAPI_0030', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0030 start.`); + Settings.createWindow("testability/pages/UIComponentTextCapi/UIComponentTextCapi003") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0030 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_CAPI_0040 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_CAPI_0040 + * @tc.desc Set fontcolor + */ + it('SUB_ACE_UI_COMPONENT_TEXT_CAPI_0040', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0040 start.`); + Settings.createWindow("testability/pages/UIComponentTextCapi/UIComponentTextCapi004") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0040 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_CAPI_0050 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_CAPI_0050 + * @tc.desc Set fontstyle + */ + it('SUB_ACE_UI_COMPONENT_TEXT_CAPI_0050', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0050 start.`); + Settings.createWindow("testability/pages/UIComponentTextCapi/UIComponentTextCapi005") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0050 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_CAPI_0060 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_CAPI_0060 + * @tc.desc Set fontweight.bolder + */ + it('SUB_ACE_UI_COMPONENT_TEXT_CAPI_0060', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0060 start.`); + Settings.createWindow("testability/pages/UIComponentTextCapi/UIComponentTextCapi006") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0060 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_CAPI_0070 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_CAPI_0070 + * @tc.desc Set fontweight.lighter + */ + it('SUB_ACE_UI_COMPONENT_TEXT_CAPI_0070', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0070 start.`); + Settings.createWindow("testability/pages/UIComponentTextCapi/UIComponentTextCapi007") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0070 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_CAPI_0080 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_CAPI_0080 + * @tc.desc Set fontweight.normal + */ + it('SUB_ACE_UI_COMPONENT_TEXT_CAPI_0080', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0080 start.`); + Settings.createWindow("testability/pages/UIComponentTextCapi/UIComponentTextCapi008") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0080 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_CAPI_0090 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_CAPI_0090 + * @tc.desc Set fontweight.regular + */ + it('SUB_ACE_UI_COMPONENT_TEXT_CAPI_0090', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0090 start.`); + Settings.createWindow("testability/pages/UIComponentTextCapi/UIComponentTextCapi009") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0090 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_CAPI_0100 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_CAPI_0100 + * @tc.desc Set fontweight.medium + */ + it('SUB_ACE_UI_COMPONENT_TEXT_CAPI_0100', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0100 start.`); + Settings.createWindow("testability/pages/UIComponentTextCapi/UIComponentTextCapi010") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0100 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_CAPI_0110 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_CAPI_0110 + * @tc.desc Set fontweight.bold + */ + it('SUB_ACE_UI_COMPONENT_TEXT_CAPI_0110', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0110 start.`); + Settings.createWindow("testability/pages/UIComponentTextCapi/UIComponentTextCapi011") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0110 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_CAPI_0120 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_CAPI_0120 + * @tc.desc Set fontweight.bolder + */ + it('SUB_ACE_UI_COMPONENT_TEXT_CAPI_0120', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0120 start.`); + Settings.createWindow("testability/pages/UIComponentTextCapi/UIComponentTextCapi012") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0120 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_CAPI_0130 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_CAPI_0130 + * @tc.desc Set fontfamily + */ + it('SUB_ACE_UI_COMPONENT_TEXT_CAPI_0130', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0130 start.`); + Settings.createWindow("testability/pages/UIComponentTextCapi/UIComponentTextCapi013") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0130 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_CAPI_0150 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_CAPI_0150 + * @tc.desc Set copyoption.inapp + */ + it('SUB_ACE_UI_COMPONENT_TEXT_CAPI_0150', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0150 start.`); + Settings.createWindow("testability/pages/UIComponentTextCapi/UIComponentTextCapi015") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0150 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_CAPI_0160 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_CAPI_0160 + * @tc.desc Set copyoption.localdevice + */ + it('SUB_ACE_UI_COMPONENT_TEXT_CAPI_0160', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0160 start.`); + Settings.createWindow("testability/pages/UIComponentTextCapi/UIComponentTextCapi016") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0160 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_CAPI_0170 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_CAPI_0170 + * @tc.desc Set copyoption.device + */ + it('SUB_ACE_UI_COMPONENT_TEXT_CAPI_0170', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0170 start.`); + Settings.createWindow("testability/pages/UIComponentTextCapi/UIComponentTextCapi017") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0170 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_CAPI_0180 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_CAPI_0180 + * @tc.desc Set textlineheight 30 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_CAPI_0180', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0180 start.`); + Settings.createWindow("testability/pages/UIComponentTextCapi/UIComponentTextCapi018") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0180 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_CAPI_0190 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_CAPI_0190 + * @tc.desc Set textlineheight -10 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_CAPI_0190', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0190 start.`); + Settings.createWindow("testability/pages/UIComponentTextCapi/UIComponentTextCapi019") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0190 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_CAPI_0200 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_CAPI_0200 + * @tc.desc Set textlineheight,fontsize + */ + it('SUB_ACE_UI_COMPONENT_TEXT_CAPI_0200', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0200 start.`); + Settings.createWindow("testability/pages/UIComponentTextCapi/UIComponentTextCapi020") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0200 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_CAPI_0210 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_CAPI_0210 + * @tc.desc Set textdecoration.none + */ + it('SUB_ACE_UI_COMPONENT_TEXT_CAPI_0210', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0210 start.`); + Settings.createWindow("testability/pages/UIComponentTextCapi/UIComponentTextCapi021") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0210 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_CAPI_0220 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_CAPI_0220 + * @tc.desc Set textdecoration.underline + */ + it('SUB_ACE_UI_COMPONENT_TEXT_CAPI_0220', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0220 start.`); + Settings.createWindow("testability/pages/UIComponentTextCapi/UIComponentTextCapi022") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0220 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_CAPI_0230 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_CAPI_0230 + * @tc.desc Set textdecoration.linethrough + */ + it('SUB_ACE_UI_COMPONENT_TEXT_CAPI_0230', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0230 start.`); + Settings.createWindow("testability/pages/UIComponentTextCapi/UIComponentTextCapi023") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0230 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_CAPI_0240 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_CAPI_0240 + * @tc.desc Set textdecoration.overline + */ + it('SUB_ACE_UI_COMPONENT_TEXT_CAPI_0240', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0240 start.`); + Settings.createWindow("testability/pages/UIComponentTextCapi/UIComponentTextCapi024") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0240 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_CAPI_0260 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_CAPI_0260 + * @tc.desc Set textcase.lowercase + */ + it('SUB_ACE_UI_COMPONENT_TEXT_CAPI_0260', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0260 start.`); + Settings.createWindow("testability/pages/UIComponentTextCapi/UIComponentTextCapi026") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0260 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_CAPI_0270 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_CAPI_0270 + * @tc.desc Set textcase.uppercase + */ + it('SUB_ACE_UI_COMPONENT_TEXT_CAPI_0270', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0270 start.`); + Settings.createWindow("testability/pages/UIComponentTextCapi/UIComponentTextCapi027") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0270 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_CAPI_0280 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_CAPI_0280 + * @tc.desc Set textcase.normal + */ + it('SUB_ACE_UI_COMPONENT_TEXT_CAPI_0280', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0280 start.`); + Settings.createWindow("testability/pages/UIComponentTextCapi/UIComponentTextCapi028") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0280 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_CAPI_0300 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_CAPI_0300 + * @tc.desc Set textletterspacing 10 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_CAPI_0300', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0300 start.`); + Settings.createWindow("testability/pages/UIComponentTextCapi/UIComponentTextCapi030") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0300 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_CAPI_0310 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_CAPI_0310 + * @tc.desc Set textletterspacing -5 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_CAPI_0310', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0310 start.`); + Settings.createWindow("testability/pages/UIComponentTextCapi/UIComponentTextCapi031") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0310 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_CAPI_0320 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_CAPI_0320 + * @tc.desc Set textmaxlines 5 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_CAPI_0320', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0320 start.`); + Settings.createWindow("testability/pages/UIComponentTextCapi/UIComponentTextCapi032") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0320 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_CAPI_0330 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_CAPI_0330 + * @tc.desc Set textmaxlines -1 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_CAPI_0330', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0330 start.`); + Settings.createWindow("testability/pages/UIComponentTextCapi/UIComponentTextCapi033") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0330 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_CAPI_0340 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_CAPI_0340 + * @tc.desc Set textalign.start + */ + it('SUB_ACE_UI_COMPONENT_TEXT_CAPI_0340', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0340 start.`); + Settings.createWindow("testability/pages/UIComponentTextCapi/UIComponentTextCapi034") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0340 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_CAPI_0350 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_CAPI_0350 + * @tc.desc Set textalign.center + */ + it('SUB_ACE_UI_COMPONENT_TEXT_CAPI_0350', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0350 start.`); + Settings.createWindow("testability/pages/UIComponentTextCapi/UIComponentTextCapi035") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0350 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_CAPI_0360 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_CAPI_0360 + * @tc.desc Set textalign.end + */ + it('SUB_ACE_UI_COMPONENT_TEXT_CAPI_0360', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0360 start.`); + Settings.createWindow("testability/pages/UIComponentTextCapi/UIComponentTextCapi036") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0360 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_CAPI_0370 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_CAPI_0370 + * @tc.desc Set textalign.justify + */ + it('SUB_ACE_UI_COMPONENT_TEXT_CAPI_0370', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0370 start.`); + Settings.createWindow("testability/pages/UIComponentTextCapi/UIComponentTextCapi037") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0370 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_CAPI_0380 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_CAPI_0380 + * @tc.desc Set textalign.justify + */ + it('SUB_ACE_UI_COMPONENT_TEXT_CAPI_0380', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0380 start.`); + Settings.createWindow("testability/pages/UIComponentTextCapi/UIComponentTextCapi038") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0380 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_CAPI_0390 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_CAPI_0390 + * @tc.desc Set textalign.justify + */ + it('SUB_ACE_UI_COMPONENT_TEXT_CAPI_0390', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0390 start.`); + Settings.createWindow("testability/pages/UIComponentTextCapi/UIComponentTextCapi039") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0390 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_CAPI_0400 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_CAPI_0400 + * @tc.desc Set textalign.center, align.topstart + */ + it('SUB_ACE_UI_COMPONENT_TEXT_CAPI_0400', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0400 start.`); + Settings.createWindow("testability/pages/UIComponentTextCapi/UIComponentTextCapi040") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0400 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_CAPI_0410 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_CAPI_0410 + * @tc.desc Set textalign.end, align.center + */ + it('SUB_ACE_UI_COMPONENT_TEXT_CAPI_0410', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0410 start.`); + Settings.createWindow("testability/pages/UIComponentTextCapi/UIComponentTextCapi041") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0410 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_CAPI_0420 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_CAPI_0420 + * @tc.desc Set textalign.center, align.bottomend + */ + it('SUB_ACE_UI_COMPONENT_TEXT_CAPI_0420', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0420 start.`); + Settings.createWindow("testability/pages/UIComponentTextCapi/UIComponentTextCapi042") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0420 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_CAPI_0430 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_CAPI_0430 + * @tc.desc Set textoverflow, textmaxlines + */ + it('SUB_ACE_UI_COMPONENT_TEXT_CAPI_0430', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0430 start.`); + Settings.createWindow("testability/pages/UIComponentTextCapi/UIComponentTextCapi043") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0430 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_CAPI_0440 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_CAPI_0440 + * @tc.desc Set textoverflow, textmaxlines + */ + it('SUB_ACE_UI_COMPONENT_TEXT_CAPI_0440', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0440 start.`); + Settings.createWindow("testability/pages/UIComponentTextCapi/UIComponentTextCapi044") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0440 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_CAPI_0450 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_CAPI_0450 + * @tc.desc Set textoverflow, textmaxlines + */ + it('SUB_ACE_UI_COMPONENT_TEXT_CAPI_0450', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0450 start.`); + Settings.createWindow("testability/pages/UIComponentTextCapi/UIComponentTextCapi045") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0450 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_CAPI_0460 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_CAPI_0460 + * @tc.desc Set textoverflow, textmaxlines + */ + it('SUB_ACE_UI_COMPONENT_TEXT_CAPI_0460', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0460 start.`); + Settings.createWindow("testability/pages/UIComponentTextCapi/UIComponentTextCapi046") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0460 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_CAPI_0480 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_CAPI_0480 + * @tc.desc Set textoverflow, textmaxlines, clip.false + */ + it('SUB_ACE_UI_COMPONENT_TEXT_CAPI_0480', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0480 start.`); + Settings.createWindow("testability/pages/UIComponentTextCapi/UIComponentTextCapi048") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0480 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_CAPI_0490 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_CAPI_0490 + * @tc.desc Set baselineoffset 10 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_CAPI_0490', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0490 start.`); + Settings.createWindow("testability/pages/UIComponentTextCapi/UIComponentTextCapi049") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0490 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_CAPI_0500 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_CAPI_0500 + * @tc.desc Set baselineoffset -5 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_CAPI_0500', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0500 start.`); + Settings.createWindow("testability/pages/UIComponentTextCapi/UIComponentTextCapi050") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0500 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_CAPI_0510 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_CAPI_0510 + * @tc.desc Set baselineoffset 50% + */ + it('SUB_ACE_UI_COMPONENT_TEXT_CAPI_0510', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0510 start.`); + Settings.createWindow("testability/pages/UIComponentTextCapi/UIComponentTextCapi051") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0510 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_CAPI_0520 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_CAPI_0520 + * @tc.desc Set textindent 10 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_CAPI_0520', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0520 start.`); + Settings.createWindow("testability/pages/UIComponentTextCapi/UIComponentTextCapi052") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0520 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_CAPI_0530 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_CAPI_0530 + * @tc.desc Set textindent -10 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_CAPI_0530', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0530 start.`); + Settings.createWindow("testability/pages/UIComponentTextCapi/UIComponentTextCapi053") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0530 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_CAPI_0540 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_CAPI_0540 + * @tc.desc Set shadow 0xFFFF0000 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_CAPI_0540', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0540 start.`); + Settings.createWindow("testability/pages/UIComponentTextCapi/UIComponentTextCapi054") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0540 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_CAPI_0550 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_CAPI_0550 + * @tc.desc Set shadow 0xFF0000FF + */ + it('SUB_ACE_UI_COMPONENT_TEXT_CAPI_0550', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0550 start.`); + Settings.createWindow("testability/pages/UIComponentTextCapi/UIComponentTextCapi055") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_CAPI_0550 finish.`); + done() + }) + + + + + }) +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentTextCommonAffingTranTest/UIComponentTextCommonAffingTran.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentTextCommonAffingTranTest/UIComponentTextCommonAffingTran.test.ets new file mode 100644 index 000000000..89c71b558 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentTextCommonAffingTranTest/UIComponentTextCommonAffingTran.test.ets @@ -0,0 +1,450 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development 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 { afterEach, describe, it } from '@ohos/hypium' +import Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' +import { Component, Driver, ON } from '@ohos.UiTest' + +export default function UIComponentTextCommonAffingTranTest() { + + describe('UIComponentTextCommonAffingTranTest', () => { + afterEach(async (done: Function) => { + if (Settings.windowClass == undefined) { + return + } + + Settings.windowClass.destroyWindow((err) => { + if (err.code) { + Logger.error('TEST', `Failed to destroy the window. Cause : ${JSON.stringify(err)}`) + return; + } + Logger.info('TEST', `Succeeded in destroy the window.`); + }) + await Utils.sleep(1000); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0140 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0140 + * @tc.desc set matrix4 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0140', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0140 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonAffingTran/UIComponentTextCommonAffingTran0140") + await Utils.sleep(1000) + let driver: Driver = Driver.create() + let text: Component = await driver.findComponent(ON.id('TextCommonAffing0140')) + let button: Component = await driver.findComponent(ON.id('transform0140')) + await driver.longClick(150, 150) + await Utils.sleep(1000) + await button.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0140`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0150 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0150 + * @tc.desc set matrix4.identity().translate({ x: 50, y: 50 }) + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0150', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0150 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonAffingTran/UIComponentTextCommonAffingTran0150") + await Utils.sleep(1000) + let driver: Driver = Driver.create() + let text: Component = await driver.findComponent(ON.id('TextCommonAffing0150')) + let button: Component = await driver.findComponent(ON.id('transform0150')) + await text.inputText('hello world') + await driver.longClick(150, 150) + await Utils.sleep(1000) + await button.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0150`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0160 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0160 + * @tc.desc set scale={ x: -2, y: 0.5, z:-5 } + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0160', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0160 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonAffingTran/UIComponentTextCommonAffingTran0160") + await Utils.sleep(1000) + let driver: Driver = Driver.create() + let text: Component = await driver.findComponent(ON.id('TextCommonAffing0160')) + let button: Component = await driver.findComponent(ON.id('transform0160')) + await driver.longClick(150, 150) + await Utils.sleep(1000) + await button.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0160`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0190 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0190 + * @tc.desc set rotate={ x: 1,y:0,z:0,centerX:'0%',centerY:'0%',angle: 300} + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0190', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0190 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonAffingTran/UIComponentTextCommonAffingTran0190") + await Utils.sleep(1000) + let driver: Driver = Driver.create() + let text: Component = await driver.findComponent(ON.id('TextCommonAffing0190')) + let button: Component = await driver.findComponent(ON.id('transform0190')) + await driver.longClick(100, 150) + await button.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0190`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0220 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0220 + * @tc.desc set rotate={x:1,y:0,z:0,centerX:'0%',centerY:'0%',angle:300} + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0220', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0220 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonAffingTran/UIComponentTextCommonAffingTran0220") + await Utils.sleep(1000) + let driver: Driver = Driver.create() + let text: Component = await driver.findComponent(ON.id('TextCommonAffing0220')) + let button: Component = await driver.findComponent(ON.id('transform0220')) + await driver.longClick(100, 150) + await button.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0220`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0230 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0230 + * @tc.desc both set rotate={x:1,y:0,z:0,centerX:'0%',centerY:'0%',angle:300} + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0230', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0230 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonAffingTran/UIComponentTextCommonAffingTran0230") + await Utils.sleep(1000) + let driver: Driver = Driver.create() + let text: Component = await driver.findComponent(ON.id('TextCommonAffing0230')) + let text02: Component = await driver.findComponent(ON.id('TextArea0230')) + let text03: Component = await driver.findComponent(ON.id('searchAffing0230')) + let button: Component = await driver.findComponent(ON.id('transform0230')) + let button02: Component = await driver.findComponent(ON.id('transform0230-1')) + let button03: Component = await driver.findComponent(ON.id('transform0230-2')) + await text.inputText('aaaa') + await driver.longClick(100, 150) + await button.click() + await Utils.sleep(1000) + await text02.inputText('aaaa') + await driver.longClick(250, 150) + await button02.click() + await Utils.sleep(1000) + await text03.inputText('aaaa') + await driver.longClick(350, 150) + await button03.click() + await Utils.sleep(1000) + await Utils.sleep(1000) + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0230`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0240 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0240 + * @tc.desc both set scale={ x: -2, y: 0.5, z:-5 } + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0240', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0240 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonAffingTran/UIComponentTextCommonAffingTran0240") + await Utils.sleep(1000) + let driver: Driver = Driver.create() + let text: Component = await driver.findComponent(ON.id('TextCommonAffing0240')) + let text02: Component = await driver.findComponent(ON.id('TextArea0240')) + let text03: Component = await driver.findComponent(ON.id('searchAffing0240')) + let button: Component = await driver.findComponent(ON.id('transform0240')) + let button02: Component = await driver.findComponent(ON.id('transform0240-1')) + let button03: Component = await driver.findComponent(ON.id('transform0240-2')) + await text.inputText('aaaa') + await driver.click(100, 150) + await button.click() + await Utils.sleep(1000) + await text02.inputText('aaaa') + await driver.click(250, 150) + await button02.click() + await Utils.sleep(1000) + await text03.inputText('aaaa') + await driver.click(350, 150) + await button03.click() + await Utils.sleep(1000) + await Utils.sleep(1000) + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0240`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0250 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0250 + * @tc.desc set .width('75%').height(75) + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0250', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0250 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonAffingTran/UIComponentTextCommonAffingTran0250") + await Utils.sleep(1000) + let driver: Driver = Driver.create() + let text: Component = await driver.findComponent(ON.id('TextCommonAffing0250')) + let button: Component = await driver.findComponent(ON.id('transform0250')) + await driver.longClick(100, 150) + await button.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0250`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0280 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0280 + * @tc.desc set width('95%').height(50) + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0280', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0280 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonAffingTran/UIComponentTextCommonAffingTran0280") + await Utils.sleep(1000) + let driver: Driver = Driver.create() + let text: Component = await driver.findComponent(ON.id('TextCommonAffing0280')) + let button: Component = await driver.findComponent(ON.id('transform0280')) + await driver.longClick(100, 150) + await button.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0280`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0290 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0290 + * @tc.desc set translate={ x: 100, y: 10 } + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0290', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0290 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonAffingTran/UIComponentTextCommonAffingTran0290") + await Utils.sleep(1000) + let driver: Driver = Driver.create() + let text: Component = await driver.findComponent(ON.id('TextCommonAffing0290')) + let text02: Component = await driver.findComponent(ON.id('TextArea0290')) + let text03: Component = await driver.findComponent(ON.id('searchAffing0290')) + let button: Component = await driver.findComponent(ON.id('transform0290')) + let button02: Component = await driver.findComponent(ON.id('transform0290-1')) + let button03: Component = await driver.findComponent(ON.id('transform0290-2')) + await text.inputText('aaaa') + await driver.longClick(100, 150) + await button.click() + await Utils.sleep(1000) + await text02.inputText('aaaa') + await driver.longClick(250, 150) + await button02.click() + await Utils.sleep(1000) + await text03.inputText('aaaa') + await driver.longClick(350, 150) + await button03.click() + await Utils.sleep(1000) + await Utils.sleep(1000) + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0290`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0300 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0300 + * @tc.desc set rotate={ x: 1, y: 0, z:0,centerX: '0%',centerY: '0%',angle: 300} + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0300', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0300 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonAffingTran/UIComponentTextCommonAffingTran0300") + await Utils.sleep(1000) + let driver: Driver = Driver.create() + let text: Component = await driver.findComponent(ON.id('TextCommonAffing0300')) + let text02: Component = await driver.findComponent(ON.id('TextArea0300')) + let text03: Component = await driver.findComponent(ON.id('searchAffing0300')) + let button: Component = await driver.findComponent(ON.id('transform0300')) + let button02: Component = await driver.findComponent(ON.id('transform0300-1')) + let button03: Component = await driver.findComponent(ON.id('transform0300-2')) + await text.inputText('aaaa') + await driver.click(100, 150) + await button.click() + await Utils.sleep(1000) + await text02.inputText('aaaa') + await driver.click(250, 150) + await button02.click() + await Utils.sleep(1000) + await text03.inputText('aaaa') + await driver.click(350, 150) + await button03.click() + await Utils.sleep(1000) + await Utils.sleep(1000) + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0300`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0310 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0310 + * @tc.desc set width(50%').height(95) + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0310', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0310 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonAffingTran/UIComponentTextCommonAffingTran0310") + await Utils.sleep(1000) + let driver: Driver = Driver.create() + let text: Component = await driver.findComponent(ON.id('TextCommonAffing0310')) + let button: Component = await driver.findComponent(ON.id('transform0310')) + await driver.longClick(100, 150) + await button.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0310`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0320 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0320 + * @tc.desc longclick TextInput/textarea/search + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0320', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0320 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonAffingTran/UIComponentTextCommonAffingTran0320") + await Utils.sleep(1000) + let driver: Driver = Driver.create() + let text: Component = await driver.findComponent(ON.id('TextCommonAffing0320')) + let text02: Component = await driver.findComponent(ON.id('TextArea0320')) + let text03: Component = await driver.findComponent(ON.id('searchAffing0320')) + let button: Component = await driver.findComponent(ON.id('transform0320')) + let button02: Component = await driver.findComponent(ON.id('transform0320-1')) + let button03: Component = await driver.findComponent(ON.id('transform0320-2')) + await text.inputText('aaaa') + await driver.longClick(100, 150) + await button.click() + await Utils.sleep(1000) + await text02.inputText('aaaa') + await driver.longClick(250, 150) + await button02.click() + await Utils.sleep(1000) + await text03.inputText('aaaa') + await driver.longClick(350, 150) + await button03.click() + await Utils.sleep(1000) + await Utils.sleep(1000) + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0320`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0330 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0330 + * @tc.desc click TextInput/textarea/search + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0330', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0330 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonAffingTran/UIComponentTextCommonAffingTran0330") + await Utils.sleep(1000) + let driver: Driver = Driver.create() + let text: Component = await driver.findComponent(ON.id('TextCommonAffing0330')) + let text02: Component = await driver.findComponent(ON.id('TextArea0330')) + let text03: Component = await driver.findComponent(ON.id('searchAffing0330')) + let button: Component = await driver.findComponent(ON.id('transform0330')) + let button02: Component = await driver.findComponent(ON.id('transform0330-1')) + let button03: Component = await driver.findComponent(ON.id('transform0330-2')) + await text.inputText('aaaa') + await driver.click(100, 150) + await button.click() + await Utils.sleep(1000) + await text02.inputText('aaaa') + await driver.click(250, 150) + await button02.click() + await Utils.sleep(1000) + await text03.inputText('aaaa') + await driver.click(350, 150) + await button03.click() + await Utils.sleep(1000) + await Utils.sleep(1000) + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0330`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0340 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0340 + * @tc.desc set width('75%').height(75) + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0340', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0340 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonAffingTran/UIComponentTextCommonAffingTran0340") + await Utils.sleep(1000) + let driver: Driver = Driver.create() + let text: Component = await driver.findComponent(ON.id('TextCommonAffing0340')) + let button: Component = await driver.findComponent(ON.id('transform0340')) + await driver.longClick(100, 150) + await button.click() + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_AFFINE_TRANSFORMATION_0340`); + done() + }) + }) +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentTextCommonLinespaceCTest/UIComponentTextCommonLinespaceC.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentTextCommonLinespaceCTest/UIComponentTextCommonLinespaceC.test.ets new file mode 100644 index 000000000..1ee06330b --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentTextCommonLinespaceCTest/UIComponentTextCommonLinespaceC.test.ets @@ -0,0 +1,161 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development 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 Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' + +export default function UIComponentTextCommonLinespaceC() { + + describe('UIComponentTextCommonLinespaceC', () => { + afterEach(async (done: Function) => { + if (Settings.windowClass == undefined) { + return + } + + Settings.windowClass.destroyWindow((err) => { + if (err.code) { + Logger.error('TEST', `Failed to destroy the window. Cause : ${JSON.stringify(err)}`) + return; + } + Logger.info('TEST', `Succeeded in destroy the window.`); + }) + await Utils.sleep(1000); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_C_0020 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_C_0020 + * @tc.desc Set textOverFlow + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_C_0020', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_C_0020 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonLinespaceC/UIComponentTextCommonLinespaceC002") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_C_0020 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_C_0030 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_C_0030 + * @tc.desc Set textOverFlow + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_C_0030', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_C_0030 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonLinespaceC/UIComponentTextCommonLinespaceC003") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_C_0030 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_C_0040 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_C_0040 + * @tc.desc Set textOverFlow + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_C_0040', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_C_0040 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonLinespaceC/UIComponentTextCommonLinespaceC004") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_C_0040 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_C_0050 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_C_0050 + * @tc.desc Set lineSpacing + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_C_0050', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_C_0050 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonLinespaceC/UIComponentTextCommonLinespaceC005") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_C_0050 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_C_0060 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_C_0060 + * @tc.desc Set lineSpacing + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_C_0060', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_C_0060 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonLinespaceC/UIComponentTextCommonLinespaceC006") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_C_0060 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_C_0070 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_C_0070 + * @tc.desc Set lineSpacing + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_C_0070', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_C_0070 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonLinespaceC/UIComponentTextCommonLinespaceC007") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_C_0070 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_C_0080 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_C_0080 + * @tc.desc Set lineSpacing + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_C_0080', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_C_0080 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonLinespaceC/UIComponentTextCommonLinespaceC008") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_C_0080 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_C_0090 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_C_0090 + * @tc.desc Set lineSpacing lineHeight + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_C_0090', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_C_0090 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonLinespaceC/UIComponentTextCommonLinespaceC009") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_C_0090 finish.`); + done() + }) + + }) +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentTextCommonLinespaceTest/UIComponentTextCommonLinespace.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentTextCommonLinespaceTest/UIComponentTextCommonLinespace.test.ets new file mode 100644 index 000000000..10d14d8cc --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentTextCommonLinespaceTest/UIComponentTextCommonLinespace.test.ets @@ -0,0 +1,286 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development 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 Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' +import {UiComponent, Component, Driver, ON, BY, MouseButton} from '@ohos.UiTest'; +export default function UIComponentTextCommonLinespace() { + + describe('UIComponentTextCommonLinespace', () => { + afterEach(async (done: Function) => { + if (Settings.windowClass == undefined) { + return + } + + Settings.windowClass.destroyWindow((err) => { + if (err.code) { + Logger.error('TEST', `Failed to destroy the window. Cause : ${JSON.stringify(err)}`) + return; + } + Logger.info('TEST', `Succeeded in destroy the window.`); + }) + await Utils.sleep(1000); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0010 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0010 + * @tc.desc Set lineSpacing + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0010', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0010 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonLinespace/UIComponentTextCommonLinespace001") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0010 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0020 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0020 + * @tc.desc Set lineSpacing + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0020', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0020 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonLinespace/UIComponentTextCommonLinespace002") + await Utils.sleep(1000) + let driver = Driver.create(); + let button = await driver.findComponent(ON.id('type1')); + await button.click(); + await button.click(); + await button.click(); + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0020 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0030 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0030 + * @tc.desc Set lineSpacing + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0030', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0030 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonLinespace/UIComponentTextCommonLinespace003") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0030 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0040 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0040 + * @tc.desc Set lineSpacing + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0040', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0040 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonLinespace/UIComponentTextCommonLinespace004") + await Utils.sleep(1000) + let driver = Driver.create(); + let button = await driver.findComponent(ON.id('linespacing1')); + await button.click(); + await button.click(); + await button.click(); + let textarea = await driver.findComponent(ON.id('textarea1')) + await textarea.longClick(); + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0040 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0050 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0050 + * @tc.desc Set lineSpacing + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0050', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0050 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonLinespace/UIComponentTextCommonLinespace005") + await Utils.sleep(1000) + let driver = Driver.create(); + let button = await driver.findComponent(ON.id('linespacing1')); + await button.click(); + await button.click(); + await button.click(); + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0050 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0070 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0070 + * @tc.desc Set textOverFlow + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0070', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0070 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonLinespace/UIComponentTextCommonLinespace007") + await Utils.sleep(1000) + let driver = Driver.create(); + let button = await driver.findComponent(ON.id('type1')); + await button.click(); + await button.click(); + await button.click(); + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0070 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0080 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0080 + * @tc.desc NoSet lineSpacing + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0080', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0080 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonLinespace/UIComponentTextCommonLinespace008") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0080 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0090 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0090 + * @tc.desc Set lineSpacing + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0090', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0090 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonLinespace/UIComponentTextCommonLinespace009") + await Utils.sleep(1000) + let driver = Driver.create(); + let button = await driver.findComponent(ON.id('linespacing1')); + await button.click(); + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0090 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0100 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0100 + * @tc.desc Set lineSpacing + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0100', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0100 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonLinespace/UIComponentTextCommonLinespace010") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0100 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0110 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0110 + * @tc.desc Set lineSpacing + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0110', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0110 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonLinespace/UIComponentTextCommonLinespace011") + await Utils.sleep(1000) + let driver = Driver.create(); + let button = await driver.findComponent(ON.id('linespacing1')); + await button.click(); + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0110 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0120 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0120 + * @tc.desc Set lineSpacing + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0120', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0120 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonLinespace/UIComponentTextCommonLinespace012") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0120 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0130 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0130 + * @tc.desc Set lineSpacing + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0130', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0130 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonLinespace/UIComponentTextCommonLinespace013") + await Utils.sleep(1000) + let driver = Driver.create(); + let button = await driver.findComponent(ON.id('SET1')); + await button.click(); + await button.click(); + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0130 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0140 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0140 + * @tc.desc Set lineSpacing + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0140', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0140 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonLinespace/UIComponentTextCommonLinespace014") + await Utils.sleep(1000) + let driver = Driver.create(); + let button = await driver.findComponent(ON.id('linespacing1')); + await button.click(); + await button.click(); + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0140 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0150 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0150 + * @tc.desc Set lineSpacing + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0150', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0150 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonLinespace/UIComponentTextCommonLinespace015") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LINESPACE_0150 finish.`); + done() + }) + }) +} \ No newline at end of file diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentTextCommonLocationTest/UIComponentTextCommonLocation.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentTextCommonLocationTest/UIComponentTextCommonLocation.test.ets new file mode 100644 index 000000000..c9d2968c0 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentTextCommonLocationTest/UIComponentTextCommonLocation.test.ets @@ -0,0 +1,752 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development 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 { afterEach, describe, it } from '@ohos/hypium' +import Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' +import { Driver, ON,Component } from '@ohos.UiTest' + +export default function UIComponentTextCommonLocationTest() { + + describe('UIComponentTextCommonLocationTest', () => { + afterEach(async (done: Function) => { + if (Settings.windowClass == undefined) { + return + } + + Settings.windowClass.destroyWindow((err) => { + if (err.code) { + Logger.error('TEST', `Failed to destroy the window. Cause : ${JSON.stringify(err)}`) + return; + } + Logger.info('TEST', `Succeeded in destroy the window.`); + }) + await Utils.sleep(1000); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0010 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0010 + * @tc.desc Search placeholder + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0010', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0010 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation001") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0010 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0020 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0020 + * @tc.desc Search placeholder + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0020', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0020 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation002") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0020 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0030 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0030 + * @tc.desc Search +*/ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0030', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0030 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation003") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0030 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0040 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0040 + * @tc.desc Search set placeholder +*/ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0040', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0040 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation004") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0040 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0050 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0050 + * @tc.desc Search more text +*/ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0050', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0050 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation005") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0050 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0060 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0060 + * @tc.desc Search no text + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0060', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0060 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation006") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0060 finish.`); + done() + }) + + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0090 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0090 + * @tc.desc set fontSize、fontStyle、fontWeight +*/ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0090', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0090 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation009") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0090 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0100 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0100 + * @tc.desc set textAlign、align +*/ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0100', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0100 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation010") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0100 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0120 +* @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0120 +* @tc.desc set border +*/ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0120', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0120 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation012") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0120 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0140 +* @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0140 +* @tc.desc set padding、margin +*/ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0140', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0140 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation014") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0140 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0150 +* @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0150 +* @tc.desc set width、height +*/ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0150', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0150 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation015") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0150 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0160 +* @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0160 +* @tc.desc set maxlength +*/ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0160', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0160 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation016") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0160 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0170 +* @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0170 +* @tc.desc set a phrase +*/ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0170', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0170 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation017") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0170 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0180 +* @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0180 +* @tc.desc Textinput set placeholder +*/ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0180', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0180 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation018") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0180 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0190 +* @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0190 +* @tc.desc Textinput set placeholder +*/ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0190', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0190 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation019") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0190 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0200 +* @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0200 +* @tc.desc Textinput +*/ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0200', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0200 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation020") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0200 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0210 +* @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0210 +* @tc.desc Textinput set placeholder +*/ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0210', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0210 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation021") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0210 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0220 +* @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0220 +* @tc.desc Textinput +*/ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0220', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0220 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation022") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0220 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0230 +* @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0230 +* @tc.desc Textinput single placeholder +*/ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0230', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0230 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation023") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0230 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0260 +* @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0260 +* @tc.desc Textinput set fontSize、fontStyle、fontWeight +*/ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0260', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0260 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation026") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0260 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0270 +* @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0270 +* @tc.desc Textinput textAlign、align +*/ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0270', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0270 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation027") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0270 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0280 +* @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0280 +* @tc.desc Textinput set barState +*/ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0280', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0280 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation028") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0280 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0290 +* @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0290 +* @tc.desc Textinput setborder +*/ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0290', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0290 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation029") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0290 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0300 +* @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0300 +* @tc.desc Textinput set maxLines +*/ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0300', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0300 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation030") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0300 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0310 +* @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0310 +* @tc.desc Textinput set padding、margin +*/ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0310', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0310 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation031") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0310 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0320 +* @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0320 +* @tc.desc Textinput set width、height +*/ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0320', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0320 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation032") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0320 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0330 +* @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0330 +* @tc.desc Textinput set maxlength +*/ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0330', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0330 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation033") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0330 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0340 +* @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0340 +* @tc.desc Textinput set a phrese +*/ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0340', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0340 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation034") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0340 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0350 +* @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0350 +* @tc.desc textarea placeholder +*/ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0350', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0350 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation035") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0350 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0360 +* @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0360 +* @tc.desc textarea set placeholder +*/ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0360', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0360 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation036") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0360 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0370 +* @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0370 +* @tc.desc textarea set single phrase +*/ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0370', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0370 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation037") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0370 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0380 +* @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0380 +* @tc.desc textarea set placeholder +*/ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0380', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0380 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation038") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0380 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0390 +* @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0390 +* @tc.desc textarea set multiple placeholder +*/ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0390', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0390 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation039") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0390 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0400 +* @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0400 +* @tc.desc textarea not set +*/ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0400', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0400 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation040") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0400 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0430 +* @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0430 +* @tc.desc textarea fontSize、fontStyle、fontWeight +*/ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0430', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0430 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation043") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0430 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0440 +* @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0440 +* @tc.desc textarea set textAlign、align +*/ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0440', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0440 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation044") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0440 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0450 +* @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0450 +* @tc.desc textarea set barState +*/ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0450', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0450 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation045") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0450 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0460 +* @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0460 +* @tc.desc textarea +*/ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0460', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0460 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation046") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0460 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0470 +* @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0470 +* @tc.desc textarea set maxLines +*/ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0470', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0470 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation047") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0470 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0480 +* @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0480 +* @tc.desc textarea set padding、margin +*/ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0480', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0480 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation048") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0480 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0490 +* @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0490 +* @tc.desc textarea set width、height +*/ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0490', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0490 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation049") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0490 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0500 +* @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0500 +* @tc.desc textarea set maxlength +*/ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0500', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0500 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation050") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0500 finish.`); + done() + }) + + /* +* @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0510 +* @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0510 +* @tc.desc textarea set a phrase +*/ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0510', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0510 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonLocation/UIComponentTextCommonLocation051") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_LOCATION_0510 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_TEXTAREA_INTERFACE_1010 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_TEXTAREA_INTERFACE_1010 + * @tc.desc TextArea showCounter=true + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXTAREA_INTERFACE_1010', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXTAREA_INTERFACE_1010 start.`); + Settings.createWindow("testability/pages/UiComponentTextTextareaInterface/UiComponentTextTextareaInterface1010") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(10000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXTAREA_INTERFACE_1010 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_TEXTAREA_INTERFACE_1030 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_TEXTAREA_INTERFACE_1030 + * @tc.desc TextArea style=TextContentStyle.INLINE + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXTAREA_INTERFACE_1030', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXTAREA_INTERFACE_1010 start.`); + Settings.createWindow("testability/pages/UiComponentTextTextareaInterface/UiComponentTextTextareaInterface1030") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(10000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXTAREA_INTERFACE_1030 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_TEXTAREA_INTERFACE_1080 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_TEXTAREA_INTERFACE_1080 + * @tc.desc TextArea selectionEnd>max +*/ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXTAREA_INTERFACE_1080', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXTAREA_INTERFACE_1010 start.`); + Settings.createWindow("testability/pages/UiComponentTextTextareaInterface/UiComponentTextTextareaInterface1080") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(10000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXTAREA_INTERFACE_1080 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_TEXTAREA_INTERFACE_1090 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_TEXTAREA_INTERFACE_1090 + * @tc.desc TextArea selectionEnd>max +*/ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXTAREA_INTERFACE_1090', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXTAREA_INTERFACE_1090 start.`); + Settings.createWindow("testability/pages/UiComponentTextTextareaInterface/UiComponentTextTextareaInterface1090") + await Utils.sleep(1000) + let driver:Driver=Driver.create() + let textarea:Component =await driver.findComponent(ON.id('textarea1090')) + await textarea.inputText('aaaaaaaaaaaaaaaaaaaaaaaaaaaaa') + await textarea.clearText() + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_TEXTAREA_INTERFACE_1090 finish.`); + done() + }) + }) +} + diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentTextCommonTextStyleTest/UIComponentTextCommonTextStyleSpan.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentTextCommonTextStyleTest/UIComponentTextCommonTextStyleSpan.test.ets new file mode 100644 index 000000000..4da0b3707 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentTextCommonTextStyleTest/UIComponentTextCommonTextStyleSpan.test.ets @@ -0,0 +1,433 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development 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 Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' +import { IntentionCode } from '@ohos.multimodalInput.intentionCode' +import { KeyboardAvoidMode } from '@ohos.arkui.UIContext' + +export default function UIComponentTextCommonTextStyleSpan() { + + describe('UIComponentTextCommonTextStyleSpan', () => { + afterEach(async (done: Function) => { + if (Settings.windowClass == undefined) { + return + } + + Settings.windowClass.destroyWindow((err) => { + if (err.code) { + Logger.error('TEST', `Failed to destroy the window. Cause : ${JSON.stringify(err)}`) + return; + } + Logger.info('TEST', `Succeeded in destroy the window.`); + }) + await Utils.sleep(1000); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1590 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1590 + * @tc.desc set decoration of Span to Underline + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1590', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1590 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle159") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1590 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1600 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1600 + * @tc.desc set decoration of Span to LineThrough + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1600', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1600 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle160") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1600 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1610 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1610 + * @tc.desc set decoration of Span to OverLine + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1610', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1610 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle161") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1610 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1620 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1620 + * @tc.desc set decoration of Span to None + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1620', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1620 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle162") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1620 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1630 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1630 + * @tc.desc set font of Span to {size:20,weight:FontWeight.Bolder,family:'Arial, HarmonyOS Sans',style:FontStyle.Italic} + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1630', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1630 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle163") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1630 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1640 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1640 + * @tc.desc set lineHeight of Span to 30 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1640', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1640 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle164") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1640 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1650 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1650 + * @tc.desc set fontSize of Span to 20 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1650', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1650 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle165") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1650 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1660 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1660 + * @tc.desc set fontSize of Span to '11px' + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1660', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1660 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle166") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1660 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1670 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1670 + * @tc.desc set fontSize of Span to $r('app.string.size_30') + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1670', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1670 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle167") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1670 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1680 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1680 + * @tc.desc set fontStyle of Span to normal + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1680', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1680 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle168") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1680 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1690 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1690 + * @tc.desc set fontStyle of Span to Italic + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1690', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1690 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle169") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1690 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1700 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1700 + * @tc.desc set fontWeight of Span to Normal + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1700', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1700 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle170") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1700 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1710 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1710 + * @tc.desc set fontWeight of Span to Lighter + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1710', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1710 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle171") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1710 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1720 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1720 + * @tc.desc set fontWeight of Span to Regular + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1720', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1720 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle172") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1720 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1730 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1730 + * @tc.desc set fontWeight of Span to Medium + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1730', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1730 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle173") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1730 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1740 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1740 + * @tc.desc set fontWeight of Span to Bold + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1740', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1740 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle174") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1740 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1750 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1750 + * @tc.desc set fontWeight of Span to Bolder + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1750', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1750 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle175") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1750 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1760 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1760 + * @tc.desc set fontFamily of Span to 'HarmonyOS-Sans' + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1760', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1760 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle176") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1760 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1770 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1770 + * @tc.desc set fontColor of Span to Color.blue + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1770', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1770 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle177") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1770 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1780 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1780 + * @tc.desc set fontColor of Span to 0xffffff + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1780', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1780 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle178") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1780 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1790 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1790 + * @tc.desc set fontColor of Span to 'rgb(255,100,255)' + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1790', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1790 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle179") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1790 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1800 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1800 + * @tc.desc set fontColor of Span to $r('app.string.color_yellow') + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1800', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1800 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle180") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1800 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1810 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1810 + * @tc.desc set letterSpacing of Span to 5 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1810', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1810 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle181") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1810 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1820 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1820 + * @tc.desc set textCase of Span to Normal + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1820', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1820 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle182") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1820 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1830 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1830 + * @tc.desc set textCase of Span to LowerCase + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1830', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1830 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle183") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1830 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1840 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1840 + * @tc.desc set textCase of Span to UpperCase + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1840', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1840 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle184") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1840 finish.`); + done() + }) + + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentTextCommonTextStyleTest/UIComponentTextCommonTextStyleText.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentTextCommonTextStyleTest/UIComponentTextCommonTextStyleText.test.ets new file mode 100644 index 000000000..99751e75e --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentTextCommonTextStyleTest/UIComponentTextCommonTextStyleText.test.ets @@ -0,0 +1,553 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development 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 Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' +import { IntentionCode } from '@ohos.multimodalInput.intentionCode' +import { KeyboardAvoidMode } from '@ohos.arkui.UIContext' + +export default function UIComponentTextCommonTextStyleText() { + + describe('UIComponentTextCommonTextStyleText', () => { + afterEach(async (done: Function) => { + if (Settings.windowClass == undefined) { + return + } + + Settings.windowClass.destroyWindow((err) => { + if (err.code) { + Logger.error('TEST', `Failed to destroy the window. Cause : ${JSON.stringify(err)}`) + return; + } + Logger.info('TEST', `Succeeded in destroy the window.`); + }) + await Utils.sleep(1000); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1210 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1210 + * @tc.desc set decoration of Text to underline + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1210', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1210 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle121") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1210 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1220 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1220 + * @tc.desc set decoration of Text to LineThrough + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1220', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1220 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle122") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1220 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1230 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1230 + * @tc.desc set decoration of Text to OverLine + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1230', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1230 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle123") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1230 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1240 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1240 + * @tc.desc set decoration of Text to None + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1240', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1240 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle124") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1240 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1250 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1250 + * @tc.desc set fontSize of Text to 20 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1250', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1250 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle125") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1250 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1260 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1260 + * @tc.desc set fontSize of Text to '11px' + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1260', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1260 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle126") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1260 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1270 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1270 + * @tc.desc set fontSize of Text to $r('app.string.size_30') + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1270', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1270 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle127") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1270 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1280 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1280 + * @tc.desc set fontStyle of Text to normal + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1280', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1280 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle128") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1280 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1290 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1290 + * @tc.desc set fontStyle of Text to Italic + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1290', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1290 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle129") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1290 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1300 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1300 + * @tc.desc set fontWeight of Text to Normal + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1300', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1300 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle130") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1300 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1310 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1310 + * @tc.desc set fontWeight of Text to Lighter + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1310', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1310 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle131") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1310 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1320 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1320 + * @tc.desc set fontWeight of Text to Regular + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1320', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1320 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle132") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1320 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1330 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1330 + * @tc.desc set fontWeight of Text to Medium + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1330', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1330 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle133") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1330 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1340 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1340 + * @tc.desc set fontWeight of Text to Bold + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1340', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1340 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle134") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1340 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1350 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1350 + * @tc.desc set fontWeight of Text to Bolder + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1350', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1350 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle135") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1350 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1360 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1360 + * @tc.desc set fontFamily of Text to HarmonyOS-Sans + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1360', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1360 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle136") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1360 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1370 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1370 + * @tc.desc set textShadow of Text to {radius:10,color:Color.Black,offsetX:0,offsetY:0} + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1370', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1370 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle137") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1370 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1380 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1380 + * @tc.desc set heightAdaptivePolicy of Text to MAX_LINES_FIRST + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1380', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1380 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle138") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1380 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1390 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1390 + * @tc.desc set heightAdaptivePolicy of Text to MIN_FONT_SIZE_FIRST + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1390', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1390 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle139") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1390 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1400 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1400 + * @tc.desc set heightAdaptivePolicy of Text to LAYOUT_CONSTRAINT_FIRST + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1400', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1400 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle140") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1400 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1410 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1410 + * @tc.desc set textIndent of Text to 2 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1410', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1410 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle141") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1410 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1420 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1420 + * @tc.desc set minFontSize of Text to 10 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1420', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1420 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle142") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1420 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1430 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1430 + * @tc.desc set minFontSize of Text to 30 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1430', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1430 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle143") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1430 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1440 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1440 + * @tc.desc set lineHeight of Text to 30 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1440', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1440 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle144") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1440 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1490 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1490 + * @tc.desc set textOverflow of Text to None + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1490', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1490 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle149") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1490 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1500 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1500 + * @tc.desc set textOverflow of Text to Clip + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1500', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1500 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle150") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1500 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1510 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1510 + * @tc.desc set textOverflow of Text to Ellipsis + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1510', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1510 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle151") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1510 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1520 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1520 + * @tc.desc set textOverflow of Text to MARQUEE + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1520', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1520 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle152") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1520 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1530 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1530 + * @tc.desc set maxLines of Text to 4 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1530', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1530 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle153") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1530 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1540 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1540 + * @tc.desc set letterSpacing of Text to 5 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1540', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1540 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle154") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1540 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1550 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1550 + * @tc.desc set baselineOffset of Text to 10 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1550', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1550 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle155") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1550 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1560 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1560 + * @tc.desc set textCase of Text to Normal + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1560', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1560 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle156") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1560 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1570 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1570 + * @tc.desc set textCase of Text to LowerCase + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1570', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1570 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle157") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1570 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1580 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1580 + * @tc.desc set textCase of Text to UpperCase + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1580', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1580 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle158") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1580 finish.`); + done() + }) + + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentTextCommonTextStyleTest/UIComponentTextCommonTextStyleTextArea.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentTextCommonTextStyleTest/UIComponentTextCommonTextStyleTextArea.test.ets new file mode 100644 index 000000000..5c38681f6 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentTextCommonTextStyleTest/UIComponentTextCommonTextStyleTextArea.test.ets @@ -0,0 +1,432 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development 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 Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' +import { IntentionCode } from '@ohos.multimodalInput.intentionCode' +import { KeyboardAvoidMode } from '@ohos.arkui.UIContext' + +export default function UIComponentTextCommonTextStyleTextArea() { + + describe('UIComponentTextCommonTextStyleTextArea', () => { + afterEach(async (done: Function) => { + if (Settings.windowClass == undefined) { + return + } + + Settings.windowClass.destroyWindow((err) => { + if (err.code) { + Logger.error('TEST', `Failed to destroy the window. Cause : ${JSON.stringify(err)}`) + return; + } + Logger.info('TEST', `Succeeded in destroy the window.`); + }) + await Utils.sleep(1000); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0850 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0850 + * @tc.desc set maxLength of TextArea to 10 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0850', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0850 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle085") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0850 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0860 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0860 + * @tc.desc set placeholderFont of TextArea to { size: 20, weight: FontWeight.Bolder,family:'Arial, HarmonyOS Sans' ,style:FontStyle.Italic} + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0860', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0860 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle086") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0860 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0870 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0870 + * @tc.desc set placeholderColor of TextArea to Color. Blue + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0870', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0870 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle087") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0870 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0880 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0880 + * @tc.desc set placeholderColor of TextArea to 0xffffff + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0880', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0880 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle088") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0880 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0890 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0890 + * @tc.desc set placeholderColor of TextArea to rgb(255, 100, 255) + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0890', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0890 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle089") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0890 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0900 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0900 + * @tc.desc set placeholderColor of TextArea to $r('app.string.color_yellow') + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0900', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0900 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle090") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0900 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0950 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0950 + * @tc.desc set textAlign of TextArea to Start + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0950', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0950 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle095") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0950 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0960 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0960 + * @tc.desc set textAlign of TextArea to center + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0960', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0960 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle096") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0960 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0970 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0970 + * @tc.desc set textAlign of TextArea to End + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0970', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0970 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle097") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0970 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0980 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0980 + * @tc.desc set fontColor of TextArea to Color. Blue + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0980', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0980 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle098") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0980 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0990 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0990 + * @tc.desc set fontColor of TextArea to 0xffffff + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0990', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0990 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle099") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0990 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1000 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1000 + * @tc.desc set fontColor of TextArea to rgb(255, 100, 255) + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1000', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1000 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle100") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1000 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1010 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1010 + * @tc.desc set fontColor of TextArea to $r('app.string.color_yellow') + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1010', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1010 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle101") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1010 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1020 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1020 + * @tc.desc set fontSize of TextArea to 20 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1020', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1020 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle102") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1020 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1030 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1030 + * @tc.desc set fontSize of TextArea to '11px' + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1030', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1030 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle103") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1030 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1040 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1040 + * @tc.desc set fontSize of TextArea to $r('app.string.size_30') + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1040', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1040 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle104") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1040 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1050 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1050 + * @tc.desc set fontStyle of TextArea to normal + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1050', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1050 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle105") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1050 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1060 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1060 + * @tc.desc set fontStyle of TextArea to Italic + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1060', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1060 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle106") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1060 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1070 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1070 + * @tc.desc set fontWeight of TextArea to FontWeight.Normal + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1070', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1070 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle107") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1070 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1080 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1080 + * @tc.desc set fontWeight of TextArea to FontWeight.Lighter + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1080', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1080 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle108") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1080 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1090 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1090 + * @tc.desc set fontWeight of TextArea to FontWeight.Regular + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1090', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1090 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle109") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1090 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1100 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1100 + * @tc.desc set fontWeight of TextArea to FontWeight.Medium + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1100', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1100 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle110") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1100 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1110 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1110 + * @tc.desc set fontWeight of TextArea to FontWeight.Bold + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1110', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1110 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle111") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1110 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1120 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1120 + * @tc.desc set fontWeight of TextArea to FontWeight.Bolder + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1120', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1120 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle112") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1120 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1130 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1130 + * @tc.desc set fontFamily of TextArea to HarmonyOS-Sans + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1130', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1130 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle113") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1130 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1140 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1140 + * @tc.desc set inputFilter of TextArea to '[A-Z]', (value: string) => { console.info("testtest" + value) } + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1140', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1140 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UIComponentTextCommonTextStyle114") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(5000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1140 finish.`); + done() + }) + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentTextCommonTextStyleTest/UiComponentTextCommonTextstyle.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentTextCommonTextStyleTest/UiComponentTextCommonTextstyle.test.ets new file mode 100644 index 000000000..37fdd3533 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentTextCommonTextStyleTest/UiComponentTextCommonTextstyle.test.ets @@ -0,0 +1,1508 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development 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 Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' +import { Driver, ON } from '@ohos.UiTest' + +export default function UiComponentTextCommonTextstyle() { + describe('UiComponentTextCommonTextstyle', () => { + afterEach(async (done: Function) => { + if (Settings.windowClass == undefined) { + return + } + + Settings.windowClass.destroyWindow((err) => { + if (err.code) { + Logger.error('TEST', `Failed to destroy the window. Cause : ${JSON.stringify(err)}`) + return; + } + Logger.info('TEST', `Succeeded in destroy the window.`); + }) + await Utils.sleep(1000); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0010 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0010 + * @tc.desc Set the maxLines value to 5 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0010', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0010 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle001") + let driver: Driver = Driver.create(); + let SliderCom = await driver.findComponent(ON.id("Button")); + let pointCenter = await SliderCom.getBoundsCenter(); + await driver.click(pointCenter.x, pointCenter.y); + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0010 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0020 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0020 + * @tc.desc Set barState Auto + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0020', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0020 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle002") + let driver: Driver = Driver.create(); + let SliderCom = await driver.findComponent(ON.id("Button")); + let pointCenter = await SliderCom.getBoundsCenter(); + await driver.click(pointCenter.x, pointCenter.y); + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0020 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0030 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0030 + * @tc.desc Set barState.On + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0030', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0030 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle003") + let driver: Driver = Driver.create(); + let SliderCom = await driver.findComponent(ON.id("Button")); + let pointCenter = await SliderCom.getBoundsCenter(); + await driver.click(pointCenter.x, pointCenter.y); + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0030 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0040 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0040 + * @tc.desc Set barState.Off + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0040', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0040 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle004") + let driver: Driver = Driver.create(); + let SliderCom = await driver.findComponent(ON.id("Button")); + let pointCenter = await SliderCom.getBoundsCenter(); + await driver.click(pointCenter.x, pointCenter.y); + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0040 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0050 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0050 + * @tc.desc SelectionMenuHidden set to true + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0050', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0050 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle005") + let driver: Driver = Driver.create(); + let SliderCom = await driver.findComponent(ON.id("Button")); + let pointCenter = await SliderCom.getBoundsCenter(); + await driver.click(pointCenter.x, pointCenter.y); + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0050 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0060 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0060 + * @tc.desc SelectionMenuHidden set to false + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0060', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0060 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle006") + let driver: Driver = Driver.create(); + let SliderCom = await driver.findComponent(ON.id("Button")); + let pointCenter = await SliderCom.getBoundsCenter(); + await driver.click(pointCenter.x, pointCenter.y); + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0060 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0070 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0070 + * @tc.desc The value of carePosition is set to 3 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0070', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0070 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle007") + let driver: Driver = Driver.create(); + let SliderCom = await driver.findComponent(ON.id("Button")); + let pointCenter = await SliderCom.getBoundsCenter(); + await driver.click(pointCenter.x, pointCenter.y); + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0070 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0080 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0080 + * @tc.desc Select Background Color to set the color type + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0080', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0080 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle008") + let driver: Driver = Driver.create(); + let SliderCom = await driver.findComponent(ON.id("Button")); + let pointCenter = await SliderCom.getBoundsCenter(); + await driver.click(pointCenter.x, pointCenter.y); + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0080 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0090 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0090 + * @tc.desc Select Background Color to set the number type + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0090', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0090 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle009") + let driver: Driver = Driver.create(); + let SliderCom = await driver.findComponent(ON.id("Button")); + let pointCenter = await SliderCom.getBoundsCenter(); + await driver.click(pointCenter.x, pointCenter.y); + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0090 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0100 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0100 + * @tc.desc Select Background Color to set the string type + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0100', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0100 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle010") + let driver: Driver = Driver.create(); + let SliderCom = await driver.findComponent(ON.id("Button")); + let pointCenter = await SliderCom.getBoundsCenter(); + await driver.click(pointCenter.x, pointCenter.y); + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0100 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0110 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0110 + * @tc.desc CareStyle setting string type + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0110', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0110 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle011") + let driver: Driver = Driver.create(); + let SliderCom = await driver.findComponent(ON.id("Button")); + let pointCenter = await SliderCom.getBoundsCenter(); + await driver.click(pointCenter.x, pointCenter.y); + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0110 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0120 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0120 + * @tc.desc CareStyle setting number type + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0120', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0120 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle012") + let driver: Driver = Driver.create(); + let SliderCom = await driver.findComponent(ON.id("Button")); + let pointCenter = await SliderCom.getBoundsCenter(); + await driver.click(pointCenter.x, pointCenter.y); + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0120 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0130 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0130 + * @tc.desc CareStyle setting resource type + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0130', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0130 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle013") + let driver: Driver = Driver.create(); + let SliderCom = await driver.findComponent(ON.id("Button")); + let pointCenter = await SliderCom.getBoundsCenter(); + await driver.click(pointCenter.x, pointCenter.y); + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0130 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0140 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0140 + * @tc.desc ShowOutline set to true + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0140', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0140 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle014") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0140 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0150 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0150 + * @tc.desc ShowOutline set to false + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0150', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0150 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle015") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0150 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0160 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0160 + * @tc.desc ShowOutline set to Error + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0160', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0160 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle016") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0160 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0170 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0170 + * @tc.desc PasswordIcon setting onIconSrc + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0170', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0170 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle017") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0170 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0180 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0180 + * @tc.desc PasswordIcon setting offIconSrc + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0180', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0180 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle018") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0180 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0190 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0190 + * @tc.desc Style setting TextInputStyle Default + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0190', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0190 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle019") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0190 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0200 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0200 + * @tc.desc Style setting TextInputStyle Inline + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0200', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0200 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle020") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0200 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0230 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0230 + * @tc.desc InputType is set to Normal + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0230', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0230 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle023") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0230 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0240 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0240 + * @tc.desc InputType is set to Password + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0240', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0240 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle024") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0240 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0250 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0250 + * @tc.desc InputType is set to Email + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0250', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0250 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle025") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0250 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0260 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0260 + * @tc.desc InputType is set to Number + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0260', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0260 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle026") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0260 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0270 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0270 + * @tc.desc InputType is set to PhoneNumber + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0270', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0270 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle027") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0270 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0280 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0280 + * @tc.desc InputType is set to USER_NAM + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0280', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0280 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle028") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0280 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0290 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0290 + * @tc.desc InputType is set to NEW_PASSWORD + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0290', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0290 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle029") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0290 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0300 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0300 + * @tc.desc InputType is set to NUMBER_PASSWORD + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0300', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0300 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle030") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0300 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0310 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0310 + * @tc.desc InputType is set to SCREEN_LOCK_PASSWORD + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0310', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0310 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle031") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0310 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0370 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0370 + * @tc.desc PlaceholderFont Set font style + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0370', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0370 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle037") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0370 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0380 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0380 + * @tc.desc PlaceholderFont Set color style + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0380', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0380 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle038") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0380 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0390 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0390 + * @tc.desc PlaceholderFont Set number style + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0390', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0390 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle039") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0390 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0400 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0400 + * @tc.desc PlaceholderFont Set string style + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0400', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0400 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle040") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0400 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0410 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0410 + * @tc.desc PlaceholderFont Set Resource style + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0410', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0410 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle041") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0410 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0420 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0420 + * @tc.desc caretColor Set color style + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0420', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0420 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle042") + let driver: Driver = Driver.create(); + let SliderCom = await driver.findComponent(ON.id("Button")); + let pointCenter = await SliderCom.getBoundsCenter(); + await driver.click(pointCenter.x, pointCenter.y); + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0420 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0430 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0430 + * @tc.desc caretColor Set number style + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0430', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0430 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle043") + let driver: Driver = Driver.create(); + let SliderCom = await driver.findComponent(ON.id("Button")); + let pointCenter = await SliderCom.getBoundsCenter(); + await driver.click(pointCenter.x, pointCenter.y); + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0430 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0440 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0440 + * @tc.desc caretColor Set string style + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0440', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0440 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle044") + let driver: Driver = Driver.create(); + let SliderCom = await driver.findComponent(ON.id("Button")); + let pointCenter = await SliderCom.getBoundsCenter(); + await driver.click(pointCenter.x, pointCenter.y); + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0440 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0450 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0450 + * @tc.desc caretColor Set Resource style + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0450', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0450 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle045") + let driver: Driver = Driver.create(); + let SliderCom = await driver.findComponent(ON.id("Button")); + let pointCenter = await SliderCom.getBoundsCenter(); + await driver.click(pointCenter.x, pointCenter.y); + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0450 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0460 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0460 + * @tc.desc maxLength Set 10 + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0460', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0460 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle046") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0460 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0470 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0470 + * @tc.desc fontColor Set color style + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0470', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0470 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle047") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0470 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0480 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0480 + * @tc.desc fontColor Set number style + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0480', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0480 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle048") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0480 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0490 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0490 + * @tc.desc fontColor Set string style + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0490', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0490 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle049") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0490 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0500 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0500 + * @tc.desc fontColor Set Resource style + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0500', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0500 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle050") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0500 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0510 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0510 + * @tc.desc fontSize Set number style + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0510', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0510 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle051") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0510 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0520 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0520 + * @tc.desc fontSize Set string style + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0520', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0520 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle052") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0520 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0530 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0530 + * @tc.desc fontSize Set Resource style + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0530', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0530 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle053") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0530 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0540 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0540 + * @tc.desc fontStyle Set normal style + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0540', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0540 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle054") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0540 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0550 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0550 + * @tc.desc fontStyle Set Italic style + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0550', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0550 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle055") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0550 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0560 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0560 + * @tc.desc fontWeight Set Normal style + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0560', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0560 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle056") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0560 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0570 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0570 + * @tc.desc fontWeight Set Lighter style + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0570', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0570 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle057") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0570 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0580 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0580 + * @tc.desc fontWeight Set Regular style + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0580', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0580 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle058") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0580 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0590 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0590 + * @tc.desc fontWeight Set Medium style + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0590', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0590 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle059") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0590 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0600 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0600 + * @tc.desc fontWeight Set Bold style + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0600', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0600 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle060") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0600 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0610 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0610 + * @tc.desc fontWeight Set Bolder style + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0610', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0610 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle061") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0610 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0620 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0620 + * @tc.desc FontFamily setting HarmonyOS Sans + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0620', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0620 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle062") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0620 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0630 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0630 + * @tc.desc InputFilter sets the value to [A-Z] + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0630', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0630 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle063") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0630 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0640 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0640 + * @tc.desc CopyOption set to None + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0640', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0640 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle064") + let driver: Driver = Driver.create(); + let SliderCom = await driver.findComponent(ON.id("Button")); + let pointCenter = await SliderCom.getBoundsCenter(); + await driver.longClick(pointCenter.x, pointCenter.y); + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0640 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0650 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0650 + * @tc.desc CopyOption set to InApp + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0650', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0650 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle065") + let driver: Driver = Driver.create(); + let SliderCom = await driver.findComponent(ON.id("Button")); + let pointCenter = await SliderCom.getBoundsCenter(); + await driver.longClick(pointCenter.x, pointCenter.y); + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0650 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0660 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0660 + * @tc.desc CopyOption set to LocalDevice + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0660', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0660 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle066") + let driver: Driver = Driver.create(); + let SliderCom = await driver.findComponent(ON.id("Button")); + let pointCenter = await SliderCom.getBoundsCenter(); + await driver.longClick(pointCenter.x, pointCenter.y); + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0660 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0670 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0670 + * @tc.desc CopyOption set to CROSS_DEVICE + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0670', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0670 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle067") + let driver: Driver = Driver.create(); + let SliderCom = await driver.findComponent(ON.id("Button")); + let pointCenter = await SliderCom.getBoundsCenter(); + await driver.longClick(pointCenter.x, pointCenter.y); + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0670 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0680 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0680 + * @tc.desc ShowPasswordIcon Set True + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0680', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0680 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle068") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0680 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0690 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0690 + * @tc.desc ShowPasswordIcon Set False + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0690', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0690 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle069") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0690 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0700 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0700 + * @tc.desc TextAlign setting Start + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0700', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0700 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle070") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0700 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0710 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0710 + * @tc.desc TextAlign setting Center + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0710', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0710 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle071") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0710 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0720 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0720 + * @tc.desc TextAlign setting End + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0720', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0720 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle072") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0720 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0910 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0910 + * @tc.desc caretColor=Color. Blue + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0910', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0910 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle0910") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0910 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0920 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0920 + * @tc.desc caretColor=0xffffff + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0920', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0920 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle0920") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0920 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0930 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0930 + * @tc.desc caretColor='rgb(255, 100, 255)' + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0930', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0930 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle0930") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0930 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0940 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0940 + * @tc.desc caretColor($r('app.color.yellow')) + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0940', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0940 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle0940") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_0940 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1190 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1190 + * @tc.desc text dragable=true + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1190', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1190 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle1190") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(10000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1190 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1200 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1200 + * @tc.desc text dragable=true + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1200', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1200 start.`); + Settings.createWindow("testability/pages/UIComponentTextCommonTextStyle/UiComponentTextCommonTextstyle1200") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(10000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1200 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1900 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1900 + * @tc.desc search caretStyle{width: '3vp',color:0xff} + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1900', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1900 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle1900") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1900 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1950 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1950 + * @tc.desc search fontColor=Color. Blue + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1950', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1950 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle1950") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1950 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1960 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1960 + * @tc.desc search fontColor=0xffffff + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1960', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1960 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle1960") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1960 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1970 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1970 + * @tc.desc search fontColor='rgb(255, 100, 255)' + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1970', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1970 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle1970") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1970 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1980 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1980 + * @tc.desc search fontColo=0xffffff + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1980', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1980 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle1980") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1980 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1990 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1990 + * @tc.desc search set placeholderFont({size:16,weight:FontWeight.Bold,family:'Arial, HarmonyOS Sans',style:FontStyle.Italic}) + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1990', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1990 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle1990") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_1990 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2000 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2000 + * @tc.desc search placeholdercolor=Color. Blue + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2000', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2000 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle2000") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2000 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2010 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2010 + * @tc.desc search placeholdercolor=0xffffff + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2010', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2010 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle2010") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2010 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2020 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2020 + * @tc.desc search placeholdercolor='rgb(255, 100, 255)' + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2020', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2020 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle2020") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2020 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2030 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2030 + * @tc.desc search placeholderColor($r('app.color.yellow')) + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2030', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2010 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle2030") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2030 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2090 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2090 + * @tc.desc search set textAlign(TextAlign.Start) + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2090', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2090 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle2090") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2090 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2100 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2100 + * @tc.desc search set textAlign(TextAlign.Center) + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2100', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2100 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle2100") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2100 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2110 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2110 + * @tc.desc search set textAlign(TextAlign.End) + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2110', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2110 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle2110") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2110 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2160 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2160 + * @tc.desc ImageSpan set objectFit(ImageFit.Contain) + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2160', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2160 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle2160") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2160 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2170 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2170 + * @tc.desc ImageSpan set objectFit(ImageFit.Cover) + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2170', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2170 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle2170") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2170 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2180 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2180 + * @tc.desc ImageSpan set objectFit(ImageFit.Auto) + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2180', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2180 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle2180") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2180 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2190 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2190 + * @tc.desc ImageSpan set objectFit(ImageFit.Fill) + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2190', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2190 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle2190") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2190 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2200 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2200 + * @tc.desc ImageSpan set objectFit(ImageFit.ScaleDown) + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2200', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2200 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle2200") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2200 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2210 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2210 + * @tc.desc ImageSpan set objectFit(ImageFit.None) + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2210', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2210 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle2210") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2210 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2220 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2220 + * @tc.desc ImageSpan set verticalAlign(ImageSpanAlignment.TOP) + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2220', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2220 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle2220") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2220 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2230 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2230 + * @tc.desc ImageSpan set verticalAlign(ImageSpanAlignment.CENTER) + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2230', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2230 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle2230") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2230 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2240 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2240 + * @tc.desc ImageSpan set verticalAlign(ImageSpanAlignment.BOTTOM) + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2240', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2240 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle2240") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2240 finish.`); + done() + }) + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2250 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2250 + * @tc.desc ImageSpan set verticalAlign(ImageSpanAlignment.BASELINE) + */ + it('SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2250', 0, async (done: Function) => { + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2250 start.`); + Settings.createWindow("testability/pages/UiComponentTextCommonTextstyle/UiComponentTextCommonTextstyle2250") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `SUB_ACE_UI_COMPONENT_TEXT_COMMON_TEXTSTYLE_2250 finish.`); + done() + }) + + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentTextRefactorAdjustment/UIComponentTextRefactorAdjustment.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentTextRefactorAdjustment/UIComponentTextRefactorAdjustment.test.ets new file mode 100644 index 000000000..03682116a --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentTextRefactorAdjustment/UIComponentTextRefactorAdjustment.test.ets @@ -0,0 +1,175 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development 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 Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' + +export default function UIComponentTextRefactorAdjustment() { + + describe('UIComponentTextRefactorAdjustment', () => { + afterEach(async (done: Function) => { + if (Settings.windowClass == undefined) { + return + } + + Settings.windowClass.destroyWindow((err) => { + if (err.code) { + Logger.error('TEST', `Failed to destroy the window. Cause : ${JSON.stringify(err)}`) + return; + } + Logger.info('TEST', `Succeeded in destroy the window.`); + }) + await Utils.sleep(1000); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_REFACTOR_ADJUSTMENT_0010 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_REFACTOR_ADJUSTMENT_0010 + * @tc.desc inline mode Empty text, toggles the input box + */ + it('SUB_ACE_UI_COMPONENT_TEXT_REFACTOR_ADJUSTMENT_0010', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentTextRefactorAdjustment001 start.`); + Settings.createWindow("testability/pages/UIComponentTextRefactorAdjustment/UIComponentTextRefactorAdjustment001") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentTextRefactorAdjustment001 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_REFACTOR_ADJUSTMENT_0060 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_REFACTOR_ADJUSTMENT_0060 + * @tc.desc Click the Clear button and modify the prompt text style + */ + it('SUB_ACE_UI_COMPONENT_TEXT_REFACTOR_ADJUSTMENT_0060', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentTextRefactorAdjustment006 start.`); + Settings.createWindow("testability/pages/UIComponentTextRefactorAdjustment/UIComponentTextRefactorAdjustment006") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentTextRefactorAdjustment006 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_REFACTOR_ADJUSTMENT_0080 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_REFACTOR_ADJUSTMENT_0080 + * @tc.desc textarea scroll bar verification + */ + it('SUB_ACE_UI_COMPONENT_TEXT_REFACTOR_ADJUSTMENT_0080', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentTextRefactorAdjustment008 start.`); + Settings.createWindow("testability/pages/UIComponentTextRefactorAdjustment/UIComponentTextRefactorAdjustment008") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentTextRefactorAdjustment008 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_REFACTOR_ADJUSTMENT_0240 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_REFACTOR_ADJUSTMENT_0240 + * @tc.desc password mode sets the tail alignment + */ + it('SUB_ACE_UI_COMPONENT_TEXT_REFACTOR_ADJUSTMENT_0240', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentTextRefactorAdjustment024 start.`); + Settings.createWindow("testability/pages/UIComponentTextRefactorAdjustment/UIComponentTextRefactorAdjustment024") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentTextRefactorAdjustment024 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_REFACTOR_ADJUSTMENT_0250 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_REFACTOR_ADJUSTMENT_0250 + * @tc.desc In phonenumber mode, enter * and # + */ + it('SUB_ACE_UI_COMPONENT_TEXT_REFACTOR_ADJUSTMENT_0250', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentTextRefactorAdjustment025 start.`); + Settings.createWindow("testability/pages/UIComponentTextRefactorAdjustment/UIComponentTextRefactorAdjustment025") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentTextRefactorAdjustment025 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_REFACTOR_ADJUSTMENT_0390 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_REFACTOR_ADJUSTMENT_0390 + * @tc.desc Set the text style to italics + */ + it('SUB_ACE_UI_COMPONENT_TEXT_REFACTOR_ADJUSTMENT_0390', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentTextRefactorAdjustment039 start.`); + Settings.createWindow("testability/pages/UIComponentTextRefactorAdjustment/UIComponentTextRefactorAdjustment039") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentTextRefactorAdjustment039 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_REFACTOR_ADJUSTMENT_0400 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_REFACTOR_ADJUSTMENT_0400 + * @tc.desc Set the search button text to be too long + */ + it('SUB_ACE_UI_COMPONENT_TEXT_REFACTOR_ADJUSTMENT_0400', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentTextRefactorAdjustment040 start.`); + Settings.createWindow("testability/pages/UIComponentTextRefactorAdjustment/UIComponentTextRefactorAdjustment040") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentTextRefactorAdjustment040 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_REFACTOR_ADJUSTMENT_0410 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_REFACTOR_ADJUSTMENT_0410 + * @tc.desc Set the bottom alignment of text and set the number of characters displayed + */ + it('SUB_ACE_UI_COMPONENT_TEXT_REFACTOR_ADJUSTMENT_0410', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentTextRefactorAdjustment041 start.`); + Settings.createWindow("testability/pages/UIComponentTextRefactorAdjustment/UIComponentTextRefactorAdjustment041") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentTextRefactorAdjustment041 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_REFACTOR_ADJUSTMENT_0430 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_REFACTOR_ADJUSTMENT_0430 + * @tc.desc Set the text box width to empty + */ + it('SUB_ACE_UI_COMPONENT_TEXT_REFACTOR_ADJUSTMENT_0430', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentTextRefactorAdjustment043 start.`); + Settings.createWindow("testability/pages/UIComponentTextRefactorAdjustment/UIComponentTextRefactorAdjustment043") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentTextRefactorAdjustment043 finish.`); + done() + }) + }) +} diff --git a/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentTextTextareEnhances/UIComponentTextTextareEnhances.test.ets b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentTextTextareEnhances/UIComponentTextTextareEnhances.test.ets new file mode 100644 index 000000000..e702e2d20 --- /dev/null +++ b/function/ui_compare_rh/uicompare/entry/src/ohosTest/ets/test/UIComponentTextTextareEnhances/UIComponentTextTextareEnhances.test.ets @@ -0,0 +1,762 @@ +/* + * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development 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 Settings from '../model/Settings' +import windowSnap from '../model/snapShot' +import Logger from '../model/Logger' +import Utils from '../model/Utils' + +export default function UIComponentTextTextareEnhances() { + + describe('UIComponentTextTextareEnhances', () => { + afterEach(async (done: Function) => { + if (Settings.windowClass == undefined) { + return + } + + Settings.windowClass.destroyWindow((err) => { + if (err.code) { + Logger.error('TEST', `Failed to destroy the window. Cause : ${JSON.stringify(err)}`) + return; + } + Logger.info('TEST', `Succeeded in destroy the window.`); + }) + await Utils.sleep(1000); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_TEXTARE_ENHANCES_0100 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_TEXTARE_ENHANCES_0100 + * @tc.desc Input box to add width (auto) and TextAlign. The JUSTIFY properties, + * input long string of Numbers 1232312312318172312312312313121231231231231231232123123123 to check the effect + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXTARE_ENHANCES_0100', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentTextTextareEnhances001 start.`); + Settings.createWindow("testability/pages/UIComponentTextTextareEnhances/UIComponentTextTextareEnhances001") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentTextTextareEnhances001 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_TEXTARE_ENHANCES_0200 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_TEXTARE_ENHANCES_0200 + * @tc.desc Input box to add width (auto) and TextAlign. The JUSTIFY properties, + * JLSDJFLJDLFJSLDFJLSDSFGSDFGSDFGSFGSGSDFGSFGSSFDGSDG long string input lowercase English letters, see the effect + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXTARE_ENHANCES_0200', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentTextTextareEnhances002 start.`); + Settings.createWindow("testability/pages/UIComponentTextTextareEnhances/UIComponentTextTextareEnhances002") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentTextTextareEnhances002 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_TEXTARE_ENHANCES_0300 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_TEXTARE_ENHANCES_0300 + * @tc.desc Input box to add width (auto) and TextAlign. The JUSTIFY properties, + * long input string SDFJLSDJFLSJDFLJSDLFJSDLFJDSLJFSLDJFLSDJFLSDJFLSDJFSDFLJHS capital English letters, see the effect + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXTARE_ENHANCES_0300', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentTextTextareEnhances003 start.`); + Settings.createWindow("testability/pages/UIComponentTextTextareEnhances/UIComponentTextTextareEnhances003") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentTextTextareEnhances003 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_TEXTARE_ENHANCES_0400 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_TEXTARE_ENHANCES_0400 + * @tc.desc Input box to add width (auto) and TextAlign. The JUSTIFY properties, + * enter a long string of mixed case jlsdjfljSDFLSJDFLJdlfFSDjFSFsldSDFSDFSDFgsSADFASDFdg English letters, see the effect + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXTARE_ENHANCES_0400', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentTextTextareEnhances004 start.`); + Settings.createWindow("testability/pages/UIComponentTextTextareEnhances/UIComponentTextTextareEnhances004") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentTextTextareEnhances004 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_TEXTARE_ENHANCES_0500 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_TEXTARE_ENHANCES_0500 + * @tc.desc Add the width(auto) and TextAlign.JUSTIFY attributes to the input field, + * using long strings of Chinese characters mixed with Chinese and English characters. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXTARE_ENHANCES_0500', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentTextTextareEnhances005 start.`); + Settings.createWindow("testability/pages/UIComponentTextTextareEnhances/UIComponentTextTextareEnhances005") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentTextTextareEnhances005 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_TEXTARE_ENHANCES_0600 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_TEXTARE_ENHANCES_0600 + * @tc.desc Add the width(auto) and TextAlign.JUSTIFY attributes to the input field, + * using long strings of Chinese characters mixed with Chinese and English characters. + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXTARE_ENHANCES_0600', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentTextTextareEnhances006 start.`); + Settings.createWindow("testability/pages/UIComponentTextTextareEnhances/UIComponentTextTextareEnhances006") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentTextTextareEnhances006 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_TEXTARE_ENHANCES_0700 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_TEXTARE_ENHANCES_0700 + * @tc.desc Add the width(auto) and TextAlign.JUSTIFY attributes to the input box, + * and a symbolic string to see the effect + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXTARE_ENHANCES_0700', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentTextTextareEnhances007 start.`); + Settings.createWindow("testability/pages/UIComponentTextTextareEnhances/UIComponentTextTextareEnhances007") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentTextTextareEnhances007 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_TEXTARE_ENHANCES_0800 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_TEXTARE_ENHANCES_0800 + * @tc.desc Add the width(auto) and TextAlign.JUSTIFY properties, type the Enter key, and see how it works + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXTARE_ENHANCES_0800', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentTextTextareEnhances008 start.`); + Settings.createWindow("testability/pages/UIComponentTextTextareEnhances/UIComponentTextTextareEnhances008") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentTextTextareEnhances008 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_TEXTARE_ENHANCES_1000 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_TEXTARE_ENHANCES_1000 + * @tc.desc Add the width(auto) and TextAlign.JUSTIFY attributes to the input field, using single and double quotes to justify + */ + it('SUB_ACE_UI_COMPONENT_TEXT_TEXTARE_ENHANCES_1000', 0, async (done: Function) => { + Logger.info('TEST', `UIComponentTextTextareEnhances010 start.`); + Settings.createWindow("testability/pages/UIComponentTextTextareEnhances/UIComponentTextTextareEnhances010") + await Utils.sleep(1000) + windowSnap.snapShot() + await Utils.sleep(1000) + Logger.info('TEST', `UIComponentTextTextareEnhances010 finish.`); + done() + }) + + /* + * @tc.number SUB_ACE_UI_COMPONENT_TEXT_TEXTARE_ENHANCES_1100 + * @tc.name SUB_ACE_UI_COMPONENT_TEXT_TEXTARE_ENHANCES_1100 + * @tc.desc Add the width(auto) and TextAlign.JUSTIFY attributes to the input box, + * and input the special characters "doucment.write("abc"),