aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorTasuku Suzuki <stasuku@gmail.com>2013-02-25 23:45:22 +0900
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-06-10 09:24:12 +0200
commit95aa526987a2ef536c07d2607e8fdfc21c3e9096 (patch)
tree798c9089c172b7a643a555469b80b02845cba3e3 /tests
parenta2e8e835fc187a3a804c6d4c0b46e9039c137dc6 (diff)
fix Folderlistmodel "showDotAndDotDot" didn't show "."
Task-number: QTBUG-29858 Change-Id: Ia736776e2587601a80d0aef22bb5cfce74040d39 Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/qml/qquickfolderlistmodel/data/showDotAndDotDot.qml5
-rw-r--r--tests/auto/qml/qquickfolderlistmodel/tst_qquickfolderlistmodel.cpp49
2 files changed, 52 insertions, 2 deletions
diff --git a/tests/auto/qml/qquickfolderlistmodel/data/showDotAndDotDot.qml b/tests/auto/qml/qquickfolderlistmodel/data/showDotAndDotDot.qml
new file mode 100644
index 0000000000..b65ace2f78
--- /dev/null
+++ b/tests/auto/qml/qquickfolderlistmodel/data/showDotAndDotDot.qml
@@ -0,0 +1,5 @@
+import Qt.labs.folderlistmodel 1.0
+
+FolderListModel {
+ showDotAndDotDot: false
+}
diff --git a/tests/auto/qml/qquickfolderlistmodel/tst_qquickfolderlistmodel.cpp b/tests/auto/qml/qquickfolderlistmodel/tst_qquickfolderlistmodel.cpp
index 9230608622..b845faca7d 100644
--- a/tests/auto/qml/qquickfolderlistmodel/tst_qquickfolderlistmodel.cpp
+++ b/tests/auto/qml/qquickfolderlistmodel/tst_qquickfolderlistmodel.cpp
@@ -77,6 +77,8 @@ private slots:
// WinCE does not have drive concept, so lets execute this test only on desktop Windows.
void changeDrive();
#endif
+ void showDotAndDotDot();
+ void showDotAndDotDot_data();
private:
void checkNoErrors(const QQmlComponent& component);
@@ -113,7 +115,7 @@ void tst_qquickfolderlistmodel::basicProperties()
QVERIFY(flm != 0);
flm->setProperty("folder", dataDirectoryUrl());
- QTRY_COMPARE(flm->property("count").toInt(),4); // wait for refresh
+ QTRY_COMPARE(flm->property("count").toInt(),5); // wait for refresh
QCOMPARE(flm->property("folder").toUrl(), dataDirectoryUrl());
QCOMPARE(flm->property("parentFolder").toUrl(), QUrl::fromLocalFile(QDir(directory()).canonicalPath()));
QCOMPARE(flm->property("sortField").toInt(), int(Name));
@@ -169,7 +171,7 @@ void tst_qquickfolderlistmodel::refresh()
QVERIFY(flm != 0);
flm->setProperty("folder", dataDirectoryUrl());
- QTRY_COMPARE(flm->property("count").toInt(),4); // wait for refresh
+ QTRY_COMPARE(flm->property("count").toInt(),5); // wait for refresh
int count = flm->rowCount();
@@ -228,6 +230,49 @@ void tst_qquickfolderlistmodel::changeDrive()
}
#endif
+void tst_qquickfolderlistmodel::showDotAndDotDot()
+{
+ QFETCH(QUrl, folder);
+ QFETCH(QUrl, rootFolder);
+ QFETCH(bool, showDotAndDotDot);
+ QFETCH(bool, showDot);
+ QFETCH(bool, showDotDot);
+
+ QQmlComponent component(&engine, testFileUrl("showDotAndDotDot.qml"));
+ checkNoErrors(component);
+
+ QAbstractListModel *flm = qobject_cast<QAbstractListModel*>(component.create());
+ QVERIFY(flm != 0);
+
+ flm->setProperty("folder", folder);
+ flm->setProperty("rootFolder", rootFolder);
+ flm->setProperty("showDotAndDotDot", showDotAndDotDot);
+
+ int count = 5;
+ if (showDot) count++;
+ if (showDotDot) count++;
+ QTRY_COMPARE(flm->property("count").toInt(), count); // wait for refresh
+
+ if (showDot)
+ QCOMPARE(flm->data(flm->index(0),FileNameRole).toString(), QLatin1String("."));
+ if (showDotDot)
+ QCOMPARE(flm->data(flm->index(1),FileNameRole).toString(), QLatin1String(".."));
+}
+
+void tst_qquickfolderlistmodel::showDotAndDotDot_data()
+{
+ QTest::addColumn<QUrl>("folder");
+ QTest::addColumn<QUrl>("rootFolder");
+ QTest::addColumn<bool>("showDotAndDotDot");
+ QTest::addColumn<bool>("showDot");
+ QTest::addColumn<bool>("showDotDot");
+
+ QTest::newRow("false") << dataDirectoryUrl() << QUrl() << false << false << false;
+ QTest::newRow("true") << dataDirectoryUrl() << QUrl() << true << true << true;
+ QTest::newRow("true but root") << dataDirectoryUrl() << dataDirectoryUrl() << true << true << false;
+
+}
+
QTEST_MAIN(tst_qquickfolderlistmodel)
#include "tst_qquickfolderlistmodel.moc"