#include "gtestview.h"
#include "accessibility/ac-desktop-define.h"
#include <DGuiApplicationHelper>
#include "imageviewer.h"
#include "imageengine.h"
#include "service/imagedataservice.h"
#include "viewpanel/navigationwidget.h"
#define private public
#define protected public
#include "viewpanel/viewpanel.h"
TEST_F(gtestview, LibViewPanel)
{
QWidget *widget = new QWidget();
LibViewPanel *panel = new LibViewPanel(nullptr, widget);
panel->loadImage(QApplication::applicationDirPath() + "/gif.gif", {QApplication::applicationDirPath() + "/gif.gif",
QApplication::applicationDirPath() + "/tif.tif",
QApplication::applicationDirPath() + "/jpg.jpg",
QApplication::applicationDirPath() + "/jpg.jpg",
QApplication::applicationDirPath() + "/svg.svg"
});
panel->initFloatingComponent();
panel->show();
QTest::keyClick(panel, Qt::Key_Right, Qt::NoModifier, 200);
QTest::keyClick(panel, Qt::Key_Right, Qt::KeyboardModifier::NoModifier, 200);
QTest::keyClick(panel, Qt::Key_Left, Qt::KeyboardModifier::NoModifier, 200);
QTest::keyClick(panel, Qt::Key_Up, Qt::KeyboardModifier::NoModifier, 200);
QTest::keyClick(panel, Qt::Key_Plus, Qt::KeyboardModifier::ControlModifier, 200);
QTest::keyClick(panel, Qt::Key_0, Qt::KeyboardModifier::ControlModifier, 200);
QTest::keyClick(panel, Qt::Key_Minus, Qt::KeyboardModifier::ControlModifier, 200);
QTest::keyClick(panel, Qt::Key_Down, Qt::KeyboardModifier::NoModifier, 200);
QTest::keyClick(panel, Qt::Key_Escape, Qt::KeyboardModifier::NoModifier, 200);
QTest::keyClick(panel, Qt::Key_Right, Qt::KeyboardModifier::NoModifier, 200);
QTest::keyClick(panel, Qt::Key_Up, Qt::KeyboardModifier::NoModifier, 200);
QTest::keyClick(panel, Qt::Key_Plus, Qt::KeyboardModifier::ControlModifier, 200);
QTest::keyClick(panel, Qt::Key_0, Qt::KeyboardModifier::ControlModifier, 200);
QTest::keyClick(panel, Qt::Key_Minus, Qt::KeyboardModifier::ControlModifier, 200);
QTest::keyClick(panel, Qt::Key_Down, Qt::KeyboardModifier::NoModifier, 200);
QTest::keyClick(panel, Qt::Key_Escape, Qt::KeyboardModifier::NoModifier, 200);
panel->deleteLater();
panel = nullptr;
QTest::qWait(500);
EXPECT_EQ(true, QFileInfo(QApplication::applicationDirPath() + "/gif.gif").isFile());
}
TEST_F(gtestview, LibViewPanel1)
{
LibViewPanel *panel = new LibViewPanel();
panel->loadImage(QApplication::applicationDirPath() + "/gif.gif", {QApplication::applicationDirPath() + "/gif.gif",
QApplication::applicationDirPath() + "/tif.tif",
QApplication::applicationDirPath() + "/jpg.jpg",
QApplication::applicationDirPath() + "/jpg.jpg",
QApplication::applicationDirPath() + "/svg.svg"
});
panel->initFloatingComponent();
panel->show();
panel->toggleFullScreen();
panel->slotBottomMove();
panel->toggleFullScreen();
panel->slotBottomMove();
panel->deleteLater();
panel = nullptr;
QTest::qWait(500);
EXPECT_EQ(true, QFileInfo(QApplication::applicationDirPath() + "/gif.gif").isFile());
}
TEST_F(gtestview, LibViewPanel_ocr)
{
QWidget *widget = new QWidget();
LibViewPanel *panel = new LibViewPanel(nullptr, widget);
panel->loadImage(QApplication::applicationDirPath() + "/gif.gif", {QApplication::applicationDirPath() + "/gif.gif",
QApplication::applicationDirPath() + "/tif.tif",
QApplication::applicationDirPath() + "/jpg.jpg",
QApplication::applicationDirPath() + "/jpg.jpg",
QApplication::applicationDirPath() + "/svg.svg"
});
panel->getBottomtoolbarButton(imageViewerSpace::ButtonType::ButtonTypeOcr);
panel->slotOcrPicture();
panel->deleteLater();
panel = nullptr;
widget->deleteLater();
widget = nullptr;
EXPECT_EQ(true, QFileInfo(QApplication::applicationDirPath() + "/gif.gif").isFile());
}
TEST_F(gtestview, LibViewPanel_startChooseFileDialog1)
{
QWidget *widget = new QWidget();
LibViewPanel *panel = new LibViewPanel(nullptr, widget);
panel->initSlidePanel();
panel->resetBottomToolbarGeometry(true);
panel->resetBottomToolbarGeometry(false);
panel->slotRotateImage(90);
QTest::qWait(1000);
panel->slotRotateImage(-90);
QTest::qWait(1000);
panel->deleteLater();
panel = nullptr;
widget->deleteLater();
widget = nullptr;
}
TEST_F(gtestview, LibViewPanel_noAnimationBottomMove)
{
QWidget *widget = new QWidget();
LibViewPanel *panel = new LibViewPanel(nullptr, widget);
panel->noAnimationBottomMove();
QTest::qWait(500);
panel->deleteLater();
panel = nullptr;
widget->deleteLater();
widget = nullptr;
}
TEST_F(gtestview, LibViewPanel_slotBottomMove)
{
QWidget *widget = new QWidget();
LibViewPanel *panel = new LibViewPanel(nullptr, widget);
panel->slotBottomMove();
QTest::qWait(500);
panel->deleteLater();
panel = nullptr;
widget->deleteLater();
widget = nullptr;
}
TEST_F(gtestview, LibViewPanel_setWallPaper_image)
{
QWidget *widget = new QWidget();
LibViewPanel *panel = new LibViewPanel(nullptr, widget);
QImage img(QApplication::applicationDirPath() + "/svg.svg");
panel->setWallpaper(img);
QTest::qWait(500);
QImage img1(QApplication::applicationDirPath() + "/test/jpg100.jpg");
panel->setWallpaper(img1);
QTest::qWait(500);
panel->deleteLater();
panel = nullptr;
widget->deleteLater();
widget = nullptr;
}
TEST_F(gtestview, LibViewPanel_setWallPaper_path)
{
QWidget *widget = new QWidget();
LibViewPanel *panel = new LibViewPanel(nullptr, widget);
panel->setWallpaper(QApplication::applicationDirPath() + "/svg.svg");
QTest::qWait(500);
panel->setWallpaper(QApplication::applicationDirPath() + "/test/jpg100.jpg");
QTest::qWait(500);
panel->deleteLater();
panel = nullptr;
widget->deleteLater();
widget = nullptr;
}
TEST_F(gtestview, LibViewPanel_mimeDataDrag)
{
QWidget *widget = new QWidget();
LibViewPanel *panel = new LibViewPanel(nullptr, widget);
QMimeData mimedata;
QList<QUrl> li;
li.append(QUrl(QApplication::applicationDirPath() + "/test/jpg.jpg"));
mimedata.setUrls(li);
panel->resize(800, 600);
auto dropPos = panel->rect().center();
QDragEnterEvent eEnter(dropPos, Qt::IgnoreAction, &mimedata, Qt::LeftButton, Qt::NoModifier);
panel->dragEnterEvent(&eEnter);
QDragMoveEvent emove(dropPos + QPoint(10, 10), Qt::IgnoreAction, &mimedata, Qt::LeftButton, Qt::NoModifier);
panel->dragMoveEvent(&emove);
QTest::qWait(3000);
panel->deleteLater();
panel = nullptr;
widget->deleteLater();
widget = nullptr;
}
TEST_F(gtestview, LibViewPanel_leaveEvent)
{
QWidget *widget = new QWidget();
LibViewPanel *panel = new LibViewPanel(nullptr, widget);
QMimeData mimedata;
QList<QUrl> li;
li.append(QUrl(QApplication::applicationDirPath() + "/test/jpg.jpg"));
mimedata.setUrls(li);
panel->resize(800, 600);
QEvent event(QEvent::Leave);
panel->leaveEvent(&event);
QTest::qWait(100);
panel->deleteLater();
panel = nullptr;
widget->deleteLater();
widget = nullptr;
}
TEST_F(gtestview, LibViewPanel_showTopBottom)
{
QWidget *widget = new QWidget();
LibViewPanel *panel = new LibViewPanel(nullptr, widget);
panel->showTopBottom();
QTest::qWait(100);
panel->deleteLater();
panel = nullptr;
widget->deleteLater();
widget = nullptr;
}
TEST_F(gtestview, LibViewPanel_showAnimationTopBottom)
{
QWidget *widget = new QWidget();
LibViewPanel *panel = new LibViewPanel(nullptr, widget);
panel->showAnimationTopBottom();
QTest::qWait(100);
panel->deleteLater();
panel = nullptr;
widget->deleteLater();
widget = nullptr;
}
TEST_F(gtestview, LibViewPanel_hideTopBottom)
{
QWidget *widget = new QWidget();
LibViewPanel *panel = new LibViewPanel(nullptr, widget);
panel->hideTopBottom();
QTest::qWait(100);
panel->deleteLater();
panel = nullptr;
widget->deleteLater();
widget = nullptr;
}
TEST_F(gtestview, LibViewPanel_hideAnimationTopBottom)
{
QWidget *widget = new QWidget();
LibViewPanel *panel = new LibViewPanel(nullptr, widget);
panel->hideAnimationTopBottom();
QTest::qWait(100);
panel->deleteLater();
panel = nullptr;
widget->deleteLater();
widget = nullptr;
}
TEST_F(gtestview, LibViewPanel_Menu)
{
QWidget *widget = new QWidget();
LibViewPanel *panel = new LibViewPanel(nullptr, widget);
panel->loadImage(QApplication::applicationDirPath() + "/gif.gif", {QApplication::applicationDirPath() + "/gif.gif",
QApplication::applicationDirPath() + "/tif.tif",
QApplication::applicationDirPath() + "/jpg.jpg",
QApplication::applicationDirPath() + "/jpg.jpg",
QApplication::applicationDirPath() + "/svg.svg"
});
QAction menuAction;
menuAction.setProperty("MenuID", imageViewerSpace::NormalMenuItemId::IdFullScreen);
panel->onMenuItemClicked(&menuAction);
QTest::qWait(400);
panel->onMenuItemClicked(&menuAction);
QTest::qWait(400);
menuAction.setProperty("MenuID", imageViewerSpace::NormalMenuItemId::IdSetAsWallpaper);
panel->onMenuItemClicked(&menuAction);
QTest::qWait(10000);
menuAction.setProperty("MenuID", imageViewerSpace::NormalMenuItemId::IdRename);
panel->onMenuItemClicked(&menuAction);
QTest::qWait(400);
menuAction.setProperty("MenuID", imageViewerSpace::NormalMenuItemId::IdStartSlideShow);
panel->onMenuItemClicked(&menuAction);
QTest::qWait(2000);
QTest::keyClick(panel, Qt::Key_Escape, Qt::KeyboardModifier::NoModifier, 200);
QTest::qWait(400);
menuAction.setProperty("MenuID", imageViewerSpace::NormalMenuItemId::IdCopy);
panel->onMenuItemClicked(&menuAction);
QTest::qWait(400);
menuAction.setProperty("MenuID", imageViewerSpace::NormalMenuItemId::IdShowNavigationWindow);
panel->onMenuItemClicked(&menuAction);
QTest::qWait(400);
menuAction.setProperty("MenuID", imageViewerSpace::NormalMenuItemId::IdHideNavigationWindow);
panel->onMenuItemClicked(&menuAction);
QTest::qWait(400);
DGuiApplicationHelper::instance()->setPaletteType(DGuiApplicationHelper::DarkType);
QTest::qWait(500);
DGuiApplicationHelper::instance()->setPaletteType(DGuiApplicationHelper::LightType);
QTest::qWait(500);
QTest::keyClick(panel, Qt::Key_Escape, Qt::KeyboardModifier::NoModifier, 200);
QTest::qWait(400);
menuAction.setProperty("MenuID", imageViewerSpace::NormalMenuItemId::IdRotateClockwise);
panel->onMenuItemClicked(&menuAction);
QTest::qWait(400);
menuAction.setProperty("MenuID", imageViewerSpace::NormalMenuItemId::IdRotateCounterclockwise);
panel->onMenuItemClicked(&menuAction);
QTest::qWait(400);
menuAction.setProperty("MenuID", imageViewerSpace::NormalMenuItemId::IdDisplayInFileManager);
panel->onMenuItemClicked(&menuAction);
QTest::qWait(400);
menuAction.setProperty("MenuID", imageViewerSpace::NormalMenuItemId::IdImageInfo);
panel->onMenuItemClicked(&menuAction);
QTest::qWait(400);
menuAction.setProperty("MenuID", imageViewerSpace::NormalMenuItemId::IdOcr);
panel->onMenuItemClicked(&menuAction);
QTest::qWait(500);
menuAction.setProperty("MenuID", imageViewerSpace::NormalMenuItemId::IdMoveToTrash);
panel->onMenuItemClicked(&menuAction);
QTest::qWait(400);
panel->m_view->setImage(QApplication::applicationDirPath() + "/svg2.svg", QImage());
QTest::qWait(1000);
panel->deleteLater();
panel = nullptr;
widget->deleteLater();
widget = nullptr;
}