summaryrefslogtreecommitdiffstats
path: root/utils
diff options
context:
space:
mode:
authorJesper K. Pedersen <jesper.pedersen@kdab.com>2013-05-14 10:44:09 +0200
committerJesper K. Pedersen <jesper.pedersen@kdab.com>2013-05-14 19:33:07 +0200
commitb52c0d5d00ee100eddd0215ad4c891f8067df76e (patch)
tree2c732ccdef0a38ab6edf6dc7e2008c5e85c5cce9 /utils
parent8020bb26e2ad7c2d9ee60d644f81a20830f0b7f1 (diff)
the birth of a unit testing framework
Change-Id: Ibb634bce4db330167b1492bc7ce13f7af53a18c7 Reviewed-by: Jesper K. Pedersen <jesper.pedersen@kdab.com> Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com>
Diffstat (limited to 'utils')
-rw-r--r--utils/utils.cpp64
-rw-r--r--utils/utils.h56
2 files changed, 120 insertions, 0 deletions
diff --git a/utils/utils.cpp b/utils/utils.cpp
new file mode 100644
index 0000000..8ecf7ca
--- /dev/null
+++ b/utils/utils.cpp
@@ -0,0 +1,64 @@
+/**************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (C) 2013 Kläralvdalens Datakonsult AB, a KDAB Group company.
+**
+** Contact: Kläralvdalens Datakonsult AB (info@kdab.com)
+**
+**
+** GNU Lesser General Public License Usage
+**
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this file.
+** Please review the following information to ensure the GNU Lesser General
+** Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** Other Usage
+**
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at info@qt.nokia.com.
+**
+**************************************************************************/
+
+#include "utils.h"
+#include <QDir>
+#include "scriptrunner.h"
+
+namespace Scripting {
+namespace Internal {
+
+Utils::Utils(QObject *parent) :
+ QObject(parent)
+{
+}
+
+QStringList Utils::subDirectories(const QString &directory) const
+{
+ QDir dir(ScriptRunner::absolutePath(directory));
+ return dir.entryList(QDir::Dirs | QDir::NoDotAndDotDot);
+}
+
+QStringList Utils::backtrace() const
+{
+ QStringList result;
+ foreach ( const QString& str, ScriptRunner::instance()->scriptEngine()->currentContext()->backtrace() ) {
+ // Remove internal calls that is of no use to the script side
+ if ( !str.startsWith(QLatin1String("<")))
+ result.append(QLatin1String("\t") + str);
+ }
+ return result;
+}
+
+
+} // namespace Internal
+} // namespace Scripting
diff --git a/utils/utils.h b/utils/utils.h
new file mode 100644
index 0000000..09044c9
--- /dev/null
+++ b/utils/utils.h
@@ -0,0 +1,56 @@
+/**************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (C) 2013 Kläralvdalens Datakonsult AB, a KDAB Group company.
+**
+** Contact: Kläralvdalens Datakonsult AB (info@kdab.com)
+**
+**
+** GNU Lesser General Public License Usage
+**
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this file.
+** Please review the following information to ensure the GNU Lesser General
+** Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** Other Usage
+**
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at info@qt.nokia.com.
+**
+**************************************************************************/
+
+#ifndef SCRIPTING_INTERNAL_UTILS_H
+#define SCRIPTING_INTERNAL_UTILS_H
+
+#include <QObject>
+#include <QStringList>
+
+namespace Scripting {
+namespace Internal {
+
+class Utils : public QObject
+{
+ Q_OBJECT
+public:
+ explicit Utils(QObject *parent = 0);
+
+public slots:
+ QStringList subDirectories(const QString& directory) const;
+ QStringList backtrace() const;
+};
+
+} // namespace Internal
+} // namespace Scripting
+
+#endif // SCRIPTING_INTERNAL_UTILS_H