summaryrefslogtreecommitdiffstats
path: root/tests/auto/widgets/dialogs/qfiledialog/tst_qfiledialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/widgets/dialogs/qfiledialog/tst_qfiledialog.cpp')
-rw-r--r--tests/auto/widgets/dialogs/qfiledialog/tst_qfiledialog.cpp28
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/auto/widgets/dialogs/qfiledialog/tst_qfiledialog.cpp b/tests/auto/widgets/dialogs/qfiledialog/tst_qfiledialog.cpp
index 8bad4bb176..54a3a85e87 100644
--- a/tests/auto/widgets/dialogs/qfiledialog/tst_qfiledialog.cpp
+++ b/tests/auto/widgets/dialogs/qfiledialog/tst_qfiledialog.cpp
@@ -148,6 +148,7 @@ private slots:
void enableChooseButton();
void hooks();
void widgetlessNativeDialog();
+ void trailingDotsAndSpaces();
#ifdef Q_OS_UNIX
#ifdef QT_BUILD_INTERNAL
void tildeExpansion_data();
@@ -1413,6 +1414,33 @@ void tst_QFiledialog::widgetlessNativeDialog()
QVERIFY(!button);
}
+void tst_QFiledialog::trailingDotsAndSpaces()
+{
+#ifndef Q_OS_WIN
+ QSKIP("This is only tested on Windows");
+#endif
+ QNonNativeFileDialog fd;
+ fd.setViewMode(QFileDialog::List);
+ fd.setFileMode(QFileDialog::ExistingFile);
+ fd.setOptions(QFileDialog::DontUseNativeDialog);
+ fd.show();
+ QLineEdit *lineEdit = fd.findChild<QLineEdit *>("fileNameEdit");
+ QVERIFY(lineEdit);
+ QListView *list = fd.findChild<QListView *>("listView");
+ QVERIFY(list);
+ QTest::qWait(1000);
+ int currentChildrenCount = list->model()->rowCount(list->rootIndex());
+ QTest::keyClick(lineEdit, Qt::Key_Space);
+ QTest::keyClick(lineEdit, Qt::Key_Period);
+ QTest::qWait(1000);
+ QVERIFY(currentChildrenCount == list->model()->rowCount(list->rootIndex()));
+ lineEdit->clear();
+ QTest::keyClick(lineEdit, Qt::Key_Period);
+ QTest::keyClick(lineEdit, Qt::Key_Space);
+ QTest::qWait(1000);
+ QVERIFY(currentChildrenCount == list->model()->rowCount(list->rootIndex()));
+}
+
#ifdef Q_OS_UNIX
#ifdef QT_BUILD_INTERNAL
void tst_QFiledialog::tildeExpansion_data()