4#ifndef DIALOGSTESTUTILS_H
5#define DIALOGSTESTUTILS_H
18#include <QtQuickTemplates2/private/qquickapplicationwindow_p.h>
20#include <QtQuickTestUtils/private/qmlutils_p.h>
21#include <QtQuickTestUtils/private/visualtestutils_p.h>
25#define COMPARE_URL(url1, url2) \
26 QCOMPARE(QFileInfo(url1.toLocalFile()).absoluteFilePath(), QFileInfo(url2.toLocalFile()).absoluteFilePath());
31#define COMPARE_URLS(actualUrls, expectedUrls) \
33 const QList<QUrl> actualUrlsCopy = actualUrls; \
34 QList<QString> actualPaths; \
35 std::transform(actualUrlsCopy.begin(), actualUrlsCopy.end(), std::back_insert_iterator(actualPaths), \
36 [](const QUrl &url) { return QFileInfo(url.toLocalFile()).absoluteFilePath(); }); \
37 const QList<QUrl> expectedUrlsCopy = expectedUrls; \
38 QList<QString> expectedPaths; \
39 std::transform(expectedUrlsCopy.begin(), expectedUrlsCopy.end(), std::back_insert_iterator(expectedPaths), \
40 [](const QUrl &url) { return QFileInfo(url.toLocalFile()).absoluteFilePath(); }); \
41 QCOMPARE(actualPaths, expectedPaths); \
44#define OPEN_QUICK_DIALOG() \
45QVERIFY2(dialogHelper.isWindowInitialized(), dialogHelper.failureMessage()); \
46QVERIFY(dialogHelper.waitForWindowActive()); \
47QVERIFY(dialogHelper.openDialog()); \
48QTRY_VERIFY(dialogHelper.isQuickDialogOpen());
50#define CLOSE_QUICK_DIALOG() \
52 dialogHelper.dialog->close(); \
53 QVERIFY(!dialogHelper.dialog->isVisible()); \
54 QTRY_VERIFY(!dialogHelper.quickDialog->isVisible()); \
71template<
typename DialogType,
typename QuickDialogType>
77 appHelper(testCase, testFilePath, initialProperties, qmlImportPaths)
109 if (!
dialog->isVisible()) {
const char * constData() const noexcept
Returns a pointer to the const data stored in the byte array.
T findChild(const QString &aName=QString(), Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
Returns the child of this object that can be cast into type T and that is called name,...
QVariant property(const char *name) const
Returns the value of the object's name property.
const char * failureMessage() const
QuickDialogType * quickDialog
QQuickWindow * window() const
Q_REQUIRED_RESULT bool isWindowInitialized() const
bool isQuickDialogOpen() const
virtual bool openDialog()
DialogTestHelper(QQmlDataTest *testCase, const QString &testFilePath, const QStringList &qmlImportPaths={}, const QVariantMap &initialProperties={})
Q_REQUIRED_RESULT bool waitForWindowActive()
QQuickVisualTestUtils::QQuickApplicationHelper appHelper
\qmltype Window \instantiates QQuickWindow \inqmlmodule QtQuick
\macro QT_RESTRICTED_CAST_FROM_ASCII
void show()
Shows the window.
void enterText(QWindow *window, const QString &textToEnter)
QQuickAbstractButton * findDialogButton(QQuickDialogButtonBox *box, const QString &buttonText)
bool verifyBreadcrumbDelegates(QQuickFolderBreadcrumbBar *breadcrumbBar, const QUrl &expectedFolder, QString &failureMessage)
bool verifyFileDialogDelegates(QQuickListView *fileDialogListView, const QStringList &expectedFiles, QString &failureMessage)
Combined button and popup list for selecting options.
Q_GUI_EXPORT bool qWaitForWindowActive(QWindow *window, int timeout=5000)
#define Q_REQUIRED_RESULT
GLsizei const GLint * box