6#include <QtTest/qsignalspy.h>
7#include <QtQuick/private/qtquickglobal_p.h>
8#if QT_CONFIG(quick_listview)
9#include <QtQuick/private/qquicklistview_p.h>
11#include <QtQuickTest/quicktest.h>
12#include <QtQuickControls2/qquickstyle.h>
13#include <QtQuickTemplates2/private/qquickabstractbutton_p.h>
14#include <QtQuickTemplates2/private/qquickapplicationwindow_p.h>
15#include <QtQuickTemplates2/private/qquickdialogbuttonbox_p.h>
16#if QT_CONFIG(quick_listview)
17#include <QtQuickDialogs2QuickImpl/private/qquickfiledialogdelegate_p.h>
18#include <QtQuickDialogs2QuickImpl/private/qquickfolderbreadcrumbbar_p.h>
19#include <QtQuickDialogs2QuickImpl/private/qquickfolderbreadcrumbbar_p_p.h>
24#if QT_CONFIG(quick_listview)
30 failureMessage =
QLatin1String(
"Failed to polish fileDialogListView");
36 for (
int i = 0;
i < fileDialogListView->
count(); ++
i) {
37 auto delegate = qobject_cast<QQuickFileDialogDelegate*>(
48 if (actualFiles != expectedFiles) {
49 QString expectedFilesStr = QDebug::toString(expectedFiles);
50 QString actualFilesStr = QDebug::toString(actualFiles);
52 "delegates in fileDialogListView:\n expected: %1\n actual: %2");
53 if (failureMessage.
size() + expectedFilesStr.
size() + actualFilesStr.
size() > 1024) {
59 failureMessage = failureMessage.
arg(expectedFilesStr, actualFilesStr);
67 const QUrl &expectedFolder,
QString &failureMessage)
74 auto breadcrumbBarListView = qobject_cast<QQuickListView*>(breadcrumbBar->
contentItem());
75 if (!breadcrumbBarListView) {
76 failureMessage =
QLatin1String(
"breadcrumbBar's ListView is null");
82 failureMessage =
QLatin1String(
"Failed to polish breadcrumbBarListView");
88 for (
int i = 0;
i < breadcrumbBarListView->count(); ++
i) {
89 auto delegate = qobject_cast<QQuickAbstractButton*>(
96 actualCrumbs.append(delegate->text());
100 for (
int i = 0;
i < expectedCrumbs.size(); ++
i) {
101 QString &crumbPath = expectedCrumbs[
i];
105 if (actualCrumbs != expectedCrumbs) {
107 "delegates in breadcrumbBarListView:\n expected: %1\n actual: %2")
108 .
arg(QDebug::toString(expectedCrumbs), QDebug::toString(actualCrumbs));
118 for (
int i = 0;
i <
box->count(); ++
i) {
119 auto button = qobject_cast<QQuickAbstractButton*>(
box->itemAt(
i));
128 for (
int i = 0;
i < textToEnter.
size(); ++
i) {
\inmodule QtCore \reentrant
QString absoluteFilePath() const
Returns an absolute path including the file name.
static QStringList crumbPathsForFolder(const QUrl &folder)
static QString folderBaseName(const QString &folderPath)
\macro QT_RESTRICTED_CAST_FROM_ASCII
static QString fromLatin1(QByteArrayView ba)
This is an overloaded member function, provided for convenience. It differs from the above function o...
qsizetype size() const
Returns the number of characters in this string.
QString arg(qlonglong a, int fieldwidth=0, int base=10, QChar fillChar=u' ') const
const QChar at(qsizetype i) const
Returns the character at the given index position in the string.
static QString number(int, int base=10)
This is an overloaded member function, provided for convenience. It differs from the above function o...
QString toUpper() const &
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)
Q_QUICK_TEST_EXPORT bool qWaitForPolish(const QQuickItem *item, int timeout=defaultTimeout)
Q_QUICK_TEST_EXPORT bool qIsPolishScheduled(const QQuickItem *item)
bool findViewDelegateItem(QQuickItemView *itemView, int index, T &delegateItem, FindViewDelegateItemFlags flags=FindViewDelegateItemFlag::PositionViewAtIndex)
Combined button and popup list for selecting options.
static void keyClick(QWindow *window, Qt::Key key, Qt::KeyboardModifiers modifier=Qt::NoModifier, int delay=-1)
GLsizei const GLint * box
QLatin1StringView QLatin1String