* Copyright (c) 2020-2021 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include "components/ui_view_group.h"
#include <climits>
#include <gtest/gtest.h>
using namespace testing::ext;
namespace OHOS {
namespace {
const int16_t POS_X = 10;
const int16_t POS_Y = 20;
const int16_t DEFAULE_WIDTH = 100;
const int16_t DEFAULE_HEIGHT = 100;
const int16_t BUTTON_WIDTH = 20;
const int16_t BUTTON_HEIGHT = 20;
const int16_t MARGIN_LEFT = 50;
const int16_t MARGIN_TOP = 30;
const int16_t PADDING_LEFT = 10;
const int16_t PADDING_TOP = 20;
const int16_t PADDING_RIGHT = 30;
const int16_t PADDING_BOTTOM = 40;
const int16_t BORDER_WIDTH = 10;
const float POS_X_PERCENT = 0.1;
const float POS_Y_PERCENT = 0.2;
const float DEFAULT_WIDTH_PERCENT = 0.3;
const float DEFAULT_HEIGHT_PERCENT = 0.4;
const float INVALID_PERCENT_ZERO = 0.0f;
const float INVALID_PERCENT_ONE = 1.0f;
const int16_t DEFAULE_ANGLE = 45;
const Vector2<float> VIEW_CENTER = {50, 50};
const Vector2<float> SCALE_VALUE = {0.5f, 0.5f};
const Vector2<int16_t> POLYGON1 = {0, 0};
const Vector2<int16_t> POLYGON2 = {70, 70};
const Vector2<int16_t> POLYGON3 = {0, 140};
const Vector2<int16_t> POLYGON4 = {-70, 70};
}
class UIViewTest : public testing::Test {
public:
UIViewTest() : view_(nullptr) {}
virtual ~UIViewTest() {}
static void SetUpTestCase() {}
static void TearDownTestCase() {}
void SetUp();
void TearDown();
UIView* view_;
};
void UIViewTest::SetUp()
{
if (view_ == nullptr) {
view_ = new UIView();
}
}
void UIViewTest::TearDown()
{
if (view_ != nullptr) {
delete view_;
view_ = nullptr;
}
}
* @tc.name: UIViewSetOnDragListener_001
* @tc.desc: Verify SetOnDragListener function, equal.
* @tc.type: FUNC
* @tc.require: AR000EEMQF
*/
HWTEST_F(UIViewTest, UIViewSetOnDragListener_001, TestSize.Level1)
{
if (view_ == nullptr) {
EXPECT_NE(0, 0);
return;
}
UIView::OnDragListener* listener = new UIView::OnDragListener();
view_->SetOnDragListener(listener);
EXPECT_EQ(view_->GetOnDragListener(), listener);
delete listener;
}
* @tc.name: UIViewSetOnClickListener_001
* @tc.desc: Verify SetOnClickListener function, equal.
* @tc.type: FUNC
* @tc.require: AR000EEMQF
*/
HWTEST_F(UIViewTest, UIViewSetOnClickListener_001, TestSize.Level1)
{
if (view_ == nullptr) {
EXPECT_NE(0, 0);
return;
}
UIView::OnClickListener* listener = new UIView::OnClickListener();
view_->SetOnClickListener(listener);
EXPECT_EQ(view_->GetOnClickListener(), listener);
delete listener;
}
* @tc.name: UIViewSetOnLongPressListener_001
* @tc.desc: Verify SetOnLongPressListener function, equal.
* @tc.type: FUNC
* @tc.require: AR000EEMQF
*/
HWTEST_F(UIViewTest, UIViewSetOnLongPressListener_001, TestSize.Level1)
{
if (view_ == nullptr) {
EXPECT_NE(0, 0);
return;
}
UIView::OnLongPressListener* listener = new UIView::OnLongPressListener();
view_->SetOnLongPressListener(listener);
EXPECT_EQ(view_->GetOnLongPressListener(), listener);
delete listener;
}
* @tc.name: UIViewSetOnTouchListener_001
* @tc.desc: Verify SetOnTouchListener function, equal.
* @tc.type: FUNC
* @tc.require: AR000EEMQF
*/
HWTEST_F(UIViewTest, UIViewSetOnTouchListener_001, TestSize.Level1)
{
if (view_ == nullptr) {
EXPECT_NE(0, 0);
return;
}
UIView::OnTouchListener* listener = new UIView::OnTouchListener();
view_->SetOnTouchListener(listener);
EXPECT_EQ(view_->GetTouchListener(), listener);
delete listener;
}
* @tc.name: UIViewSetParent_001
* @tc.desc: Verify SetParent function, equal.
* @tc.type: FUNC
* @tc.require: AR000EEMQF
*/
HWTEST_F(UIViewTest, UIViewSetParent_001, TestSize.Level1)
{
if (view_ == nullptr) {
EXPECT_NE(0, 0);
return;
}
UIViewGroup* viewGroup = new UIViewGroup();
if (viewGroup == nullptr) {
EXPECT_NE(0, 0);
return;
}
view_->SetParent(viewGroup);
EXPECT_EQ(view_->GetParent(), viewGroup);
delete viewGroup;
}
* @tc.name: UIViewSetNextSibling_001
* @tc.desc: Verify SetNextSibling function, equal.
* @tc.type: FUNC
* @tc.require: AR000EEMQF
*/
HWTEST_F(UIViewTest, UIViewSetNextSibling_001, TestSize.Level1)
{
if (view_ == nullptr) {
EXPECT_NE(0, 0);
return;
}
UIView* tempView = new UIView();
if (tempView == nullptr) {
EXPECT_NE(0, 0);
return;
}
view_->SetNextSibling(tempView);
EXPECT_EQ(view_->GetNextSibling(), tempView);
delete tempView;
}
* @tc.name: UIViewSetVisible_001
* @tc.desc: Verify SetVisible function, equal.
* @tc.type: FUNC
* @tc.require: AR000EEMQF
*/
HWTEST_F(UIViewTest, UIViewSetVisible_001, TestSize.Level1)
{
if (view_ == nullptr) {
EXPECT_NE(0, 0);
return;
}
view_->SetVisible(true);
EXPECT_EQ(view_->IsVisible(), true);
}
* @tc.name: UIViewSetTouchable_001
* @tc.desc: Verify SetTouchable function, equal.
* @tc.type: FUNC
* @tc.require: AR000EEMQF
*/
HWTEST_F(UIViewTest, UIViewSetTouchable_001, TestSize.Level1)
{
if (view_ == nullptr) {
EXPECT_NE(0, 0);
return;
}
view_->SetTouchable(true);
EXPECT_EQ(view_->IsTouchable(), true);
}
* @tc.name: UIViewSetDraggable_001
* @tc.desc: Verify SetDraggable function, equal.
* @tc.type: FUNC
* @tc.require: AR000EEMQF
*/
HWTEST_F(UIViewTest, UIViewSetDraggable_001, TestSize.Level1)
{
if (view_ == nullptr) {
EXPECT_NE(0, 0);
return;
}
view_->SetDraggable(true);
EXPECT_EQ(view_->IsDraggable(), true);
}
* @tc.name: UIViewSetDragParentInstead_001
* @tc.desc: Verify SetDragParentInstead function, equal.
* @tc.type: FUNC
* @tc.require: AR000EEMQF
*/
HWTEST_F(UIViewTest, UIViewSetDragParentInstead_001, TestSize.Level1)
{
if (view_ == nullptr) {
EXPECT_NE(0, 0);
return;
}
view_->SetDragParentInstead(true);
EXPECT_EQ(view_->IsDragParentInstead(), true);
}
* @tc.name: UIViewResizeVisibleArea_001
* @tc.desc: Verify ResizeVisibleArea function, equal.
* @tc.type: FUNC
* @tc.require: AR000EEMQF
*/
HWTEST_F(UIViewTest, UIViewResizeVisibleArea_001, TestSize.Level1)
{
if (view_ == nullptr) {
EXPECT_NE(0, 0);
return;
}
view_->ResizeVisibleArea(POS_X, POS_Y, DEFAULE_WIDTH, DEFAULE_HEIGHT);
EXPECT_EQ(view_->GetVisibleRect().GetWidth(), DEFAULE_WIDTH);
EXPECT_EQ(view_->GetVisibleRect().GetHeight(), DEFAULE_HEIGHT);
}
* @tc.name: UIViewSetWidth_001
* @tc.desc: Verify SetWidth function, equal.
* @tc.type: FUNC
* @tc.require: AR000EEMQF
*/
HWTEST_F(UIViewTest, UIViewSetWidth_001, TestSize.Level1)
{
if (view_ == nullptr) {
EXPECT_NE(0, 0);
return;
}
view_->SetWidth(0);
EXPECT_EQ(view_->GetWidth(), 0);
view_->SetWidth(DEFAULE_WIDTH);
EXPECT_EQ(view_->GetWidth(), DEFAULE_WIDTH);
}
* @tc.name: UIViewSetHeight_001
* @tc.desc: Verify SetHeight function, equal.
* @tc.type: FUNC
* @tc.require: AR000EEMQF
*/
HWTEST_F(UIViewTest, UIViewSetHeight_001, TestSize.Level1)
{
if (view_ == nullptr) {
EXPECT_NE(0, 0);
return;
}
view_->SetHeight(0);
EXPECT_EQ(view_->GetHeight(), 0);
view_->SetHeight(DEFAULE_HEIGHT);
EXPECT_EQ(view_->GetHeight(), DEFAULE_HEIGHT);
}
* @tc.name: UIViewResize_001
* @tc.desc: Verify Resize function, equal.
* @tc.type: FUNC
* @tc.require: AR000EEMQF
*/
HWTEST_F(UIViewTest, UIViewResize_001, TestSize.Level1)
{
if (view_ == nullptr) {
EXPECT_NE(0, 0);
return;
}
view_->Resize(0, 0);
EXPECT_EQ(view_->GetHeight(), 0);
EXPECT_EQ(view_->GetWidth(), 0);
view_->Resize(DEFAULE_WIDTH, DEFAULE_HEIGHT);
EXPECT_EQ(view_->GetHeight(), DEFAULE_HEIGHT);
EXPECT_EQ(view_->GetWidth(), DEFAULE_WIDTH);
}
* @tc.name: UIViewSetX_001
* @tc.desc: Verify SetX function, equal.
* @tc.type: FUNC
* @tc.require: AR000EEMQF
*/
HWTEST_F(UIViewTest, UIViewSetX_001, TestSize.Level1)
{
if (view_ == nullptr) {
EXPECT_NE(0, 0);
return;
}
view_->SetX(0);
EXPECT_EQ(view_->GetX(), 0);
view_->SetX(POS_X);
EXPECT_EQ(view_->GetX(), POS_X);
}
* @tc.name: UIViewSetY_001
* @tc.desc: Verify SetY function, equal.
* @tc.type: FUNC
* @tc.require: AR000EEMQF
*/
HWTEST_F(UIViewTest, UIViewSetY_001, TestSize.Level1)
{
if (view_ == nullptr) {
EXPECT_NE(0, 0);
return;
}
view_->SetY(0);
EXPECT_EQ(view_->GetY(), 0);
view_->SetY(POS_Y);
EXPECT_EQ(view_->GetY(), POS_Y);
}
* @tc.name: UIViewSetPosition_001
* @tc.desc: Verify SetPosition function, equal.
* @tc.type: FUNC
* @tc.require: AR000EEMQF
*/
HWTEST_F(UIViewTest, UIViewSetPosition_001, TestSize.Level1)
{
if (view_ == nullptr) {
EXPECT_NE(0, 0);
return;
}
view_->SetPosition(0, 0);
EXPECT_EQ(view_->GetX(), 0);
EXPECT_EQ(view_->GetY(), 0);
view_->SetPosition(POS_X, POS_Y);
EXPECT_EQ(view_->GetX(), POS_X);
EXPECT_EQ(view_->GetY(), POS_Y);
}
* @tc.name: UIViewSetPosition_002
* @tc.desc: Verify SetPosition function, equal.
* @tc.type: FUNC
* @tc.require: AR000EEMQF
*/
HWTEST_F(UIViewTest, UIViewSetPosition_002, TestSize.Level1)
{
if (view_ == nullptr) {
EXPECT_NE(0, 0);
return;
}
view_->SetPosition(0, 0, 0, 0);
EXPECT_EQ(view_->GetHeight(), 0);
EXPECT_EQ(view_->GetWidth(), 0);
EXPECT_EQ(view_->GetX(), 0);
EXPECT_EQ(view_->GetY(), 0);
view_->SetPosition(POS_X, POS_Y, DEFAULE_WIDTH, DEFAULE_HEIGHT);
EXPECT_EQ(view_->GetHeight(), DEFAULE_HEIGHT);
EXPECT_EQ(view_->GetWidth(), DEFAULE_WIDTH);
EXPECT_EQ(view_->GetX(), POS_X);
EXPECT_EQ(view_->GetY(), POS_Y);
}
* @tc.name: UIViewSetWidthPercent_001
* @tc.desc: Verify SetWidthPercent function, equal.
* @tc.type: FUNC
* @tc.require: SR000F3PE8
*/
HWTEST_F(UIViewTest, UIViewSetWidthPercent_001, TestSize.Level0)
{
if (view_ == nullptr) {
EXPECT_NE(0, 0);
return;
}
view_->SetPosition(POS_X, POS_Y, DEFAULE_WIDTH, DEFAULE_HEIGHT);
EXPECT_EQ(view_->GetHeight(), DEFAULE_HEIGHT);
EXPECT_EQ(view_->GetWidth(), DEFAULE_WIDTH);
EXPECT_EQ(view_->GetX(), POS_X);
EXPECT_EQ(view_->GetY(), POS_Y);
view_->SetWidthPercent(POS_X_PERCENT);
EXPECT_EQ(view_->GetWidth(), DEFAULE_WIDTH);
UIViewGroup* viewGroup = new UIViewGroup();
viewGroup->Add(view_);
view_->SetWidthPercent(POS_X_PERCENT);
EXPECT_EQ(view_->GetWidth(), DEFAULE_WIDTH);
viewGroup->SetWidth(DEFAULE_WIDTH);
viewGroup->SetHeight(DEFAULE_HEIGHT);
view_->SetWidthPercent(INVALID_PERCENT_ZERO);
EXPECT_EQ(view_->GetWidth(), DEFAULE_WIDTH);
view_->SetWidthPercent(INVALID_PERCENT_ONE);
EXPECT_EQ(view_->GetWidth(), DEFAULE_WIDTH);
view_->SetWidthPercent(POS_X_PERCENT);
EXPECT_EQ(view_->GetWidth(), (int16_t)(DEFAULE_WIDTH * POS_X_PERCENT));
delete viewGroup;
}
* @tc.name: UIViewSetHeightPercent_001
* @tc.desc: Verify SetHeightPercent function, equal.
* @tc.type: FUNC
* @tc.require: AR000F4770
*/
HWTEST_F(UIViewTest, UIViewSetHeightPercent_001, TestSize.Level0)
{
if (view_ == nullptr) {
EXPECT_NE(0, 0);
return;
}
view_->SetPosition(POS_X, POS_Y, DEFAULE_WIDTH, DEFAULE_HEIGHT);
EXPECT_EQ(view_->GetHeight(), DEFAULE_HEIGHT);
EXPECT_EQ(view_->GetWidth(), DEFAULE_WIDTH);
EXPECT_EQ(view_->GetX(), POS_X);
EXPECT_EQ(view_->GetY(), POS_Y);
view_->SetHeightPercent(POS_Y_PERCENT);
EXPECT_EQ(view_->GetHeight(), DEFAULE_HEIGHT);
UIViewGroup* viewGroup = new UIViewGroup();
viewGroup->Add(view_);
view_->SetHeightPercent(POS_Y_PERCENT);
EXPECT_EQ(view_->GetHeight(), DEFAULE_HEIGHT);
viewGroup->SetWidth(DEFAULE_WIDTH);
viewGroup->SetHeight(DEFAULE_HEIGHT);
view_->SetHeightPercent(INVALID_PERCENT_ZERO);
EXPECT_EQ(view_->GetHeight(), DEFAULE_HEIGHT);
view_->SetHeightPercent(INVALID_PERCENT_ONE);
EXPECT_EQ(view_->GetHeight(), DEFAULE_HEIGHT);
view_->SetHeightPercent(POS_Y_PERCENT);
EXPECT_EQ(view_->GetHeight(), (int16_t)(DEFAULE_HEIGHT * POS_Y_PERCENT));
delete viewGroup;
}
* @tc.name: UIViewResizePercent_001
* @tc.desc: Verify ResizePercent function, equal.
* @tc.type: FUNC
* @tc.require: AR000F4770
*/
HWTEST_F(UIViewTest, UIViewResizePercent_001, TestSize.Level0)
{
if (view_ == nullptr) {
EXPECT_NE(0, 0);
return;
}
view_->SetPosition(POS_X, POS_Y, DEFAULE_WIDTH, DEFAULE_HEIGHT);
EXPECT_EQ(view_->GetHeight(), DEFAULE_HEIGHT);
EXPECT_EQ(view_->GetWidth(), DEFAULE_WIDTH);
EXPECT_EQ(view_->GetX(), POS_X);
EXPECT_EQ(view_->GetY(), POS_Y);
view_->ResizePercent(POS_X_PERCENT, POS_Y_PERCENT);
EXPECT_EQ(view_->GetHeight(), DEFAULE_HEIGHT);
EXPECT_EQ(view_->GetWidth(), DEFAULE_WIDTH);
UIViewGroup* viewGroup = new UIViewGroup();
viewGroup->Add(view_);
view_->ResizePercent(POS_X_PERCENT, POS_Y_PERCENT);
EXPECT_EQ(view_->GetHeight(), DEFAULE_HEIGHT);
EXPECT_EQ(view_->GetWidth(), DEFAULE_WIDTH);
viewGroup->SetWidth(DEFAULE_WIDTH);
viewGroup->SetHeight(DEFAULE_HEIGHT);
view_->ResizePercent(INVALID_PERCENT_ZERO, POS_Y_PERCENT);
EXPECT_EQ(view_->GetHeight(), DEFAULE_HEIGHT);
EXPECT_EQ(view_->GetWidth(), DEFAULE_WIDTH);
view_->ResizePercent(POS_X_PERCENT, INVALID_PERCENT_ONE);
EXPECT_EQ(view_->GetHeight(), DEFAULE_HEIGHT);
EXPECT_EQ(view_->GetWidth(), DEFAULE_WIDTH);
view_->ResizePercent(POS_X_PERCENT, POS_Y_PERCENT);
EXPECT_EQ(view_->GetHeight(), (int16_t)(DEFAULE_HEIGHT * POS_Y_PERCENT));
EXPECT_EQ(view_->GetWidth(), (int16_t)(DEFAULE_WIDTH * POS_X_PERCENT));
delete viewGroup;
}
* @tc.name: UIViewSetXPercent_001
* @tc.desc: Verify SetXPercent function, equal.
* @tc.type: FUNC
* @tc.require: AR000F4770
*/
HWTEST_F(UIViewTest, UIViewSetXPercent_001, TestSize.Level0)
{
if (view_ == nullptr) {
EXPECT_NE(0, 0);
return;
}
view_->SetPosition(POS_X, POS_Y, DEFAULE_WIDTH, DEFAULE_HEIGHT);
EXPECT_EQ(view_->GetHeight(), DEFAULE_HEIGHT);
EXPECT_EQ(view_->GetWidth(), DEFAULE_WIDTH);
EXPECT_EQ(view_->GetX(), POS_X);
EXPECT_EQ(view_->GetY(), POS_Y);
view_->SetXPercent(POS_X_PERCENT);
EXPECT_EQ(view_->GetX(), POS_X);
UIViewGroup* viewGroup = new UIViewGroup();
viewGroup->Add(view_);
view_->SetXPercent(POS_X_PERCENT);
EXPECT_EQ(view_->GetX(), POS_X);
viewGroup->SetWidth(DEFAULE_WIDTH);
viewGroup->SetHeight(DEFAULE_HEIGHT);
view_->SetXPercent(INVALID_PERCENT_ZERO);
EXPECT_EQ(view_->GetX(), POS_X);
view_->SetXPercent(INVALID_PERCENT_ONE);
EXPECT_EQ(view_->GetX(), POS_X);
view_->SetXPercent(POS_X_PERCENT);
EXPECT_EQ(view_->GetX(), (int16_t)(POS_X_PERCENT * DEFAULE_WIDTH));
delete viewGroup;
}
* @tc.name: UIViewSetYPercent_001
* @tc.desc: Verify SetYPercent function, equal.
* @tc.type: FUNC
* @tc.require: AR000F4770
*/
HWTEST_F(UIViewTest, UIViewSetYPercent_001, TestSize.Level0)
{
if (view_ == nullptr) {
EXPECT_NE(0, 0);
return;
}
view_->SetPosition(POS_X, POS_Y, DEFAULE_WIDTH, DEFAULE_HEIGHT);
EXPECT_EQ(view_->GetHeight(), DEFAULE_HEIGHT);
EXPECT_EQ(view_->GetWidth(), DEFAULE_WIDTH);
EXPECT_EQ(view_->GetX(), POS_X);
EXPECT_EQ(view_->GetY(), POS_Y);
view_->SetYPercent(POS_Y_PERCENT);
EXPECT_EQ(view_->GetY(), POS_Y);
UIViewGroup* viewGroup = new UIViewGroup();
viewGroup->Add(view_);
view_->SetYPercent(POS_Y_PERCENT);
EXPECT_EQ(view_->GetY(), POS_Y);
viewGroup->SetWidth(DEFAULE_WIDTH);
viewGroup->SetHeight(DEFAULE_HEIGHT);
view_->SetYPercent(INVALID_PERCENT_ZERO);
EXPECT_EQ(view_->GetY(), POS_Y);
view_->SetYPercent(INVALID_PERCENT_ONE);
EXPECT_EQ(view_->GetY(), POS_Y);
view_->SetYPercent(POS_Y_PERCENT);
EXPECT_EQ(view_->GetY(), (int16_t)(POS_Y_PERCENT * DEFAULE_HEIGHT));
delete viewGroup;
}
* @tc.name: UIViewSetPositionPercent_001
* @tc.desc: Verify SetPositionPercent function, equal.
* @tc.type: FUNC
* @tc.require: AR000F4770
*/
HWTEST_F(UIViewTest, UIViewSetPositionPercent_001, TestSize.Level0)
{
if (view_ == nullptr) {
EXPECT_NE(0, 0);
return;
}
view_->SetPosition(POS_X, POS_Y, DEFAULE_WIDTH, DEFAULE_HEIGHT);
EXPECT_EQ(view_->GetHeight(), DEFAULE_HEIGHT);
EXPECT_EQ(view_->GetWidth(), DEFAULE_WIDTH);
EXPECT_EQ(view_->GetX(), POS_X);
EXPECT_EQ(view_->GetY(), POS_Y);
view_->SetPositionPercent(POS_X_PERCENT, POS_Y_PERCENT);
EXPECT_EQ(view_->GetX(), POS_X);
EXPECT_EQ(view_->GetY(), POS_Y);
UIViewGroup* viewGroup = new UIViewGroup();
viewGroup->Add(view_);
view_->SetPositionPercent(POS_X_PERCENT, POS_Y_PERCENT);
EXPECT_EQ(view_->GetX(), POS_X);
EXPECT_EQ(view_->GetY(), POS_Y);
viewGroup->SetWidth(DEFAULE_WIDTH);
viewGroup->SetHeight(DEFAULE_HEIGHT);
view_->SetPositionPercent(INVALID_PERCENT_ZERO, INVALID_PERCENT_ONE);
EXPECT_EQ(view_->GetX(), POS_X);
EXPECT_EQ(view_->GetY(), POS_Y);
view_->SetPositionPercent(POS_X_PERCENT, POS_Y_PERCENT);
EXPECT_EQ(view_->GetX(), (int16_t)(POS_X_PERCENT * DEFAULE_WIDTH));
EXPECT_EQ(view_->GetY(), (int16_t)(POS_Y_PERCENT * DEFAULE_HEIGHT));
delete viewGroup;
}
* @tc.name: Graphic_UIView_Test_SetPositionPercent_002
* @tc.desc: Verify SetPositionPercent function, equal.
* @tc.type: FUNC
* @tc.require: AR000F4770
*/
HWTEST_F(UIViewTest, UIViewSetPositionPercent_002, TestSize.Level0)
{
if (view_ == nullptr) {
EXPECT_NE(0, 0);
return;
}
view_->SetPosition(POS_X, POS_Y, DEFAULE_WIDTH, DEFAULE_HEIGHT);
EXPECT_EQ(view_->GetHeight(), DEFAULE_HEIGHT);
EXPECT_EQ(view_->GetWidth(), DEFAULE_WIDTH);
EXPECT_EQ(view_->GetX(), POS_X);
EXPECT_EQ(view_->GetY(), POS_Y);
view_->SetPositionPercent(POS_X_PERCENT, POS_Y_PERCENT, DEFAULT_WIDTH_PERCENT, DEFAULT_HEIGHT_PERCENT);
EXPECT_EQ(view_->GetHeight(), DEFAULE_HEIGHT);
EXPECT_EQ(view_->GetWidth(), DEFAULE_WIDTH);
EXPECT_EQ(view_->GetX(), POS_X);
EXPECT_EQ(view_->GetY(), POS_Y);
UIViewGroup* viewGroup = new UIViewGroup();
viewGroup->Add(view_);
view_->SetPositionPercent(POS_X_PERCENT, POS_Y_PERCENT, DEFAULT_WIDTH_PERCENT, DEFAULT_HEIGHT_PERCENT);
EXPECT_EQ(view_->GetHeight(), DEFAULE_HEIGHT);
EXPECT_EQ(view_->GetWidth(), DEFAULE_WIDTH);
EXPECT_EQ(view_->GetX(), POS_X);
EXPECT_EQ(view_->GetY(), POS_Y);
viewGroup->SetWidth(DEFAULE_WIDTH);
viewGroup->SetHeight(DEFAULE_HEIGHT);
view_->SetPositionPercent(INVALID_PERCENT_ZERO, INVALID_PERCENT_ONE, DEFAULT_WIDTH_PERCENT, DEFAULT_HEIGHT_PERCENT);
EXPECT_EQ(view_->GetHeight(), DEFAULE_HEIGHT);
EXPECT_EQ(view_->GetWidth(), DEFAULE_WIDTH);
EXPECT_EQ(view_->GetX(), POS_X);
EXPECT_EQ(view_->GetY(), POS_Y);
view_->SetPositionPercent(POS_X_PERCENT, POS_Y_PERCENT, DEFAULT_WIDTH_PERCENT, DEFAULT_HEIGHT_PERCENT);
EXPECT_EQ(view_->GetHeight(), (int16_t)(DEFAULE_HEIGHT * DEFAULT_HEIGHT_PERCENT));
EXPECT_EQ(view_->GetWidth(), (int16_t)(DEFAULE_WIDTH * DEFAULT_WIDTH_PERCENT));
EXPECT_EQ(view_->GetX(), (int16_t)(POS_X_PERCENT * DEFAULE_WIDTH));
EXPECT_EQ(view_->GetY(), (int16_t)(POS_Y_PERCENT * DEFAULE_HEIGHT));
delete viewGroup;
}
* @tc.name: UIViewSetViewId_001
* @tc.desc: Verify SetViewId function, equal.
* @tc.type: FUNC
* @tc.require: AR000EEMQF
*/
HWTEST_F(UIViewTest, UIViewSetViewId_001, TestSize.Level1)
{
if (view_ == nullptr) {
EXPECT_NE(0, 0);
return;
}
const char* id = "graphic_unittest_view";
view_->SetViewId(id);
EXPECT_EQ(memcmp(view_->GetViewId(), id, strlen(id)), 0);
}
* @tc.name: UIViewSetViewIndex_001
* @tc.desc: Verify SetViewIndex function, equal.
* @tc.type: FUNC
* @tc.require: AR000EEMQF
*/
HWTEST_F(UIViewTest, UIViewSetViewIndex_001, TestSize.Level1)
{
if (view_ == nullptr) {
EXPECT_NE(0, 0);
return;
}
int16_t index = 1;
view_->SetViewIndex(index);
EXPECT_EQ(view_->GetViewIndex(), index);
}
* @tc.name: UIViewGetViewType_001
* @tc.desc: Verify GetViewType function, equal.
* @tc.type: FUNC
* @tc.require: AR000EEMQF
*/
HWTEST_F(UIViewTest, UIViewGetViewType_001, TestSize.Level1)
{
if (view_ == nullptr) {
EXPECT_NE(0, 0);
return;
}
EXPECT_EQ(view_->GetViewType(), UI_NUMBER_MAX);
}
* @tc.name: UIViewSetOpaScale_001
* @tc.desc: Verify SetOpaScale function, equal.
* @tc.type: FUNC
* @tc.require: AR000F4E5D
*/
HWTEST_F(UIViewTest, UIViewSetOpaScale_001, TestSize.Level1)
{
if (view_ == nullptr) {
EXPECT_NE(0, 0);
return;
}
view_->SetOpaScale(OPA_OPAQUE);
EXPECT_EQ(view_->GetOpaScale(), OPA_OPAQUE);
}
* @tc.name: UIViewSetOpaScale_002
* @tc.desc: Verify SetOpaScale function, equal.
* @tc.type: FUNC
* @tc.require: SR000F3PEB
*/
HWTEST_F(UIViewTest, UIViewSetOpaScale_002, TestSize.Level1)
{
if (view_ == nullptr) {
EXPECT_NE(0, 0);
return;
}
uint8_t opaScale = OPA_OPAQUE;
view_->SetOpaScale(OPA_OPAQUE);
view_->SetStyle(STYLE_BACKGROUND_OPA, opaScale >> 1);
view_->SetStyle(STYLE_BORDER_OPA, opaScale >> 1);
EXPECT_EQ(view_->GetOpaScale(), OPA_OPAQUE);
}
* @tc.name: UIViewSetStyle_001
* @tc.desc: Verify SetStyle function, equal.
* @tc.type: FUNC
* @tc.require: AR000EEMQF
*/
HWTEST_F(UIViewTest, UIViewSetStyle_001, TestSize.Level1)
{
if (view_ == nullptr) {
EXPECT_NE(0, 0);
return;
}
Style style;
style.borderOpa_ = OPA_OPAQUE;
view_->SetStyle(style);
EXPECT_EQ(view_->GetStyleConst().borderOpa_, OPA_OPAQUE);
view_->SetStyle(STYLE_LINE_OPA, OPA_OPAQUE);
EXPECT_EQ(view_->GetStyle(STYLE_LINE_OPA), OPA_OPAQUE);
}
* @tc.name: UIViewLayoutOfParent_001
* @tc.desc: Verify LayoutOfParent function, equal.
* @tc.type: FUNC
* @tc.require: AR000EEMQF
*/
HWTEST_F(UIViewTest, UIViewLayoutOfParent_001, TestSize.Level0)
{
if (view_ == nullptr) {
EXPECT_NE(0, 0);
return;
}
UIViewGroup* viewGroup = new UIViewGroup();
viewGroup->SetPosition(0, 0, DEFAULE_WIDTH, DEFAULE_HEIGHT);
view_->SetPosition(POS_X, POS_Y, BUTTON_WIDTH, BUTTON_HEIGHT);
viewGroup->Add(view_);
int16_t centerX = (DEFAULE_WIDTH- BUTTON_WIDTH) / 2;
int16_t centerY = (DEFAULE_HEIGHT- BUTTON_HEIGHT) / 2;
EXPECT_EQ(view_->GetX(), POS_X);
EXPECT_EQ(view_->GetY(), POS_Y);
view_->LayoutCenterOfParent();
EXPECT_EQ(view_->GetX(), centerX);
EXPECT_EQ(view_->GetY(), centerY);
view_->LayoutLeftOfParent();
EXPECT_EQ(view_->GetX(), 0);
EXPECT_EQ(view_->GetY(), centerY);
view_->LayoutRightOfParent();
EXPECT_EQ(view_->GetX(), DEFAULE_WIDTH- BUTTON_WIDTH);
EXPECT_EQ(view_->GetY(), centerY);
view_->LayoutTopOfParent();
EXPECT_EQ(view_->GetX(), DEFAULE_WIDTH- BUTTON_WIDTH);
EXPECT_EQ(view_->GetY(), 0);
view_->LayoutBottomOfParent();
EXPECT_EQ(view_->GetX(), DEFAULE_WIDTH- BUTTON_WIDTH);
EXPECT_EQ(view_->GetY(), DEFAULE_HEIGHT- BUTTON_HEIGHT);
delete viewGroup;
}
* @tc.name: UIViewAlignToSibling_001
* @tc.desc: Verify AlignToSibling function, equal.
* @tc.type: FUNC
* @tc.require: AR000EEMQF
*/
HWTEST_F(UIViewTest, UIViewAlignToSibling_001, TestSize.Level0)
{
if (view_ == nullptr) {
EXPECT_NE(0, 0);
return;
}
UIViewGroup* viewGroup = new UIViewGroup();
viewGroup->SetPosition(0, 0, DEFAULE_WIDTH, DEFAULE_HEIGHT);
view_->SetPosition(POS_X, POS_Y, BUTTON_WIDTH, BUTTON_HEIGHT);
viewGroup->Add(view_);
int16_t centerX = (DEFAULE_WIDTH- BUTTON_WIDTH) / 2;
int16_t centerY = (DEFAULE_HEIGHT- BUTTON_HEIGHT) / 2;
UIView* view2 = new UIView();
view2->SetPosition(centerX, centerY, BUTTON_WIDTH, BUTTON_HEIGHT);
view2->SetViewId("refView");
viewGroup->Add(view2);
EXPECT_EQ(view_->GetX(), POS_X);
EXPECT_EQ(view_->GetY(), POS_Y);
view_->AlignLeftToSibling("refView");
EXPECT_EQ(view_->GetX(), centerX);
EXPECT_EQ(view_->GetY(), POS_Y);
view_->AlignRightToSibling("refView");
EXPECT_EQ(view_->GetX(), centerX);
EXPECT_EQ(view_->GetY(), POS_Y);
view_->AlignTopToSibling("refView");
EXPECT_EQ(view_->GetX(), centerX);
EXPECT_EQ(view_->GetY(), centerY);
view_->AlignBottomToSibling("refView");
EXPECT_EQ(view_->GetX(), centerX);
EXPECT_EQ(view_->GetY(), centerY);
view_->AlignHorCenterToSibling("refView");
EXPECT_EQ(view_->GetX(), centerX);
EXPECT_EQ(view_->GetY(), centerY);
view_->AlignVerCenterToSibling("refView");
EXPECT_EQ(view_->GetX(), centerX);
EXPECT_EQ(view_->GetY(), centerY);
delete view2;
delete viewGroup;
}
* @tc.name: UIViewLayoutToSibling_001
* @tc.desc: Verify LayoutToSibling function, equal.
* @tc.type: FUNC
* @tc.require: AR000EEMQF
*/
HWTEST_F(UIViewTest, UIViewLayoutToSibling_001, TestSize.Level0)
{
if (view_ == nullptr) {
EXPECT_NE(0, 0);
return;
}
UIViewGroup* viewGroup = new UIViewGroup();
viewGroup->SetPosition(0, 0, DEFAULE_WIDTH, DEFAULE_HEIGHT);
view_->SetPosition(POS_X, POS_Y, BUTTON_WIDTH, BUTTON_HEIGHT);
viewGroup->Add(view_);
int16_t centerX = (DEFAULE_WIDTH- BUTTON_WIDTH) / 2;
int16_t centerY = (DEFAULE_HEIGHT- BUTTON_HEIGHT) / 2;
UIView* view2 = new UIView();
view2->SetPosition(centerX, centerY, BUTTON_WIDTH, BUTTON_HEIGHT);
view2->SetViewId("refView");
viewGroup->Add(view2);
EXPECT_EQ(view_->GetX(), POS_X);
EXPECT_EQ(view_->GetY(), POS_Y);
view_->LayoutLeftToSibling("refView");
EXPECT_EQ(view_->GetX(), BUTTON_WIDTH);
EXPECT_EQ(view_->GetY(), POS_Y);
view_->LayoutRightToSibling("refView");
EXPECT_EQ(view_->GetX(), centerX + BUTTON_WIDTH);
EXPECT_EQ(view_->GetY(), POS_Y);
view_->LayoutTopToSibling("refView");
EXPECT_EQ(view_->GetX(), centerX + BUTTON_WIDTH);
EXPECT_EQ(view_->GetY(), BUTTON_HEIGHT);
view_->LayoutBottomToSibling("refView");
EXPECT_EQ(view_->GetX(), centerX + BUTTON_WIDTH);
EXPECT_EQ(view_->GetY(), centerY + BUTTON_HEIGHT);
delete view2;
delete viewGroup;
}
* @tc.name: Graphic_UIView_Test_Rotate_001
* @tc.desc: Verify Rotate function, equal.
* @tc.type: FUNC
* @tc.require: SR000F3PEC
*/
HWTEST_F(UIViewTest, Graphic_UIView_Test_Rotate_001, TestSize.Level1)
{
if (view_ == nullptr) {
EXPECT_NE(0, 0);
return;
}
view_->SetPosition(0, 0, DEFAULE_WIDTH, DEFAULE_HEIGHT);
view_->Rotate(DEFAULE_ANGLE, {0, 0});
TransformMap& trans = view_->GetTransformMap();
EXPECT_EQ(view_->GetOrigRect(), trans.GetTransMapRect());
}
* @tc.name: Graphic_UIView_Test_Rotate_002
* @tc.desc: Verify Rotate function, equal.
* @tc.type: FUNC
* @tc.require: AR000F4E5E
*/
HWTEST_F(UIViewTest, Graphic_UIView_Test_Rotate_002, TestSize.Level1)
{
if (view_ == nullptr) {
EXPECT_NE(0, 0);
return;
}
view_->SetPosition(0, 0, DEFAULE_WIDTH, DEFAULE_HEIGHT);
view_->Rotate(DEFAULE_ANGLE, {0, 0});
Polygon polygon = view_->GetTransformMap().GetPolygon();
EXPECT_EQ(POLYGON1, polygon[0]);
EXPECT_EQ(POLYGON2, polygon[1]);
EXPECT_EQ(POLYGON3, polygon[2]);
EXPECT_EQ(POLYGON4, polygon[3]);
}
* @tc.name: Graphic_UIView_Test_Scale_001
* @tc.desc: Verify Scale function, equal.
* @tc.type: FUNC
* @tc.require: SR000ERCQH
*/
HWTEST_F(UIViewTest, Graphic_UIView_Test_Scale_001, TestSize.Level0)
{
if (view_ == nullptr) {
EXPECT_NE(0, 0);
return;
}
view_->SetPosition(0, 0, DEFAULE_WIDTH, DEFAULE_HEIGHT);
view_->Scale(SCALE_VALUE, VIEW_CENTER);
TransformMap& trans = view_->GetTransformMap();
EXPECT_EQ(view_->GetOrigRect(), trans.GetTransMapRect());
}
* @tc.name: Graphic_UIView_Test_Scale_002
* @tc.desc: Verify Scale function, equal.
* @tc.type: FUNC
* @tc.require: AR000EVI2T
*/
HWTEST_F(UIViewTest, Graphic_UIView_Test_Scale_002, TestSize.Level1)
{
if (view_ == nullptr) {
EXPECT_NE(0, 0);
return;
}
view_->SetPosition(0, 0, DEFAULE_WIDTH, DEFAULE_HEIGHT);
view_->Scale(SCALE_VALUE, {0, 0});
Polygon polygon = view_->GetTransformMap().GetPolygon();
EXPECT_EQ(0, polygon[0].x_);
EXPECT_EQ(0, polygon[0].y_);
EXPECT_EQ(DEFAULE_WIDTH >> 1, polygon[2].x_);
EXPECT_EQ(DEFAULE_HEIGHT >> 1, polygon[2].y_);
}
* @tc.name: Graphic_UIView_Test_Margin_001
* @tc.desc: Test whether the Rect is normal in the margin scenario.
* @tc.type: FUNC
* @tc.require: AR000FQNFP
*/
HWTEST_F(UIViewTest, Graphic_UIView_Test_Margin_001, TestSize.Level0)
{
if (view_ == nullptr) {
EXPECT_NE(0, 0);
return;
}
view_->SetStyle(STYLE_MARGIN_LEFT, MARGIN_LEFT);
view_->SetStyle(STYLE_MARGIN_TOP, MARGIN_TOP);
view_->SetPosition(0, 0, DEFAULE_WIDTH, DEFAULE_HEIGHT);
EXPECT_EQ(DEFAULE_WIDTH, view_->GetWidth());
EXPECT_EQ(DEFAULE_HEIGHT, view_->GetHeight());
EXPECT_EQ(0, view_->GetX());
EXPECT_EQ(0, view_->GetY());
Rect rect = view_->GetRelativeRect();
EXPECT_EQ(MARGIN_LEFT, rect.GetX());
EXPECT_EQ(MARGIN_TOP, rect.GetY());
}
* @tc.name: Graphic_UIView_Test_Padding_001
* @tc.desc: Test whether the Rect is normal in the setting padding scene.
* @tc.type: FUNC
* @tc.require: AR000FQNFP
*/
HWTEST_F(UIViewTest, Graphic_UIView_Test_Padding_001, TestSize.Level0)
{
if (view_ == nullptr) {
EXPECT_NE(0, 0);
return;
}
view_->SetStyle(STYLE_PADDING_LEFT, PADDING_LEFT);
view_->SetStyle(STYLE_PADDING_TOP, PADDING_TOP);
view_->SetStyle(STYLE_PADDING_RIGHT, PADDING_RIGHT);
view_->SetStyle(STYLE_PADDING_BOTTOM, PADDING_BOTTOM);
view_->SetPosition(0, 0, DEFAULE_WIDTH, DEFAULE_HEIGHT);
Rect rect = view_->GetContentRect();
EXPECT_EQ(PADDING_LEFT, rect.GetX());
EXPECT_EQ(PADDING_TOP, rect.GetY());
EXPECT_EQ(PADDING_LEFT + DEFAULE_WIDTH - 1, rect.GetRight());
EXPECT_EQ(PADDING_TOP + DEFAULE_HEIGHT - 1, rect.GetBottom());
rect = view_->GetRelativeRect();
EXPECT_EQ(0, rect.GetX());
EXPECT_EQ(0, rect.GetY());
EXPECT_EQ(PADDING_LEFT + PADDING_RIGHT + DEFAULE_WIDTH - 1, rect.GetRight());
EXPECT_EQ(PADDING_TOP + PADDING_BOTTOM + DEFAULE_HEIGHT - 1, rect.GetBottom());
}
* @tc.name: Graphic_UIView_Test_Border_001
* @tc.desc: Test whether the Rect is normal in the setting of the border scene.
* @tc.type: FUNC
* @tc.require: AR000FQNFP
*/
HWTEST_F(UIViewTest, Graphic_UIView_Test_Border_001, TestSize.Level0)
{
if (view_ == nullptr) {
EXPECT_NE(0, 0);
return;
}
view_->SetStyle(STYLE_BORDER_WIDTH, BORDER_WIDTH);
view_->SetPosition(0, 0, DEFAULE_WIDTH, DEFAULE_HEIGHT);
Rect rect = view_->GetContentRect();
EXPECT_EQ(BORDER_WIDTH, rect.GetX());
EXPECT_EQ(BORDER_WIDTH, rect.GetY());
EXPECT_EQ(BORDER_WIDTH + DEFAULE_WIDTH - 1, rect.GetRight());
EXPECT_EQ(BORDER_WIDTH + DEFAULE_HEIGHT - 1, rect.GetBottom());
rect = view_->GetRelativeRect();
EXPECT_EQ(0, rect.GetX());
EXPECT_EQ(0, rect.GetY());
EXPECT_EQ(BORDER_WIDTH + BORDER_WIDTH + DEFAULE_WIDTH - 1, rect.GetRight());
EXPECT_EQ(BORDER_WIDTH + BORDER_WIDTH + DEFAULE_HEIGHT - 1, rect.GetBottom());
}
* @tc.name: Graphic_UIView_Test_SetZIndex_001
* @tc.desc: Check zIndex equal
* @tc.type: FUNC
* @tc.require:issueI5AD8G
*/
HWTEST_F(UIViewTest, Graphic_UIView_Test_SetZIndex_001, TestSize.Level0)
{
UIView* view = new UIView();
int16_t zIndex = 0;
view->SetZIndex(zIndex);
EXPECT_EQ(zIndex, view->GetZIndex());
zIndex = 20;
view->SetZIndex(zIndex);
EXPECT_EQ(zIndex, view->GetZIndex());
zIndex = 66666;
view->SetZIndex(zIndex);
EXPECT_EQ(zIndex, view->GetZIndex());
zIndex = -1;
view->SetZIndex(zIndex);
EXPECT_EQ(zIndex, view->GetZIndex());
zIndex = -66666;
view->SetZIndex(zIndex);
EXPECT_EQ(zIndex, view->GetZIndex());
zIndex = 20;
view->SetZIndex(zIndex);
view->SetZIndex(zIndex * 2);
EXPECT_EQ(zIndex * 2, view->GetZIndex());
}
* @tc.name: Graphic_UIView_Test_GetZIndex_001
* @tc.desc: Check the default zIndex
* @tc.type: FUNC
* @tc.require:issueI5AD8G
*/
HWTEST_F(UIViewTest, Graphic_UIView_Test_GetZIndex_001, TestSize.Level0)
{
UIView* view = new UIView();
EXPECT_EQ(0, view->GetZIndex());
UIViewGroup* viewGroup = new UIViewGroup();
EXPECT_EQ(0, viewGroup->GetZIndex());
delete view;
delete viewGroup;
}
* @tc.name: Graphic_UIView_Test_GetNextRenderSibling_001
* @tc.desc: Check the default zIndex
* @tc.type: FUNC
* @tc.require:issueI5AD8G
*/
HWTEST_F(UIViewTest, Graphic_UIView_Test_GetNextRenderSibling_001, TestSize.Level0)
{
UIView* view = new UIView();
UIView* sibling = view->GetNextRenderSibling();
EXPECT_EQ(sibling, nullptr);
UIViewGroup* viewGroup = new UIViewGroup();
sibling = viewGroup->GetNextRenderSibling();
EXPECT_EQ(sibling, nullptr);
delete view;
delete viewGroup;
}
* @tc.name: Graphic_UIView_Test_SetNextRenderSibling_001
* @tc.desc: Check the default zIndex
* @tc.type: FUNC
* @tc.require:issueI5AD8G
*/
HWTEST_F(UIViewTest, Graphic_UIView_Test_SetNextRenderSibling_001, TestSize.Level0)
{
UIView* view = new UIView();
UIView* tempView = new UIView();
view->SetNextRenderSibling(tempView);
EXPECT_EQ(view->GetNextRenderSibling(), tempView);
UIViewGroup* viewGroup = new UIViewGroup();
viewGroup->SetNextRenderSibling(tempView);
EXPECT_EQ(viewGroup->GetNextRenderSibling(), tempView);
delete tempView;
delete view;
delete viewGroup;
}
}