mirror of
https://github.com/linuxdeepin/dde-dock.git
synced 2025-06-02 15:45:21 +00:00
feat: 添加单元测试代码
添加以下类的单元测试代码: mainwindow, 删除部分用不到的代码 Log: Change-Id: I2c6d5f01b730f230d1fdb73fabc8421442fd9e39
This commit is contained in:
parent
1cce47a4e7
commit
84f4d74cc6
@ -4,7 +4,8 @@
|
||||
#include <QMouseEvent>
|
||||
#include <QTouchEvent>
|
||||
|
||||
DockApplication::DockApplication(int &argc, char **argv) : DApplication (argc, argv)
|
||||
DockApplication::DockApplication(int &argc, char **argv)
|
||||
: DApplication (argc, argv)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -220,10 +220,8 @@ QMenu *MenuWorker::createMenu()
|
||||
void MenuWorker::showDockSettingsMenu()
|
||||
{
|
||||
// 菜单功能被禁用
|
||||
const QGSettings *setting = Utils::SettingsPtr("menu");
|
||||
static const QGSettings *setting = Utils::SettingsPtr("menu", this);
|
||||
if (setting && setting->keys().contains("enable") && !setting->get("enable").toBool()) {
|
||||
delete setting;
|
||||
setting = nullptr;
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -28,7 +28,7 @@
|
||||
#include <QRegion>
|
||||
#include <QSequentialAnimationGroup>
|
||||
#include <QVariantAnimation>
|
||||
|
||||
#include <QX11Info>
|
||||
#include <QDBusConnection>
|
||||
|
||||
const QString MonitorsSwitchTime = "monitorsSwitchTime";
|
||||
@ -231,7 +231,7 @@ void MultiScreenWorker::onExtralRegionMonitorChanged(int x, int y, const QString
|
||||
m_delayTimer->stop();
|
||||
|
||||
if (m_hideMode == HideMode::KeepShowing
|
||||
|| ((m_hideMode == HideMode::KeepHidden || m_hideMode == HideMode::SmartHide) && m_hideState == HideState::Show)) {
|
||||
|| ((m_hideMode == HideMode::KeepHidden || m_hideMode == HideMode::SmartHide) && m_hideState == HideState::Show)) {
|
||||
displayAnimation(m_ds.current(), AniAction::Show);
|
||||
} else if ((m_hideMode == HideMode::KeepHidden || m_hideMode == HideMode::SmartHide) && m_hideState == HideState::Hide) {
|
||||
displayAnimation(m_ds.current(), AniAction::Hide);
|
||||
@ -384,16 +384,16 @@ void MultiScreenWorker::updateParentGeometry(const QVariant &value, const Positi
|
||||
case Position::Top: {
|
||||
parent()->panel()->move(0, rect.height() - panelSize);
|
||||
}
|
||||
break;
|
||||
break;
|
||||
case Position::Left: {
|
||||
parent()->panel()->move(rect.width() - panelSize, 0);
|
||||
}
|
||||
break;
|
||||
break;
|
||||
case Position::Bottom:
|
||||
case Position::Right: {
|
||||
parent()->panel()->move(0, 0);
|
||||
}
|
||||
break;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@ -490,7 +490,7 @@ void MultiScreenWorker::onHideModeChanged()
|
||||
m_hideMode = hideMode;
|
||||
|
||||
if (m_hideMode == HideMode::KeepShowing
|
||||
|| ((m_hideMode == HideMode::KeepHidden || m_hideMode == HideMode::SmartHide) && m_hideState == HideState::Show)) {
|
||||
|| ((m_hideMode == HideMode::KeepHidden || m_hideMode == HideMode::SmartHide) && m_hideState == HideState::Show)) {
|
||||
displayAnimation(m_ds.current(), AniAction::Show);
|
||||
} else if ((m_hideMode == HideMode::KeepHidden || m_hideMode == HideMode::SmartHide) && m_hideState == HideState::Hide) {
|
||||
displayAnimation(m_ds.current(), AniAction::Hide);
|
||||
@ -526,7 +526,7 @@ void MultiScreenWorker::onHideStateChanged()
|
||||
qInfo() << "hidestate change:" << m_hideMode << m_hideState;
|
||||
|
||||
if (m_hideMode == HideMode::KeepShowing
|
||||
|| ((m_hideMode == HideMode::KeepHidden || m_hideMode == HideMode::SmartHide) && m_hideState == HideState::Show)) {
|
||||
|| ((m_hideMode == HideMode::KeepHidden || m_hideMode == HideMode::SmartHide) && m_hideState == HideState::Show)) {
|
||||
displayAnimation(m_ds.current(), AniAction::Show);
|
||||
} else if ((m_hideMode == HideMode::KeepHidden || m_hideMode == HideMode::SmartHide) && m_hideState == HideState::Hide) {
|
||||
displayAnimation(m_ds.current(), AniAction::Hide);
|
||||
@ -591,28 +591,28 @@ void MultiScreenWorker::onRequestUpdateRegionMonitor()
|
||||
rect.x2 = inter->x() + inter->w();
|
||||
rect.y2 = inter->y() + monitorHeight;
|
||||
}
|
||||
break;
|
||||
break;
|
||||
case Bottom: {
|
||||
rect.x1 = inter->x();
|
||||
rect.y1 = inter->y() + inter->h() - monitorHeight;
|
||||
rect.x2 = inter->x() + inter->w();
|
||||
rect.y2 = inter->y() + inter->h();
|
||||
}
|
||||
break;
|
||||
break;
|
||||
case Left: {
|
||||
rect.x1 = inter->x();
|
||||
rect.y1 = inter->y();
|
||||
rect.x2 = inter->x() + monitorHeight;
|
||||
rect.y2 = inter->y() + inter->h();
|
||||
}
|
||||
break;
|
||||
break;
|
||||
case Right: {
|
||||
rect.x1 = inter->x() + inter->w() - monitorHeight;
|
||||
rect.y1 = inter->y();
|
||||
rect.x2 = inter->x() + inter->w();
|
||||
rect.y2 = inter->y() + inter->h();
|
||||
}
|
||||
break;
|
||||
break;
|
||||
}
|
||||
|
||||
if (!m_monitorRectList.contains(rect)) {
|
||||
@ -637,28 +637,28 @@ void MultiScreenWorker::onRequestUpdateRegionMonitor()
|
||||
rect.x2 = inter->x() + inter->w();
|
||||
rect.y2 = inter->y() + inter->h();
|
||||
}
|
||||
break;
|
||||
break;
|
||||
case Bottom: {
|
||||
rect.x1 = inter->x();
|
||||
rect.y1 = inter->y();
|
||||
rect.x2 = inter->x() + inter->w();
|
||||
rect.y2 = inter->y() + inter->h() - realDockSize;
|
||||
}
|
||||
break;
|
||||
break;
|
||||
case Left: {
|
||||
rect.x1 = inter->x() + realDockSize;
|
||||
rect.y1 = inter->y();
|
||||
rect.x2 = inter->x() + inter->w();
|
||||
rect.y2 = inter->y() + inter->h();
|
||||
}
|
||||
break;
|
||||
break;
|
||||
case Right: {
|
||||
rect.x1 = inter->x();
|
||||
rect.y1 = inter->y();
|
||||
rect.x2 = inter->x() + inter->w() - realDockSize;
|
||||
rect.y2 = inter->y() + inter->h();
|
||||
}
|
||||
break;
|
||||
break;
|
||||
}
|
||||
|
||||
if (!m_extralRectList.contains(rect)) {
|
||||
@ -686,28 +686,28 @@ void MultiScreenWorker::onRequestUpdateRegionMonitor()
|
||||
touchRect.x2 = inter->x() + inter->w();
|
||||
touchRect.y2 = inter->y() + monitHeight;
|
||||
}
|
||||
break;
|
||||
break;
|
||||
case Bottom: {
|
||||
touchRect.x1 = inter->x();
|
||||
touchRect.y1 = inter->y() + inter->h() - monitHeight;
|
||||
touchRect.x2 = inter->x() + inter->w();
|
||||
touchRect.y2 = inter->y() + inter->h();
|
||||
}
|
||||
break;
|
||||
break;
|
||||
case Left: {
|
||||
touchRect.x1 = inter->x();
|
||||
touchRect.y1 = inter->y();
|
||||
touchRect.x2 = inter->x() + monitHeight;
|
||||
touchRect.y2 = inter->y() + inter->h();
|
||||
}
|
||||
break;
|
||||
break;
|
||||
case Right: {
|
||||
touchRect.x1 = inter->x() + inter->w() - monitHeight;
|
||||
touchRect.y1 = inter->y();
|
||||
touchRect.x2 = inter->x() + inter->w();
|
||||
touchRect.y2 = inter->y() + inter->h();
|
||||
}
|
||||
break;
|
||||
break;
|
||||
}
|
||||
|
||||
if (!m_touchRectList.contains(touchRect)) {
|
||||
@ -749,6 +749,13 @@ void MultiScreenWorker::onRequestNotifyWindowManager()
|
||||
/* 在非主屏或非一直显示状态时,清除任务栏区域,不挤占应用 */
|
||||
if (m_ds.current() != m_ds.primary() || m_hideMode != HideMode::KeepShowing) {
|
||||
lastRect = QRect();
|
||||
|
||||
const auto display = QX11Info::display();
|
||||
if (!display) {
|
||||
qWarning() << "QX11Info::display() is " << display;
|
||||
return;
|
||||
}
|
||||
|
||||
XcbMisc::instance()->clear_strut_partial(xcb_window_t(parent()->winId()));
|
||||
return;
|
||||
}
|
||||
@ -798,6 +805,13 @@ void MultiScreenWorker::onRequestNotifyWindowManager()
|
||||
}
|
||||
|
||||
qDebug() << "set reserved area to xcb:" << strut << strutStart << strutEnd;
|
||||
|
||||
const auto display = QX11Info::display();
|
||||
if (!display) {
|
||||
qWarning() << "QX11Info::display() is " << display;
|
||||
return;
|
||||
}
|
||||
|
||||
XcbMisc::instance()->set_strut_partial(static_cast<xcb_window_t>(parent()->winId()), orientation,
|
||||
static_cast<uint>(strut + WINDOWMARGIN * ratio), // 设置窗口与屏幕边缘距离,需要乘缩放
|
||||
static_cast<uint>(strutStart), // 设置任务栏起点坐标(上下为x,左右为y)
|
||||
@ -1139,13 +1153,13 @@ void MultiScreenWorker::displayAnimation(const QString &screen, const Position &
|
||||
case AniAction::Show:
|
||||
if (pos == Position::Top || pos == Position::Bottom) {
|
||||
if (dockShowRect.height() > mainwindowRect.height() - 2
|
||||
&& dockShowRect.height() < mainwindowRect.height() + 2) {
|
||||
&& dockShowRect.height() < mainwindowRect.height() + 2) {
|
||||
emit requestNotifyWindowManager();
|
||||
return;
|
||||
}
|
||||
} else if (pos == Position::Left || pos == Position::Right) {
|
||||
if (dockShowRect.width() > mainwindowRect.width() - 2
|
||||
&& dockShowRect.width() < mainwindowRect.width() + 2) {
|
||||
&& dockShowRect.width() < mainwindowRect.width() + 2) {
|
||||
emit requestNotifyWindowManager();
|
||||
return;
|
||||
}
|
||||
@ -1320,13 +1334,17 @@ void MultiScreenWorker::changeDockPosition(QString fromScreen, QString toScreen,
|
||||
// 如果更改了显示位置,在显示之前应该更新一下界面布局方向
|
||||
if (fromPos != toPos)
|
||||
connect(ani1, &QVariantAnimation::finished, this, [ = ] {
|
||||
const auto display = QX11Info::display();
|
||||
if (!display) {
|
||||
qWarning() << "QX11Info::display() is " << display;
|
||||
} else {
|
||||
// 先清除原先的窗管任务栏区域
|
||||
XcbMisc::instance()->clear_strut_partial(xcb_window_t(parent()->winId()));
|
||||
}
|
||||
|
||||
// 先清除原先的窗管任务栏区域
|
||||
XcbMisc::instance()->clear_strut_partial(xcb_window_t(parent()->winId()));
|
||||
|
||||
// 隐藏后需要通知界面更新布局方向
|
||||
emit requestUpdateLayout();
|
||||
});
|
||||
// 隐藏后需要通知界面更新布局方向
|
||||
emit requestUpdateLayout();
|
||||
});
|
||||
|
||||
connect(group, &QVariantAnimation::finished, this, [ = ] {
|
||||
m_aniStart = false;
|
||||
@ -1715,9 +1733,9 @@ const QPoint MultiScreenWorker::rawXPosition(const QPoint &scaledPos)
|
||||
QScreen const *screen = Utils::screenAtByScaled(scaledPos);
|
||||
|
||||
return screen ? screen->geometry().topLeft() +
|
||||
(scaledPos - screen->geometry().topLeft()) *
|
||||
screen->devicePixelRatio()
|
||||
: scaledPos;
|
||||
(scaledPos - screen->geometry().topLeft()) *
|
||||
screen->devicePixelRatio()
|
||||
: scaledPos;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -56,26 +56,6 @@
|
||||
using org::kde::StatusNotifierWatcher;
|
||||
using DBusDock = com::deepin::dde::daemon::Dock;
|
||||
|
||||
const QPoint rawXPosition(const QPoint &scaledPos)
|
||||
{
|
||||
QScreen const *screen = Utils::screenAtByScaled(scaledPos);
|
||||
|
||||
return screen ? screen->geometry().topLeft() +
|
||||
(scaledPos - screen->geometry().topLeft()) *
|
||||
screen->devicePixelRatio()
|
||||
: scaledPos;
|
||||
}
|
||||
|
||||
const QPoint scaledPos(const QPoint &rawXPos)
|
||||
{
|
||||
QScreen const *screen = Utils::screenAt(rawXPos);
|
||||
|
||||
return screen
|
||||
? screen->geometry().topLeft() +
|
||||
(rawXPos - screen->geometry().topLeft()) / screen->devicePixelRatio()
|
||||
: rawXPos;
|
||||
}
|
||||
|
||||
// let startdde know that we've already started.
|
||||
void RegisterDdeSession()
|
||||
{
|
||||
@ -110,14 +90,19 @@ MainWindow::MainWindow(QWidget *parent)
|
||||
, m_dragWidget(new DragWidget(this))
|
||||
, m_launched(false)
|
||||
{
|
||||
setAccessibleName("mainwindow");
|
||||
m_mainPanel->setAccessibleName("mainpanel");
|
||||
setAttribute(Qt::WA_TranslucentBackground);
|
||||
setAttribute(Qt::WA_X11DoNotAcceptFocus);
|
||||
|
||||
// 确保下面两行代码的先后顺序,否则会导致任务栏界面不再置顶
|
||||
//1 确保这两行代码的先后顺序,否则会导致任务栏界面不再置顶
|
||||
setWindowFlags(Qt::WindowDoesNotAcceptFocus);
|
||||
XcbMisc::instance()->set_window_type(xcb_window_t(this->winId()), XcbMisc::Dock);
|
||||
|
||||
const auto display = QX11Info::display();
|
||||
if (!display) {
|
||||
qWarning() << "QX11Info::display() is " << display;
|
||||
} else {
|
||||
//2 确保这两行代码的先后顺序,否则会导致任务栏界面不再置顶
|
||||
XcbMisc::instance()->set_window_type(xcb_window_t(this->winId()), XcbMisc::Dock);
|
||||
}
|
||||
|
||||
setMouseTracking(true);
|
||||
setAcceptDrops(true);
|
||||
|
@ -153,6 +153,10 @@ void XEmbedTrayWidget::mouseMoveEvent(QMouseEvent *e)
|
||||
void XEmbedTrayWidget::configContainerPosition()
|
||||
{
|
||||
auto c = QX11Info::connection();
|
||||
if (!c) {
|
||||
qWarning() << "QX11Info::connection() is " << c;
|
||||
return;
|
||||
}
|
||||
|
||||
const QPoint p(rawXPosition(QCursor::pos()));
|
||||
|
||||
@ -173,6 +177,10 @@ void XEmbedTrayWidget::configContainerPosition()
|
||||
void XEmbedTrayWidget::wrapWindow()
|
||||
{
|
||||
auto c = QX11Info::connection();
|
||||
if (!c) {
|
||||
qWarning() << "QX11Info::connection() is " << c;
|
||||
return;
|
||||
}
|
||||
|
||||
auto cookie = xcb_get_geometry(c, m_windowId);
|
||||
QScopedPointer<xcb_get_geometry_reply_t> clientGeom(xcb_get_geometry_reply(c, cookie, Q_NULLPTR));
|
||||
@ -334,6 +342,10 @@ void XEmbedTrayWidget::sendClick(uint8_t mouseButton, int x, int y)
|
||||
QString XEmbedTrayWidget::getWindowProperty(quint32 winId, QString propName)
|
||||
{
|
||||
const auto display = QX11Info::display();
|
||||
if (!display) {
|
||||
qWarning() << "QX11Info::display() is " << display;
|
||||
return QString();
|
||||
}
|
||||
|
||||
Atom atom_prop = XInternAtom(display, propName.toLocal8Bit(), true);
|
||||
if (!atom_prop) {
|
||||
@ -383,6 +395,11 @@ void XEmbedTrayWidget::refershIconImage()
|
||||
{
|
||||
const auto ratio = devicePixelRatioF();
|
||||
auto c = QX11Info::connection();
|
||||
if (!c) {
|
||||
qWarning() << "QX11Info::connection() is " << c;
|
||||
return;
|
||||
}
|
||||
|
||||
auto cookie = xcb_get_geometry(c, m_windowId);
|
||||
QScopedPointer<xcb_get_geometry_reply_t> geom(xcb_get_geometry_reply(c, cookie, Q_NULLPTR));
|
||||
if (geom.isNull())
|
||||
@ -504,6 +521,10 @@ void XEmbedTrayWidget::setX11PassMouseEvent(const bool pass)
|
||||
void XEmbedTrayWidget::setWindowOnTop(const bool top)
|
||||
{
|
||||
auto c = QX11Info::connection();
|
||||
if (!c) {
|
||||
qWarning() << "QX11Info::connection() is " << c;
|
||||
return;
|
||||
}
|
||||
const uint32_t stackAboveData[] = {top ? XCB_STACK_MODE_ABOVE : XCB_STACK_MODE_BELOW};
|
||||
xcb_configure_window(c, m_containerWid, XCB_CONFIG_WINDOW_STACK_MODE, stackAboveData);
|
||||
xcb_flush(c);
|
||||
|
@ -38,13 +38,10 @@ class Test_AppItem : public ::testing::Test
|
||||
public:
|
||||
virtual void SetUp() override;
|
||||
virtual void TearDown() override;
|
||||
|
||||
public:
|
||||
AppItem *appItem = nullptr;
|
||||
};
|
||||
|
||||
void Test_AppItem::SetUp()
|
||||
{
|
||||
{
|
||||
}
|
||||
|
||||
void Test_AppItem::TearDown()
|
||||
@ -59,7 +56,7 @@ TEST_F(Test_AppItem, coverage_test)
|
||||
ON_CALL(mock, keys()).WillByDefault(Return(QStringList() << "enable" << "control"));
|
||||
ON_CALL(mock, get(_)) .WillByDefault(::testing::Invoke([](const QString& key){return true; }));
|
||||
|
||||
appItem = new AppItem(&mock, &mock, &mock, QDBusObjectPath("/com/deepin/dde/daemon/Dock/entries/e0T6045b766"));
|
||||
AppItem *appItem = new AppItem(&mock, &mock, &mock, QDBusObjectPath("/com/deepin/dde/daemon/Dock/entries/e0T6045b766"));
|
||||
|
||||
// 触发信号测试
|
||||
// emit appItem->m_refershIconTimer->start(10);
|
||||
|
@ -25,7 +25,9 @@
|
||||
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
#define private public
|
||||
#include "mainpanelcontrol.h"
|
||||
#undef private
|
||||
|
||||
using namespace ::testing;
|
||||
|
||||
@ -53,4 +55,20 @@ void Test_MainPanelControl::TearDown()
|
||||
TEST_F(Test_MainPanelControl, coverage_test)
|
||||
{
|
||||
ASSERT_TRUE(mainPanel);
|
||||
|
||||
mainPanel->setPositonValue(Dock::Position::Top);
|
||||
mainPanel->updateMainPanelLayout();
|
||||
QTest::qWait(10);
|
||||
|
||||
mainPanel->setPositonValue(Dock::Position::Bottom);
|
||||
mainPanel->updateMainPanelLayout();
|
||||
QTest::qWait(10);
|
||||
|
||||
mainPanel->setPositonValue(Dock::Position::Left);
|
||||
mainPanel->updateMainPanelLayout();
|
||||
QTest::qWait(10);
|
||||
|
||||
mainPanel->setPositonValue(Dock::Position::Right);
|
||||
mainPanel->updateMainPanelLayout();
|
||||
QTest::qWait(10);
|
||||
}
|
||||
|
@ -23,6 +23,8 @@
|
||||
#include "dockapplication.h"
|
||||
|
||||
#include <QDebug>
|
||||
#include <QMouseEvent>
|
||||
#include <QTouchEvent>
|
||||
|
||||
#include <DLog>
|
||||
|
||||
@ -34,6 +36,17 @@ int main(int argc, char **argv)
|
||||
|
||||
qApp->setProperty("CANSHOW", true);
|
||||
|
||||
QMouseEvent mouseEvent1(QMouseEvent::MouseButtonPress, QPoint(), QPoint(), QPoint(), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier, Qt::MouseEventSynthesizedByQt);
|
||||
qApp->sendEvent(&app, &mouseEvent1);
|
||||
|
||||
QMouseEvent mouseEvent2(QMouseEvent::MouseButtonPress, QPoint(), QPoint(), QPoint(), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier, Qt::MouseEventSynthesizedByApplication);
|
||||
qApp->sendEvent(&app, &mouseEvent2);
|
||||
|
||||
QList<QTouchEvent::TouchPoint> list;
|
||||
list << QTouchEvent::TouchPoint(0) << QTouchEvent::TouchPoint(1) << QTouchEvent::TouchPoint(2);
|
||||
QTouchEvent touchEven(QEvent::TouchBegin, nullptr, Qt::NoModifier, Qt::TouchPointPressed, list);
|
||||
qApp->sendEvent(&app, &touchEven);
|
||||
|
||||
::testing::InitGoogleTest(&argc, argv);
|
||||
|
||||
return RUN_ALL_TESTS();
|
||||
|
91
tests/window/ut_mainwindow.cpp
Normal file
91
tests/window/ut_mainwindow.cpp
Normal file
@ -0,0 +1,91 @@
|
||||
/*
|
||||
* Copyright (C) 2018 ~ 2028 Uniontech Technology Co., Ltd.
|
||||
*
|
||||
* Author: fanpengcheng <fanpengcheng@uniontech.com>
|
||||
*
|
||||
* Maintainer: fanpengcheng <fanpengcheng@uniontech.com>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include <QObject>
|
||||
#include <QThread>
|
||||
#include <QTest>
|
||||
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
#define private public
|
||||
#include "mainwindow.h"
|
||||
#undef private
|
||||
|
||||
using namespace ::testing;
|
||||
|
||||
class Test_MainWindow : public ::testing::Test
|
||||
{
|
||||
public:
|
||||
virtual void SetUp() override;
|
||||
virtual void TearDown() override;
|
||||
|
||||
public:
|
||||
MainWindow *m_window = nullptr;
|
||||
};
|
||||
|
||||
void Test_MainWindow::SetUp()
|
||||
{
|
||||
m_window = new MainWindow;
|
||||
}
|
||||
|
||||
void Test_MainWindow::TearDown()
|
||||
{
|
||||
delete m_window;
|
||||
m_window = nullptr;
|
||||
}
|
||||
|
||||
TEST_F(Test_MainWindow, coverage_test)
|
||||
{
|
||||
ASSERT_TRUE(m_window);
|
||||
|
||||
m_window->getTrayVisableItemCount();
|
||||
m_window->adjustShadowMask();
|
||||
m_window->resetDragWindow();
|
||||
m_window->onMainWindowSizeChanged(QPoint(10, 10));
|
||||
m_window->touchRequestResizeDock();
|
||||
m_window->sendNotifications();
|
||||
|
||||
m_window->callShow();
|
||||
QTest::qWait(450);
|
||||
|
||||
m_window->relaodPlugins();
|
||||
QTest::qWait(100);
|
||||
|
||||
QEvent enterEvent(QEvent::Enter);
|
||||
qApp->sendEvent(m_window, &enterEvent);
|
||||
QTest::qWait(10);
|
||||
|
||||
QEvent dragEnterEvent(QEvent::Enter);
|
||||
qApp->sendEvent(m_window->m_dragWidget, &dragEnterEvent);
|
||||
QTest::qWait(10);
|
||||
ASSERT_EQ(QApplication::overrideCursor()->shape(), m_window->m_dragWidget->cursor().shape());
|
||||
|
||||
QEvent dragLeaveEvent(QEvent::Leave);
|
||||
qApp->sendEvent(m_window->m_dragWidget, &dragLeaveEvent);
|
||||
QTest::qWait(10);
|
||||
ASSERT_EQ(QApplication::overrideCursor()->shape(), Qt::ArrowCursor);
|
||||
|
||||
// QTest::mouseClick(m_window, Qt::RightButton, Qt::NoModifier, QPoint(100 ,10));
|
||||
// QTest::qWait(10);
|
||||
|
||||
// QTest::mouseClick(m_window, Qt::LeftButton, Qt::NoModifier, QPoint(0 ,0));
|
||||
// QTest::qWait(10);
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user