tests/auto/qdir/tst_qdir.cpp
branchGCC_SURGE
changeset 31 5daf16870df6
parent 30 5dc02b23752f
equal deleted inserted replaced
27:93b982ccede2 31:5daf16870df6
    47 #include <qdir.h>
    47 #include <qdir.h>
    48 #include <qfileinfo.h>
    48 #include <qfileinfo.h>
    49 #include <qregexp.h>
    49 #include <qregexp.h>
    50 #include <qstringlist.h>
    50 #include <qstringlist.h>
    51 #include "../network-settings.h"
    51 #include "../network-settings.h"
       
    52 #include "../../shared/filesystem.h"
    52 
    53 
    53 #if defined(Q_OS_SYMBIAN)
    54 #if defined(Q_OS_SYMBIAN)
    54 # define STRINGIFY(x) #x
    55 # define STRINGIFY(x) #x
    55 # define TOSTRING(x) STRINGIFY(x)
    56 # define TOSTRING(x) STRINGIFY(x)
    56 # define SRCDIR "C:/Private/" TOSTRING(SYMBIAN_SRCDIR_UID) "/"
    57 # define SRCDIR "C:/Private/" TOSTRING(SYMBIAN_SRCDIR_UID) "/"
   162 
   163 
   163     void entryListWithSearchPaths();
   164     void entryListWithSearchPaths();
   164 
   165 
   165     void longFileName_data();
   166     void longFileName_data();
   166     void longFileName();
   167     void longFileName();
       
   168 
       
   169     void updateFileLists();
   167 };
   170 };
   168 
   171 
   169 // Testing get/set functions
   172 // Testing get/set functions
   170 void tst_QDir::getSetCheck()
   173 void tst_QDir::getSetCheck()
   171 {
   174 {
   980 #endif
   983 #endif
   981 #endif
   984 #endif
   982     QTest::newRow("data7") << ".//file1.txt" << "file1.txt";
   985     QTest::newRow("data7") << ".//file1.txt" << "file1.txt";
   983     QTest::newRow("data8") << "/foo/bar/..//file1.txt" << "/foo/file1.txt";
   986     QTest::newRow("data8") << "/foo/bar/..//file1.txt" << "/foo/file1.txt";
   984     QTest::newRow("data9") << "//" << "/";
   987     QTest::newRow("data9") << "//" << "/";
       
   988 #if !defined(Q_OS_WINCE)
       
   989 #if defined Q_OS_WIN
       
   990     QTest::newRow("data10") << "c:\\" << "c:/";
       
   991 #else
       
   992     QTest::newRow("data10") << "/:/" << "/:";
       
   993 #endif
       
   994 #endif
   985 }
   995 }
   986 
   996 
   987 
   997 
   988 void
   998 void
   989 tst_QDir::cleanPath()
   999 tst_QDir::cleanPath()
  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