Skip to content

Commit

Permalink
chore: add test for dwatermarkhelper
Browse files Browse the repository at this point in the history
Log:
  • Loading branch information
xzl01 authored and justforlxz committed Aug 18, 2023
1 parent 0312b95 commit 72c59d8
Show file tree
Hide file tree
Showing 5 changed files with 157 additions and 0 deletions.
5 changes: 5 additions & 0 deletions .reuse/dep5
Original file line number Diff line number Diff line change
Expand Up @@ -92,3 +92,8 @@ License: LGPL-3.0-or-later
Files: *.ui
Copyright: UnionTech Software Technology Co., Ltd.
License: LGPL-3.0-or-later

# test
Files: tests/data/*
Copyright: None
License: CC0-1.0
1 change: 1 addition & 0 deletions tests/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,7 @@ set(WIDGET_TEST
testcases/widgets/ut_dtoolbutton.cpp
testcases/widgets/ut_dtooltip.cpp
testcases/widgets/ut_dwarningbutton.cpp
testcases/widgets/ut_dwatermarkhelper.cpp
# FIXME break
# testcases/widgets/ut_dwaterprogress.cpp
testcases/widgets/ut_dwindowclosebutton.cpp
Expand Down
1 change: 1 addition & 0 deletions tests/data.qrc
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,6 @@
<qresource prefix="/">
<file>data/titlebar-settings.json</file>
<file>data/example-license.json</file>
<file>data/test.png</file>
</qresource>
</RCC>
Binary file added tests/data/test.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
150 changes: 150 additions & 0 deletions tests/testcases/widgets/ut_dwatermarkhelper.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,150 @@
// SPDX-FileCopyrightText: 2023 UnionTech Software Technology Co., Ltd.
//
// SPDX-License-Identifier: LGPL-3.0-or-later

#include <gtest/gtest.h>
#include <QTest>
#include <QDebug>

#include "DWaterMarkHelper"

DWIDGET_USE_NAMESPACE

class ut_DWaterMarkHelper : public testing::Test
{
protected:
void SetUp() override;
void TearDown() override;
QWidget *widget = nullptr;
DWaterMarkHelper *helper = nullptr;
};

void ut_DWaterMarkHelper::SetUp()
{
widget = new QWidget;
helper = DWaterMarkHelper::instance();
}

void ut_DWaterMarkHelper::TearDown()
{
if (widget) {
delete widget;
widget = nullptr;
}
}

TEST_F(ut_DWaterMarkHelper, testSetData)
{
WaterMarkData data;
data.setText("test");
helper->setData(data);
EXPECT_EQ(helper->data().text(), "test");
}

TEST_F(ut_DWaterMarkHelper, testSetType)
{
WaterMarkData data;
data.setType(WaterMarkData::WaterMarkType::Text);
helper->setData(data);
EXPECT_EQ(helper->data().type(), WaterMarkData::WaterMarkType::Text);
}

TEST_F(ut_DWaterMarkHelper, testSetLayout)
{
WaterMarkData data;
data.setLayout(WaterMarkData::WaterMarkLayout::Center);
helper->setData(data);
EXPECT_EQ(helper->data().layout(), WaterMarkData::WaterMarkLayout::Center);
}

TEST_F(ut_DWaterMarkHelper, testSetScaleFactor)
{
WaterMarkData data;
data.setScaleFactor(0.5);
helper->setData(data);
EXPECT_EQ(helper->data().scaleFactor(), 0.5);
}

TEST_F(ut_DWaterMarkHelper, testSetSpacing)
{
WaterMarkData data;
data.setSpacing(10);
helper->setData(data);
EXPECT_EQ(helper->data().spacing(), 10);
}

TEST_F(ut_DWaterMarkHelper, testSetLineSpacing)
{
WaterMarkData data;
data.setLineSpacing(10);
helper->setData(data);
EXPECT_EQ(helper->data().lineSpacing(), 10);
}

TEST_F(ut_DWaterMarkHelper, testSetText)
{
WaterMarkData data;
data.setText("test");
helper->setData(data);
EXPECT_EQ(helper->data().text(), "test");
}

TEST_F(ut_DWaterMarkHelper, testSetFont)
{
WaterMarkData data;
QFont font;
font.setFamily("test");
data.setFont(font);
helper->setData(data);
EXPECT_EQ(helper->data().font().family(), "test");
}

TEST_F(ut_DWaterMarkHelper, testSetColor)
{
WaterMarkData data;
data.setColor(Qt::red);
helper->setData(data);
EXPECT_EQ(helper->data().color(), Qt::red);
}

TEST_F(ut_DWaterMarkHelper, testSetRotation)
{
WaterMarkData data;
data.setRotation(10);
helper->setData(data);
EXPECT_EQ(helper->data().rotation(), 10);
}

TEST_F(ut_DWaterMarkHelper, testSetOpacity)
{
WaterMarkData data;
data.setOpacity(0.5);
helper->setData(data);
EXPECT_EQ(helper->data().opacity(), 0.5);
}

TEST_F(ut_DWaterMarkHelper, testSetImage)
{
WaterMarkData data;
QImage image;
image.load(":/images/test.png");
data.setImage(image);
helper->setData(data);
EXPECT_EQ(helper->data().image().width(), 100);
}

TEST_F(ut_DWaterMarkHelper, testSetGrayScale)
{
WaterMarkData data;
data.setGrayScale(true);
helper->setData(data);
EXPECT_TRUE(helper->data().grayScale());
}

TEST_F(ut_DWaterMarkHelper, testSetWaterMark)
{
WaterMarkData data;
data.setText("test");
helper->setWaterMark(widget, data);
EXPECT_EQ(helper->data().text(), "test");
}

0 comments on commit 72c59d8

Please sign in to comment.