]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/tests/testbase.h
Add a unit test that checks the DolphinView functionality that is
[dolphin.git] / src / tests / testbase.h
index 121c230ca0e3ebe39197e68edd56300931ab57ad..d197a3f9280936088894ac3918c77b8b19f4d1ce 100644 (file)
@@ -1,27 +1,29 @@
-/***************************************************************************
- *   Copyright (C) 2010 by Frank Reininghaus (frank78ac@googlemail.com)    *
- *                                                                         *
- *   This program is free software; you can redistribute it and/or modify  *
- *   it under the terms of the GNU General Public License as published by  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- *   This program is distributed in the hope that it will be useful,       *
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
- *   GNU General Public License for more details.                          *
- *                                                                         *
- *   You should have received a copy of the GNU General Public License     *
- *   along with this program; if not, write to the                         *
- *   Free Software Foundation, Inc.,                                       *
- *   51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA            *
- ***************************************************************************/
+/*****************************************************************************
+ *   Copyright (C) 2010-2011 by Frank Reininghaus (frank78ac@googlemail.com) *
+ *                                                                           *
+ *   This program is free software; you can redistribute it and/or modify    *
+ *   it under the terms of the GNU General Public License as published by    *
+ *   the Free Software Foundation; either version 2 of the License, or       *
+ *   (at your option) any later version.                                     *
+ *                                                                           *
+ *   This program is distributed in the hope that it will be useful,         *
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of          *
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the           *
+ *   GNU General Public License for more details.                            *
+ *                                                                           *
+ *   You should have received a copy of the GNU General Public License       *
+ *   along with this program; if not, write to the                           *
+ *   Free Software Foundation, Inc.,                                         *
+ *   51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA              *
+ *****************************************************************************/
 
 #ifndef TESTHELPER_H
 #define TESTHELPER_H
 
 #include <KUrl>
 
+#include <QtCore/QDateTime>
+
 class KTempDir;
 class QAbstractItemView;
 class QDir;
@@ -30,7 +32,7 @@ class DolphinModel;
 class DolphinSortFilterProxyModel;
 class DolphinView;
 
-/*
+/**
  * The class TestBase aims to make writing Dolphin unit tests easier.
  * It provides functionality that almost every unit test needs: setup of the DolphinView and
  * easy creation of test files and subfolders in a temporary directory which is removed in
@@ -49,21 +51,30 @@ public:
     ~TestBase();
 
     // Returns the item view (icons, details, or columns)
-    QAbstractItemView* itemView () const;
+    QAbstractItemView* itemView() const;
+
+    // Reloads the view and waits for the finishedPathLoading(const KUrl&) signal.
+    void reloadViewAndWait();
 
     KUrl testDirUrl() const;
 
-    /*
+    /**
      * The following functions create either a file, a list of files, or a directory.
      * The paths may be absolute or relative to the test directory. Any missing parent
      * directories will be created automatically.
      */
 
-    void createFile(const QString& path, const QByteArray& data = QByteArray("test"));
+    void createFile(const QString& path, const QByteArray& data = QByteArray("test"), const QDateTime& time = QDateTime());
     void createFiles(const QStringList& files);
-    void createDir(const QString& path);
+    void createDir(const QString& path, const QDateTime& time = QDateTime());
+
+    /**
+     * Returns the items shown in the view. The order corresponds to the sort order of the view.
+     */
 
-    /*
+    QStringList viewItems() const;
+
+    /**
      * Remove the test directory and create an empty one.
      */
 
@@ -71,19 +82,17 @@ public:
 
     //  Make members that are accessed frequently by the derived test classes public
 
-    DolphinDirLister* m_dirLister;
-    DolphinModel* m_dolphinModel;
-    DolphinSortFilterProxyModel* m_proxyModel;
     DolphinView* m_view;
 
+    QString m_path;
+
 private:
 
     KTempDir* m_tempDir;
-    QString m_path;
     QDir* m_dir;
 
     void makePathAbsoluteAndCreateParents(QString& path);
 
 };
 
-#endif
\ No newline at end of file
+#endif