[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdevplatform/veritas
From: Manuel Breugelmans <mbr.nxi () gmail ! com>
Date: 2008-08-27 20:12:49
Message-ID: 1219867969.285230.3398.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 853523 by mbreugel:
Extract treeTraverse function and add a basic test.
M +3 -15 selectionstore.cpp
M +0 -3 selectionstore.h
M +3 -16 testexecutor.cpp
M +0 -5 testexecutor.h
M +1 -0 tests/CMakeLists.txt
A tests/treetraversetest.cpp [License: GPL (v2+)]
A tests/treetraversetest.h [License: GPL (v2+)]
M +18 -1 utils.h
--- trunk/KDE/kdevplatform/veritas/selectionstore.cpp #853522:853523
@@ -20,6 +20,7 @@
#include "selectionstore.h"
#include "test.h"
+#include "utils.h"
#include <KDebug>
using Veritas::SelectionStore;
@@ -80,28 +81,15 @@
return m_deselected.contains(serialize(test));
}
-template <typename V>
-void SelectionStore::traverse(Test* current, V& visit)
-{
- if (not current) return;
- int nrof = current->childCount();
- if (nrof != 0) { // go down
- for (int i = 0; i < nrof; i++) {
- traverse(current->child(i), visit);
- }
- }
- visit(current); // functor
-}
-
void SelectionStore::saveTree(Test* root)
{
SaveTest st(this);
- traverse(root, st);
+ traverseTree(root, st);
}
void SelectionStore::restoreTree(Test* root)
{
RestoreTest rt(this);
- traverse(root, rt);
+ traverseTree(root, rt);
}
--- trunk/KDE/kdevplatform/veritas/selectionstore.h #853522:853523
@@ -41,9 +41,6 @@
private:
QString serialize(Test*) const;
- template<typename V>
- void traverse(Test* current, V& visit);
-
private:
QSet<QString> m_deselected; // serialized name of deselected tests
};
--- trunk/KDE/kdevplatform/veritas/testexecutor.cpp #853522:853523
@@ -23,6 +23,7 @@
#include <QtGlobal>
#include <KDebug>
+#include "utils.h"
using Veritas::Test;
using Veritas::TestExecutor;
@@ -87,7 +88,7 @@
void TestExecutor::go()
{
SetupChain sc(this);
- traverse(m_root, sc);
+ traverseTree(m_root, sc);
fixLast(sc.m_previous);
emit fireStarter();
}
@@ -100,7 +101,7 @@
void TestExecutor::cleanup()
{
DisconnectTest dt;
- traverse(m_root, dt);
+ traverseTree(m_root, dt);
}
void TestExecutor::fixLast(Test* last)
@@ -113,20 +114,6 @@
}
}
-template <typename V>
-void TestExecutor::traverse(Test* current, V& visit)
-{
- // depth-first traversal
- if (not current) return;
- int nrof = current->childCount();
- if (nrof != 0) { // go down
- for (int i = 0; i < nrof; i++) {
- traverse(current->child(i), visit);
- }
- }
- visit(current); // functor
-}
-
void TestExecutor::setRoot(Test* root)
{
m_root = root;
--- trunk/KDE/kdevplatform/veritas/testexecutor.h #853522:853523
@@ -60,11 +60,6 @@
void cleanup();
private:
- /*! Recursive function which traverses the tree in a depth first manner.
- * Applies the visit functor on each test */
- template<typename V>
- void traverse(Test* current, V& visit);
-
/*! Connects the last test with allDone() */
void fixLast(Test*);
--- trunk/KDE/kdevplatform/veritas/tests/CMakeLists.txt #853522:853523
@@ -31,3 +31,4 @@
kdev_add_test(ut-testexecutor testexecutortest.cpp)
kdev_add_test(it-runnerwindow runnerwindowtest.cpp)
kdev_add_test(ut-selectionstoretest selectionstoretest.cpp)
+kdev_add_test(ut-treetraverse treetraversetest.cpp)
--- trunk/KDE/kdevplatform/veritas/utils.h #853522:853523
@@ -29,6 +29,8 @@
#define VERITAS_UTILS_H
#include <QList>
+#include "veritasexport.h"
+#include "test.h"
class QTreeView;
class QVariant;
@@ -38,8 +40,23 @@
namespace Veritas
{
-// TODO remove this, seems redundant.
+/*! Recursive function which traverses the tree in a depth first manner.
+ * Applies the visit functor on each test */
+template <typename V>
+VERITAS_EXPORT void traverseTree(Test* current, V& visit)
+{
+ // depth-first traversal
+ if (!current) return;
+ int nrof = current->childCount();
+ if (nrof != 0) { // go down
+ for (int i = 0; i < nrof; i++) {
+ traverseTree(current->child(i), visit);
+ }
+ }
+ visit(current); // functor
+}
+
/*!
* \brief The Utils class provides a set of static helper functions.
*
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic