File: autotestshell.h

package info (click to toggle)
kdevelop 4%3A22.12.2-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 70,096 kB
  • sloc: cpp: 284,635; javascript: 3,558; python: 3,422; sh: 1,319; ansic: 685; xml: 331; php: 95; lisp: 66; makefile: 39; sed: 12
file content (67 lines) | stat: -rw-r--r-- 1,800 bytes parent folder | download | duplicates (3)
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
/*
    SPDX-FileCopyrightText: 2008 Harald Fernengel <harry@kdevelop.org>
    SPDX-FileCopyrightText: 2013 Milian Wolff <mail@milianw.de>

    SPDX-License-Identifier: LGPL-2.0-or-later
*/

#ifndef KDEVPLATFORM_AUTOTESTSHELL_H
#define KDEVPLATFORM_AUTOTESTSHELL_H

#include <QStringList>

#include "testsexport.h"
#include <shell/shellextension.h>
#include <shell/core.h>

/* This is a dummy shell for unit tests. It basically does nothing :)

   You can initialize it in initTestCase() to get a minimal shell to run
   your autotests.

   Example of a minimal KDevPlatform unit test:

   void Mytest::initTestCase()
   {
       AutoTestShell::init();
       TestCore::initialize();
   }

 */

namespace KDevelop {
class KDEVPLATFORMTESTS_EXPORT AutoTestShell
    : public KDevelop::ShellExtension
{
public:
    ~AutoTestShell();

    QString xmlFile() override { return QString(); }
    QString executableFilePath() override { return QString(); };
    QString defaultProfile() { return QStringLiteral("kdevtest"); }
    KDevelop::AreaParams defaultArea() override
    {
        KDevelop::AreaParams params;
        params.name = QStringLiteral("test");
        params.title = QStringLiteral("Test");
        return params;
    }
    QString projectFileExtension() override { return QString(); }
    QString projectFileDescription() override { return QString(); }
    QStringList defaultPlugins() override { return m_plugins; }

    /**
     * Initialize the AutoTestShell and set the global instance.
     *
     * @p plugins A list of default global plugins which should be loaded.
     *            By default, all global plugins are loaded.
     */
    static void init(const QStringList& plugins = QStringList());

private:
    AutoTestShell() = default;
    QStringList m_plugins;
};
}

#endif