1433 file2.close(); |
1443 file2.close(); |
1434 |
1444 |
1435 QFile::remove(fileName); |
1445 QFile::remove(fileName); |
1436 } |
1446 } |
1437 |
1447 |
|
1448 void tst_QDir::updateFileLists() |
|
1449 { |
|
1450 // Test setup |
|
1451 |
|
1452 FileSystem fs; |
|
1453 |
|
1454 QVERIFY( fs.createDirectory("update-file-lists") ); |
|
1455 QVERIFY( fs.createFile("update-file-lists/file1.txt") ); |
|
1456 QVERIFY( fs.createFile("update-file-lists/file2.doc") ); |
|
1457 |
|
1458 QVERIFY( fs.createDirectory("update-file-lists/sub-dir1") ); |
|
1459 QVERIFY( fs.createFile("update-file-lists/sub-dir1/file3.txt") ); |
|
1460 QVERIFY( fs.createFile("update-file-lists/sub-dir1/file4.doc") ); |
|
1461 QVERIFY( fs.createFile("update-file-lists/sub-dir1/file5.txt") ); |
|
1462 |
|
1463 QVERIFY( fs.createDirectory("update-file-lists/sub-dir2") ); |
|
1464 QVERIFY( fs.createFile("update-file-lists/sub-dir2/file6.txt") ); |
|
1465 QVERIFY( fs.createFile("update-file-lists/sub-dir2/file7.txt") ); |
|
1466 QVERIFY( fs.createFile("update-file-lists/sub-dir2/file8.doc") ); |
|
1467 QVERIFY( fs.createFile("update-file-lists/sub-dir2/file9.doc") ); |
|
1468 |
|
1469 // Actual test |
|
1470 |
|
1471 QDir dir("update-file-lists"); |
|
1472 |
|
1473 #if defined(Q_OS_SYMBIAN) || defined(Q_OS_WINCE) |
|
1474 //no . and .. on these OS. |
|
1475 QCOMPARE(dir.count(), uint(4)); |
|
1476 QCOMPARE(dir.entryList().size(), 4); |
|
1477 QCOMPARE(dir.entryInfoList().size(), 4); |
|
1478 #else |
|
1479 QCOMPARE(dir.count(), uint(6)); |
|
1480 QCOMPARE(dir.entryList().size(), 6); |
|
1481 QCOMPARE(dir.entryInfoList().size(), 6); |
|
1482 #endif |
|
1483 |
|
1484 dir.setFilter(QDir::AllEntries | QDir::NoDotAndDotDot); |
|
1485 |
|
1486 QCOMPARE(dir.entryList().size(), 4); |
|
1487 QCOMPARE(dir.count(), uint(4)); |
|
1488 QCOMPARE(dir.entryInfoList().size(), 4); |
|
1489 |
|
1490 dir.setPath("update-file-lists/sub-dir1"); |
|
1491 |
|
1492 QCOMPARE(dir.entryInfoList().size(), 3); |
|
1493 QCOMPARE(dir.count(), uint(3)); |
|
1494 QCOMPARE(dir.entryList().size(), 3); |
|
1495 |
|
1496 dir.setNameFilters(QStringList("*.txt")); |
|
1497 |
|
1498 QCOMPARE(dir.entryInfoList().size(), 2); |
|
1499 QCOMPARE(dir.entryList().size(), 2); |
|
1500 QCOMPARE(dir.count(), uint(2)); |
|
1501 |
|
1502 dir.setPath("update-file-lists"); |
|
1503 dir = QDir(dir.path(), |
|
1504 "*.txt", |
|
1505 QDir::Name | QDir::DirsLast, |
|
1506 QDir::AllEntries | QDir::AllDirs | QDir::NoDotAndDotDot); |
|
1507 |
|
1508 QCOMPARE(dir.count(), uint(3)); |
|
1509 QCOMPARE(dir.entryList().size(), 3); |
|
1510 QCOMPARE(dir.entryInfoList().size(), 3); |
|
1511 QCOMPARE(dir.entryList(), QStringList() << "file1.txt" << "sub-dir1" << "sub-dir2"); |
|
1512 |
|
1513 dir.setSorting(QDir::Name | QDir::DirsFirst); |
|
1514 |
|
1515 QCOMPARE(dir.count(), uint(3)); |
|
1516 QCOMPARE(dir.entryList().size(), 3); |
|
1517 QCOMPARE(dir.entryInfoList().size(), 3); |
|
1518 QCOMPARE(dir.entryList(), QStringList() << "sub-dir1" << "sub-dir2" << "file1.txt"); |
|
1519 |
|
1520 { |
|
1521 QVERIFY( fs.createFile("update-file-lists/extra-file.txt") ); |
|
1522 |
|
1523 QDir dir2(dir); |
|
1524 |
|
1525 QCOMPARE(dir2.count(), uint(3)); |
|
1526 QCOMPARE(dir2.entryList().size(), 3); |
|
1527 QCOMPARE(dir2.entryInfoList().size(), 3); |
|
1528 QCOMPARE(dir2.entryList(), QStringList() << "sub-dir1" << "sub-dir2" << "file1.txt"); |
|
1529 |
|
1530 dir2.refresh(); |
|
1531 |
|
1532 QCOMPARE(dir2.count(), uint(4)); |
|
1533 QCOMPARE(dir2.entryList().size(), 4); |
|
1534 QCOMPARE(dir2.entryInfoList().size(), 4); |
|
1535 QCOMPARE(dir2.entryList(), QStringList() << "sub-dir1" << "sub-dir2" << "extra-file.txt" << "file1.txt"); |
|
1536 } |
|
1537 |
|
1538 QCOMPARE(dir.count(), uint(3)); |
|
1539 QCOMPARE(dir.entryList().size(), 3); |
|
1540 QCOMPARE(dir.entryInfoList().size(), 3); |
|
1541 QCOMPARE(dir.entryList(), QStringList() << "sub-dir1" << "sub-dir2" << "file1.txt"); |
|
1542 } |
|
1543 |
1438 QTEST_MAIN(tst_QDir) |
1544 QTEST_MAIN(tst_QDir) |
1439 #include "tst_qdir.moc" |
1545 #include "tst_qdir.moc" |
1440 |
1546 |