File: DirectoryTest.cpp

package info (click to toggle)
gcompris-qt 26.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 144,692 kB
  • sloc: javascript: 64,854; cpp: 7,375; xml: 1,349; python: 1,310; sh: 584; sql: 236; php: 183; java: 121; perl: 40; ansic: 14; makefile: 7; awk: 6
file content (67 lines) | stat: -rw-r--r-- 1,929 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
/* GCompris - DirectoryTest.cpp
 *
 * SPDX-FileCopyrightText: 2018 Himanshu Vishwakarma <himvish997@gmail.com>
 * GCompris  (C) 2018 GCompris Developers  <gcompris-devel@kde.org>
 *
 * Authors:
 *   Himanshu Vishwakarma <himvish997@gmail.com>
 *
 *   SPDX-License-Identifier: GPL-3.0-or-later
 */

#include <QObject>
#include <QTest>
#include <QDir>

#include "src/core/File.h"
#include "src/core/Directory.h"

class DirectoryTest : public QObject
{
public:
    Q_OBJECT
private Q_SLOTS:
    void GetFilesTest();
};


void DirectoryTest::GetFilesTest()
{
    // Removing the directory.
    // It is required as it may already be present in memory because of unsuccessful test/ interruption
    QDir dir("./dummy_directory");
    dir.removeRecursively();

    File file;
    QVERIFY(File::mkpath("./dummy_directory"));

    Directory directory;
    QStringList filelist = directory.getFiles("./dummy_directory");
    // We do not count './' & '../' in directory.
    QCOMPARE(filelist.count(), 0);

    // Creating the empty file of name file1.
    file.write("", "./dummy_directory/file1");
    // Creating the empty directory of name dir1.
    File::mkpath("./dummy_directory/dir1");
    filelist = directory.getFiles("./dummy_directory", {"*"});
    QCOMPARE(filelist.count(), 2);

    file.write("", "./dummy_directory/file2");
    file.write("", "./dummy_directory/file3");
    File::mkpath("./dummy_directory/dir2");
    File::mkpath("./dummy_directory/dir3");
    filelist = directory.getFiles("./dummy_directory");
    QCOMPARE(filelist.count(), 6);

    // Removing the directory.
    QVERIFY(File::rmpath("./dummy_directory/file3"));
    QVERIFY(File::rmpath("./dummy_directory/file2"));
    QVERIFY(!File::rmpath("./dummy_directory/dir3"));
    filelist = directory.getFiles("./dummy_directory");
    QCOMPARE(filelist.count(), 4);
    dir.removeRecursively();
}

QTEST_MAIN(DirectoryTest)
#include "DirectoryTest.moc"