| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230 |
- #include "test_utils.h"
- #include <QDebug>
- #include <QTemporaryDir>
- #include <utils/pathutils.h>
- #include <utils/fileutils.h>
- using namespace tests;
- using namespace vnotex;
- void TestUtils::testParentDirPath_data()
- {
- QTest::addColumn<QString>("path");
- QTest::addColumn<QString>("result");
- QTest::newRow("empty") << "" << "";
- #if defined(Q_OS_WIN)
- QTest::newRow("win_root") << "c:\\" << "C:/";
- QTest::newRow("win_normal") << "c:\\users\\tamlok" << "C:/users";
- QTest::newRow("win_slash") << "c:\\users\\tamlok\\" << "C:/users/tamlok";
- QTest::newRow("win_ext") << "c:\\users\\tamlok\\vnotex.md" << "C:/users/tamlok";
- QTest::newRow("win_case") << "c:\\users\\Tamlok\\Vnotex.md" << "C:/users/Tamlok";
- QTest::newRow("win_sep") << "c:/users/tamlok/vnotex.md" << "C:/users/tamlok";
- #else
- QTest::newRow("linux_root") << "/home" << "/";
- QTest::newRow("linux_normal") << "/home/tamlok" << "/home";
- QTest::newRow("linux_slash") << "/home/tamlok/" << "/home/tamlok";
- QTest::newRow("linux_ext") << "/home/tamlok/vnotex.md" << "/home/tamlok";
- QTest::newRow("linux_case") << "/home/Tamlok/vnotex.md" << "/home/Tamlok";
- #endif
- }
- void TestUtils::testParentDirPath()
- {
- QFETCH(QString, path);
- QFETCH(QString, result);
- QCOMPARE(PathUtils::parentDirPath(path), result);
- }
- void TestUtils::testCleanPath_data()
- {
- QTest::addColumn<QString>("path");
- QTest::addColumn<QString>("result");
- QTest::newRow("empty") << "" << "";
- #if defined(Q_OS_WIN)
- QTest::newRow("win_root") << "c:" << "c:";
- QTest::newRow("win_normal") << "c:\\users\\tamlok" << "c:/users/tamlok";
- QTest::newRow("win_slash") << "c:\\users\\tamlok\\" << "c:/users/tamlok";
- QTest::newRow("win_ext") << "C:\\users\\tamlok\\vnotex.md" << "C:/users/tamlok/vnotex.md";
- QTest::newRow("win_case") << "c:\\users\\Tamlok" << "c:/users/Tamlok";
- QTest::newRow("win_sep") << "c:/users/tamlok" << "c:/users/tamlok";
- #else
- QTest::newRow("linux_root") << "/home" << "/home";
- QTest::newRow("linux_normal") << "/home/tamlok" << "/home/tamlok";
- QTest::newRow("linux_slash") << "/home/tamlok/" << "/home/tamlok";
- QTest::newRow("linux_ext") << "/home/tamlok/vnotex.md" << "/home/tamlok/vnotex.md";
- QTest::newRow("linux_case") << "/home/Tamlok/vnotex.md" << "/home/Tamlok/vnotex.md";
- #endif
- }
- void TestUtils::testCleanPath()
- {
- QFETCH(QString, path);
- QFETCH(QString, result);
- QCOMPARE(PathUtils::cleanPath(path), result);
- }
- void TestUtils::testAreSamePaths_data()
- {
- QTest::addColumn<QString>("patha");
- QTest::addColumn<QString>("pathb");
- QTest::addColumn<bool>("result");
- QTest::newRow("empty") << "" << "" << true;
- #if defined(Q_OS_WIN)
- QTest::newRow("win_normal") << "c:\\users\\tamlok" << "c:\\users\\tamlok" << true;
- QTest::newRow("win_slash") << "c:\\users\\vnotex\\" << "c:/users/vnotex" << true;
- QTest::newRow("win_file") << "C:\\users\\tamlok\\vnotex.md" << "C:/users/tamlok/vnotex.md" << true;
- QTest::newRow("win_file_false") << "C:\\users\\tamlok\\vnote.md" << "C:/users/tamlok/vnotex.md" << false;
- QTest::newRow("win_case") << "c:\\users\\Tamlok" << "C:/users/tamlok" << true;
- #else
- QTest::newRow("linux_normal") << "/home/tamlok" << "/home/tamlok" << true;
- QTest::newRow("linux_slash") << "/home/tamlok/" << "/home/tamlok" << true;
- QTest::newRow("linux_file") << "/home/tamlok/vnotex.md" << "/home/tamlok/vnotex.md" << true;
- QTest::newRow("linux_file_false") << "/home/tamlok/vnote.md" << "/home/tamlok/vnotex.md" << false;
- QTest::newRow("linux_case") << "/home/Tamlok/vnotex.md" << "/home/tamlok/vnotex.md" << false;
- #endif
- }
- void TestUtils::testAreSamePaths()
- {
- QFETCH(QString, patha);
- QFETCH(QString, pathb);
- QFETCH(bool, result);
- QCOMPARE(PathUtils::areSamePaths(patha, pathb), result);
- }
- void TestUtils::testPathContains_data()
- {
- QTest::addColumn<QString>("patha");
- QTest::addColumn<QString>("pathb");
- QTest::addColumn<bool>("result");
- QTest::newRow("empty") << "" << "" << true;
- #if defined(Q_OS_WIN)
- QTest::newRow("win_same") << "c:\\users\\tamlok" << "c:\\users\\tamlok" << true;
- QTest::newRow("win_slash") << "c:\\users\\vnotex\\" << "c:\\users\\vnotex" << true;
- QTest::newRow("win_file") << "C:\\users\\tamlok" << "C:/users/tamlok/vnotex.md" << true;
- QTest::newRow("win_relative") << "C:\\users\\tamlok" << "tamlok/vnotex.md" << true;
- QTest::newRow("win_root") << "c:\\users\\Tamlok" << "D:/users/tamlok" << false;
- QTest::newRow("win_case") << "c:\\users\\Tamlok" << "c:/users/tamlok/abc" << true;
- QTest::newRow("win_parent") << "c:\\users\\Tamlok\\abc" << "c:/users/tamlok" << false;
- QTest::newRow("win_parents") << "c:\\users\\Tamlok\\abc\\def" << "c:/users/tamlok" << false;
- #else
- QTest::newRow("linux_same") << "/home/tamlok" << "/home/tamlok" << true;
- QTest::newRow("linux_slash") << "/home/tamlok/" << "/home/tamlok" << true;
- QTest::newRow("linux_file") << "/home/tamlok" << "/home/tamlok/vnotex.md" << true;
- QTest::newRow("linux_relative") << "/home/tamlok" << "tamlok/vnotex.md" << true;
- QTest::newRow("linux_root") << "/home/tamlok" << "/tamlok/vnotex.md" << false;
- QTest::newRow("linux_case") << "/home/Tamlok" << "/home/tamlok/vnotex.md" << false;
- QTest::newRow("linux_parent") << "/home/tamlok/abc" << "/home/tamlok" << false;
- QTest::newRow("linux_parents") << "/home/tamlok/abc/def" << "/home/tamlok" << false;
- #endif
- }
- void TestUtils::testPathContains()
- {
- QFETCH(QString, patha);
- QFETCH(QString, pathb);
- QFETCH(bool, result);
- QCOMPARE(PathUtils::pathContains(patha, pathb), result);
- }
- void TestUtils::testConcatenateFilePath_data()
- {
- QTest::addColumn<QString>("dirPath");
- QTest::addColumn<QString>("name");
- QTest::addColumn<QString>("result");
- QTest::newRow("emptyDir") << "" << "filea" << "filea";
- #if defined(Q_OS_WIN)
- QTest::newRow("win_absolute") << "c:\\users\\tamlok" << "filea" << "c:/users/tamlok/filea";
- QTest::newRow("win_slash") << "c:\\users\\vnotex\\" << "filea" << "c:/users/vnotex/filea";
- QTest::newRow("win_slash2") << "C:/users/tamlok///" << "filea" << "C:/users/tamlok/filea";
- QTest::newRow("win_relative") << "users\\tamlok" << "filea" << "users/tamlok/filea";
- QTest::newRow("win_path") << "c:\\users\\tamlok" << "folder/filea" << "c:/users/tamlok/folder/filea";
- #else
- QTest::newRow("linux_absolute") << "/home/tamlok" << "filea" << "/home/tamlok/filea";
- QTest::newRow("linux_slash") << "/home/tamlok///" << "filea" << "/home/tamlok/filea";
- QTest::newRow("linux_relative") << "home/tamlok" << "filea" << "home/tamlok/filea";
- QTest::newRow("linux_path") << "/home/tamloK" << "folder/filea" << "/home/tamloK/folder/filea";
- #endif
- }
- void TestUtils::testConcatenateFilePath()
- {
- QFETCH(QString, dirPath);
- QFETCH(QString, name);
- QFETCH(QString, result);
- QCOMPARE(PathUtils::concatenateFilePath(dirPath, name), result);
- }
- void TestUtils::testRenameFile()
- {
- QTemporaryDir dir;
- const QString testFolderPath(dir.path());
- // File.
- {
- QString fileAPath = testFolderPath + "/filea.md";
- QFile fileA(fileAPath);
- QVERIFY(fileA.open(QIODevice::WriteOnly | QIODevice::Text));
- fileA.write(QByteArray());
- fileA.close();
- QVERIFY(QFileInfo::exists(fileAPath));
- FileUtils::renameFile(fileAPath, "fileb.md");
- QString newFileAPath = testFolderPath + "/fileb.md";
- QVERIFY(QFileInfo::exists(newFileAPath));
- }
- // Folder.
- {
- QDir paDir(testFolderPath);
- QString dirAPath = testFolderPath + "/dira";
- QVERIFY(paDir.mkdir("dira"));
- FileUtils::renameFile(dirAPath, "dirb");
- QVERIFY(paDir.exists("dirb"));
- }
- }
- void TestUtils::testIsText()
- {
- QTemporaryDir dir;
- const QString testFolderPath(dir.path());
- {
- auto filePath = testFolderPath + "/text";
- QFile file(filePath);
- QVERIFY(file.open(QIODevice::WriteOnly | QIODevice::Text));
- file.write(QByteArray(5, 'v'));
- file.close();
- QVERIFY(QFileInfo::exists(filePath));
- QVERIFY(FileUtils::isText(filePath));
- }
- {
- auto filePath = testFolderPath + "/bin";
- QFile file(filePath);
- QVERIFY(file.open(QIODevice::WriteOnly));
- file.write(reinterpret_cast<const char *>(&file), sizeof(file));
- file.close();
- QVERIFY(QFileInfo::exists(filePath));
- QVERIFY(!FileUtils::isText(filePath));
- }
- }
- QTEST_MAIN(tests::TestUtils)
|