diff options
author | Alexis Menard <alexis.menard@nokia.com> | 2009-08-05 11:13:33 (GMT) |
---|---|---|
committer | Alexis Menard <alexis.menard@nokia.com> | 2009-08-05 11:25:41 (GMT) |
commit | ca2a9d87d81095f6ff7b821e3d8cbe120a6d9b23 (patch) | |
tree | fc5cfedda603c39cd954dfb8c5a06db619f6b53d /tests/auto/qfiledialog | |
parent | b4f1f4de1a0df7028440faaff146ac1560dc6169 (diff) | |
download | Qt-ca2a9d87d81095f6ff7b821e3d8cbe120a6d9b23.zip Qt-ca2a9d87d81095f6ff7b821e3d8cbe120a6d9b23.tar.gz Qt-ca2a9d87d81095f6ff7b821e3d8cbe120a6d9b23.tar.bz2 |
Fix regressions introduced by 31edb4d5a63b9b3c28cce1c4ca6eb99f62a09759
The commit 31edb4d5a63b9b3c28cce1c4ca6eb99f62a09759 introduced
regressions in filters which breaks the mac native dialog, the non
native dialog with HideNameFilterDetails activated.
Task-number:259105
Reviewed-by:olivier
Reviewed-by:prasanth
Diffstat (limited to 'tests/auto/qfiledialog')
-rw-r--r-- | tests/auto/qfiledialog/tst_qfiledialog.cpp | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/tests/auto/qfiledialog/tst_qfiledialog.cpp b/tests/auto/qfiledialog/tst_qfiledialog.cpp index c31ecf2..0f307dc 100644 --- a/tests/auto/qfiledialog/tst_qfiledialog.cpp +++ b/tests/auto/qfiledialog/tst_qfiledialog.cpp @@ -161,6 +161,7 @@ private slots: void task251341_sideBarRemoveEntries(); void task254490_selectFileMultipleTimes(); void task257579_sideBarWithNonCleanUrls(); + void task259105_filtersCornerCases(); private: QByteArray userSettings; @@ -2057,6 +2058,48 @@ void tst_QFiledialog::task257579_sideBarWithNonCleanUrls() #endif } +void tst_QFiledialog::task259105_filtersCornerCases() +{ + QNonNativeFileDialog fd(0, "TestFileDialog"); + fd.setNameFilter(QLatin1String("All Files! (*);;Text Files (*.txt)")); + fd.setOption(QFileDialog::HideNameFilterDetails, true); + fd.show(); + QTest::qWait(250); + + //Extensions are hidden + QComboBox *filters = qFindChild<QComboBox*>(&fd, "fileTypeCombo"); + QVERIFY(filters); + QCOMPARE(filters->currentText(), QLatin1String("All Files!")); + filters->setCurrentIndex(1); + QCOMPARE(filters->currentText(), QLatin1String("Text Files")); + + //We should have the full names + fd.setOption(QFileDialog::HideNameFilterDetails, false); + QTest::qWait(250); + filters->setCurrentIndex(0); + QCOMPARE(filters->currentText(), QLatin1String("All Files! (*)")); + filters->setCurrentIndex(1); + QCOMPARE(filters->currentText(), QLatin1String("Text Files (*.txt)")); + + //Corner case undocumented of the task + fd.setNameFilter(QLatin1String("\352 (I like cheese) All Files! (*);;Text Files (*.txt)")); + QCOMPARE(filters->currentText(), QLatin1String("\352 (I like cheese) All Files! (*)")); + filters->setCurrentIndex(1); + QCOMPARE(filters->currentText(), QLatin1String("Text Files (*.txt)")); + + fd.setOption(QFileDialog::HideNameFilterDetails, true); + filters->setCurrentIndex(0); + QTest::qWait(500); + QCOMPARE(filters->currentText(), QLatin1String("\352 (I like cheese) All Files!")); + filters->setCurrentIndex(1); + QCOMPARE(filters->currentText(), QLatin1String("Text Files")); + fd.setOption(QFileDialog::HideNameFilterDetails, true); + filters->setCurrentIndex(0); + QTest::qWait(500); + QCOMPARE(filters->currentText(), QLatin1String("\352 (I like cheese) All Files!")); + filters->setCurrentIndex(1); + QCOMPARE(filters->currentText(), QLatin1String("Text Files")); +} QTEST_MAIN(tst_QFiledialog) #include "tst_qfiledialog.moc" |