ff4ff35918
Red Bear OS is a full fork. All sources must be available from git clone with zero network access. Removed gitignore rules that excluded fetched source trees under recipes/*/source/, local/recipes/kde/*/source/, local/recipes/qt/*/source/, and vendor source trees. Build artifacts (target/, build/, source.tar, *.o, *.so) remain excluded. 127291 files added — kernel, relibc, base, bootloader, pkgar, all KDE/Qt frameworks, mesa, wayland, DRM drivers, and every other recipe source.
76 lines
2.2 KiB
C++
76 lines
2.2 KiB
C++
// Copyright (C) 2016 The Qt Company Ltd.
|
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
|
|
|
|
#ifndef QQMLTESTUTILS_H
|
|
#define QQMLTESTUTILS_H
|
|
|
|
#include <QtCore/QDir>
|
|
#include <QtCore/QUrl>
|
|
#include <QtCore/QCoreApplication>
|
|
#include <QtCore/QStringList>
|
|
#include <QtTest/QTest>
|
|
|
|
/* Base class for tests with data that are located in a "data" subfolder. */
|
|
|
|
class QQmlDataTest : public QObject
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
QQmlDataTest();
|
|
virtual ~QQmlDataTest();
|
|
|
|
QString testFile(const QString &fileName) const;
|
|
inline QString testFile(const char *fileName) const
|
|
{ return testFile(QLatin1String(fileName)); }
|
|
inline QUrl testFileUrl(const QString &fileName) const
|
|
{
|
|
const QString fn = testFile(fileName);
|
|
return fn.startsWith(QLatin1Char(':'))
|
|
? QUrl(QLatin1String("qrc") + fn)
|
|
: QUrl::fromLocalFile(fn);
|
|
}
|
|
inline QUrl testFileUrl(const char *fileName) const
|
|
{ return testFileUrl(QLatin1String(fileName)); }
|
|
|
|
inline QString dataDirectory() const { return m_dataDirectory; }
|
|
inline QUrl dataDirectoryUrl() const { return m_dataDirectoryUrl; }
|
|
inline QString directory() const { return m_directory; }
|
|
|
|
static inline QQmlDataTest *instance() { return m_instance; }
|
|
|
|
public slots:
|
|
virtual void initTestCase();
|
|
|
|
private:
|
|
static QQmlDataTest *m_instance;
|
|
|
|
const QString m_dataDirectory;
|
|
const QUrl m_dataDirectoryUrl;
|
|
QString m_directory;
|
|
};
|
|
|
|
class QQmlTestMessageHandler
|
|
{
|
|
Q_DISABLE_COPY(QQmlTestMessageHandler)
|
|
public:
|
|
QQmlTestMessageHandler();
|
|
~QQmlTestMessageHandler();
|
|
|
|
const QStringList &messages() const { return m_messages; }
|
|
const QString messageString() const { return m_messages.join(QLatin1Char('\n')); }
|
|
|
|
void clear() { m_messages.clear(); }
|
|
|
|
void setIncludeCategoriesEnabled(bool enabled) { m_includeCategories = enabled; }
|
|
|
|
private:
|
|
static void messageHandler(QtMsgType, const QMessageLogContext &context, const QString &message);
|
|
|
|
static QQmlTestMessageHandler *m_instance;
|
|
QStringList m_messages;
|
|
QtMessageHandler m_oldHandler;
|
|
bool m_includeCategories;
|
|
};
|
|
|
|
#endif // QQMLTESTUTILS_H
|