1 /* 2 * Copyright (c) 2024 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16 #include "scroll_test_ng.h" 17 18 namespace OHOS::Ace::NG { 19 namespace {} // namespace 20 21 class ScrolleInnerTestNg : public ScrollTestNg { 22 public: 23 }; 24 25 /** 26 * @tc.name: SetMainModeSize001 27 * @tc.desc: Test SetMainModeSize 28 * @tc.type: FUNC 29 */ 30 HWTEST_F(ScrolleInnerTestNg, SetMainModeSize001, TestSize.Level1) 31 { 32 /** 33 * @tc.steps: step1. Create scrollBarOverlayModifier, set positionMode_ is BOTTOM 34 * @tc.expected: modifer's barWidth_ is equal to the width of size 35 */ 36 ScrollBarOverlayModifier modifer; 37 modifer.SetPositionMode(PositionMode::BOTTOM); 38 auto width = 1.0; 39 auto hight = 1.0; 40 modifer.SetMainModeSize(Size(width, hight)); 41 EXPECT_EQ(modifer.barWidth_, width); 42 } 43 44 /** 45 * @tc.name: SetCrossModeSize001 46 * @tc.desc: Test SetCrossModeSize 47 * @tc.type: FUNC 48 */ 49 HWTEST_F(ScrolleInnerTestNg, SetCrossModeSize001, TestSize.Level1) 50 { 51 /** 52 * @tc.steps: step1. Create scrollBarOverlayModifier, set positionMode_ is BOTTOM 53 * @tc.expected: modifer's barHeight_ is equal to the hight of size 54 */ 55 ScrollBarOverlayModifier modifer; 56 modifer.SetPositionMode(PositionMode::BOTTOM); 57 auto width = 1.0; 58 auto hight = 1.0; 59 modifer.SetCrossModeSize(Size(width, hight)); 60 EXPECT_EQ(modifer.barHeight_, hight); 61 } 62 63 /** 64 * @tc.name: SetCrossModeSize002 65 * @tc.desc: Test SetCrossModeSize 66 * @tc.type: FUNC 67 */ 68 HWTEST_F(ScrolleInnerTestNg, SetCrossModeSize002, TestSize.Level1) 69 { 70 /** 71 * @tc.steps: step1. Create scrollBarOverlayModifier, set positionMode_ is not BOTTOM 72 * @tc.expected: modifer's barWidth_ is equal to the width of size 73 */ 74 auto width = 1.0; 75 auto hight = 1.0; 76 ScrollBarOverlayModifier modifer; 77 modifer.SetPositionMode(PositionMode::LEFT); 78 modifer.SetCrossModeSize(Size(width, hight)); 79 EXPECT_EQ(modifer.barWidth_, width); 80 } 81 82 /** 83 * @tc.name: SetMainModeOffset001 84 * @tc.desc: Test SetMainModeOffset 85 * @tc.type: FUNC 86 */ 87 HWTEST_F(ScrolleInnerTestNg, SetMainModeOffset001, TestSize.Level1) 88 { 89 /** 90 * @tc.steps: step1. Create scrollBarOverlayModifier, set positionMode_ is BOTTOM 91 * @tc.expected: modifer's barX_ is equal to the width of x 92 */ 93 auto x = 1.f; 94 auto y = 2.f; 95 ScrollBarOverlayModifier modifer; 96 modifer.SetPositionMode(PositionMode::BOTTOM); 97 modifer.SetMainModeOffset(Offset(x, y)); 98 EXPECT_EQ(modifer.barX_, x); 99 } 100 101 /** 102 * @tc.name: SetCrossModeOffset001 103 * @tc.desc: Test SetCrossModeOffset 104 * @tc.type: FUNC 105 */ 106 HWTEST_F(ScrolleInnerTestNg, SetCrossModeOffset001, TestSize.Level1) 107 { 108 /** 109 * @tc.steps: step1. Create scrollBarOverlayModifier, set positionMode_ is BOTTOM 110 * @tc.expected: modifer's barY_ is equal to the y of Offset 111 */ 112 auto x = 1.f; 113 auto y = 1.f; 114 ScrollBarOverlayModifier modifer; 115 modifer.SetPositionMode(PositionMode::BOTTOM); 116 modifer.SetCrossModeOffset(Offset(x, y)); 117 EXPECT_EQ(modifer.barY_, y); 118 } 119 120 /** 121 * @tc.name: GetHoverOffset001 122 * @tc.desc: Test GetHoverOffset 123 * @tc.type: FUNC 124 */ 125 HWTEST_F(ScrolleInnerTestNg, GetHoverOffset001, TestSize.Level1) 126 { 127 /** 128 * @tc.steps: step1. Create scrollBarOverlayModifier, set positionMode_ is RIGHT 129 * @tc.expected: modifer's Offset is assigned a correlation value 130 */ 131 auto width = 1.0; 132 auto hight = 1.0; 133 ScrollBarOverlayModifier modifer; 134 modifer.SetPositionMode(PositionMode::RIGHT); 135 auto offsetResult = width - modifer.barWidth_->Get(); 136 EXPECT_EQ(modifer.GetHoverOffset(Size(width, hight)), Offset(offsetResult, 0.f)); 137 138 /** 139 * @tc.steps: step2. Create scrollBarOverlayModifier, set positionMode_ is BOTTOM 140 * @tc.expected: modifer's Offset is assigned a correlation value 141 */ 142 modifer.SetPositionMode(PositionMode::BOTTOM); 143 modifer.GetHoverOffset(Size(width, hight)); 144 offsetResult = hight - modifer.barHeight_->Get(); 145 EXPECT_EQ(modifer.GetHoverOffset(Size(width, hight)), Offset(0.f, offsetResult)); 146 147 /** 148 * @tc.steps: step3. Create scrollBarOverlayModifier, set positionMode_ is LEFT 149 * @tc.expected: modifer's Offset is assigned a correlation value 150 */ 151 modifer.SetPositionMode(PositionMode::LEFT); 152 modifer.GetHoverOffset(Size(width, hight)); 153 EXPECT_EQ(modifer.GetHoverOffset(Size(width, hight)), Offset::Zero()); 154 } 155 } // namespace OHOS::Ace::NG 156