diff options
Diffstat (limited to 'tests/auto/widgets/dialogs/qfiledialog/tst_qfiledialog.cpp')
-rw-r--r-- | tests/auto/widgets/dialogs/qfiledialog/tst_qfiledialog.cpp | 28 |
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() |