File: ut_dblureffectwidget.cpp

package info (click to toggle)
dtkwidget 5.7.12-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 36,540 kB
  • sloc: cpp: 63,257; ansic: 132; python: 88; sh: 42; makefile: 13
file content (99 lines) | stat: -rw-r--r-- 3,017 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
// SPDX-FileCopyrightText: 2021 - 2022 UnionTech Software Technology Co., Ltd.
//
// SPDX-License-Identifier: LGPL-3.0-or-later

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

#include <QPen>
#include <QPainter>
#include <QPainterPath>

#include "dblureffectwidget.h"
#include "private/dblureffectwidget_p.h"

DWIDGET_USE_NAMESPACE

class ut_DBlurEffectWidget : public testing::Test
{
protected:
    void SetUp() override;
    void TearDown() override;
    DBlurEffectWidget *widget = nullptr;
};

void ut_DBlurEffectWidget::SetUp()
{
    widget = new DBlurEffectWidget;
}

void ut_DBlurEffectWidget::TearDown()
{
    widget->deleteLater();
}

TEST_F(ut_DBlurEffectWidget, testBlurEffectWidgetFrontEnd)
{
//    // 测试信号槽的有效性
//    QObject::connect(widget, &DBlurEffectWidget::modeChanged, widget, [this](DBlurEffectWidget::BlurMode mode){
//        ASSERT_TRUE(widget->mode() == DBlurEffectWidget::BlurMode::GaussianBlur);
//    });

//    QObject::connect(widget, &DBlurEffectWidget::fullChanged, widget, [this](bool isFull){
//        ASSERT_TRUE(widget->isFull() == isFull);
//    });
//    widget->setFull(true);

//    // 测试 set mode 以及 mode change 的有效性
//    widget->setMode(DBlurEffectWidget::BlurMode::GaussianBlur);
//    ASSERT_TRUE(widget->mode() == DBlurEffectWidget::BlurMode::GaussianBlur);

//    widget->setRadius(5);
//    ASSERT_TRUE(widget->radius() == 5);

//    // 测试 setMaskPath
//    QPainter painter;
//    painter.setPen(Qt::yellow); //设置画笔颜色
//    QPainterPath path;
//    path.moveTo(widget->width()/2, widget->height()/2);
//    path.arcTo(widget->width()/2 - 100, widget->height()/2 - 100, 200, 200, 30, 120);
//    painter.drawPath(path);

//    widget->setMaskPath(path);
//    ASSERT_TRUE(widget->d_func()->maskPath == path);

//    widget->setBlendMode(DBlurEffectWidget::InWindowBlend);
//    ASSERT_TRUE(widget->blendMode() == DBlurEffectWidget::InWindowBlend);

//    widget->setMaskAlpha(155);
//    ASSERT_TRUE(widget->maskAlpha() == 155);
}

//TEST_F(ut_DBlurEffectWidget, testBlurEffectWidgetBackEnd)
//{
//    DBlurEffectWidget::MaskColorType type = DBlurEffectWidget::LightColor;
//    widget->setMaskColor(type);
//    ASSERT_TRUE(widget->d_func()->maskColorType == type);

//    widget->setBlurEnabled(true);
//    ASSERT_TRUE(widget->blurEnabled() == true);

//    QImage img(QIcon::fromTheme("icon_Window").pixmap(QSize(10,10)).toImage());
//    widget->setSourceImage(img);
//    ASSERT_TRUE(widget->d_func()->sourceImage == img);

//    int blurRectXRadius = 8;
//    widget->setBlurRectXRadius(blurRectXRadius);
//    ASSERT_EQ(widget->d_func()->blurRectXRadius, blurRectXRadius);

//    int blurRectYRadius = 8;
//    widget->setBlurRectYRadius(blurRectYRadius);
//    ASSERT_EQ(widget->d_func()->blurRectYRadius, blurRectYRadius);

//    const QFont font("Arial");
//    widget->setFont(font);
//    qDebug() << widget->font().family();
//    ASSERT_TRUE(widget->font().family() == font.family());
//}