From faa96435c9bc023626744354ec7ff6976f1bb543 Mon Sep 17 00:00:00 2001 From: YeShanShan Date: Fri, 18 Aug 2023 16:50:25 +0800 Subject: [PATCH] feat: Add UT for DWaterMarkWidget Add UT. --- tests/CMakeLists.txt | 1 + tests/data.qrc | 2 + tests/data/watermarks/image.png | Bin 0 -> 7561 bytes tests/data/watermarks/text.png | Bin 0 -> 11502 bytes .../testcases/widgets/ut_dwatermarkwidget.cpp | 68 ++++++++++++++++++ 5 files changed, 71 insertions(+) create mode 100644 tests/data/watermarks/image.png create mode 100644 tests/data/watermarks/text.png create mode 100644 tests/testcases/widgets/ut_dwatermarkwidget.cpp diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 9429d080d..2156dde7b 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -112,6 +112,7 @@ set(WIDGET_TEST testcases/widgets/ut_dwindowoptionbutton.cpp testcases/widgets/ut_dwindowquitfullbutton.cpp testcases/widgets/ut_dcombobox.cpp + testcases/widgets/ut_dwatermarkwidget.cpp ) include(${PROJECT_SOURCE_DIR}/src/util/util.cmake) diff --git a/tests/data.qrc b/tests/data.qrc index 25973af34..eeefdf10d 100644 --- a/tests/data.qrc +++ b/tests/data.qrc @@ -3,5 +3,7 @@ data/titlebar-settings.json data/example-license.json data/test.png + data/watermarks/text.png + data/watermarks/image.png diff --git a/tests/data/watermarks/image.png b/tests/data/watermarks/image.png new file mode 100644 index 0000000000000000000000000000000000000000..eaf576d873da0dc1492d79f54dba298a652cfb75 GIT binary patch literal 7561 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 VNX8{Lk1AlM(FYpqRBOM8`adANcrE|{ literal 0 HcmV?d00001 diff --git a/tests/testcases/widgets/ut_dwatermarkwidget.cpp b/tests/testcases/widgets/ut_dwatermarkwidget.cpp new file mode 100644 index 000000000..9c70be884 --- /dev/null +++ b/tests/testcases/widgets/ut_dwatermarkwidget.cpp @@ -0,0 +1,68 @@ +// SPDX-FileCopyrightText: 2023 UnionTech Software Technology Co., Ltd. +// +// SPDX-License-Identifier: LGPL-3.0-or-later + +#include +#include +#include + +#include "dwatermarkwidget.h" +DWIDGET_USE_NAMESPACE +class ut_DWaterMarkWidget : public testing::Test +{ +protected: + void SetUp() override + { + root = new QLabel(); + target = new DWaterMarkWidget(root); + root->resize(600, 600); + + QImage img(":/data/test.png"); + QPixmap pixmap = QPixmap::fromImage(img.scaled(root->size())); + root->setPixmap(pixmap); + } + void TearDown() override + { + if (root) + delete root; + } + inline bool equalImage(const QImage &source) + { + QPixmap result = root->grab(); + return result.toImage() == source; + } + + DWaterMarkWidget *target = nullptr; + QLabel *root = nullptr; +}; + +TEST_F(ut_DWaterMarkWidget, paintText) +{ + WaterMarkData data = target->data(); + data.setType(WaterMarkData::Text); + data.setText("deepin water mark"); + data.setLineSpacing(200); + data.setScaleFactor(1.5); + auto font = data.font(); + font.setBold(true); + font.setPointSize(20); + data.setFont(font); + data.setColor(Qt::red); + data.setOpacity(0.5); + target->setData(data); + + EXPECT_TRUE(equalImage(QImage(":/data/watermarks/text.png"))); +} + +TEST_F(ut_DWaterMarkWidget, paintImage) +{ + WaterMarkData data = target->data(); + data.setType(WaterMarkData::Image); + QImage img(":/assets/images/uos.svg"); + data.setImage(img); + data.setLineSpacing(200); + data.setGrayScale(true); + target->setData(data); + + EXPECT_TRUE(equalImage(QImage(":/data/watermarks/image.png"))); +}