summaryrefslogtreecommitdiff
path: root/src/tests
diff options
context:
space:
mode:
authorAndrea Diamantini <adjam7@gmail.com>2009-11-02 22:14:53 +0100
committerAndrea Diamantini <adjam7@gmail.com>2009-11-02 22:14:53 +0100
commit3ab194eb596995a101756fcb92f4294e2dcb3ba1 (patch)
tree5fbff742e0fdb6305c28aad32d6ef0414ea8db2f /src/tests
parentCompiling rekonq as a kdeinit executable (diff)
downloadrekonq-3ab194eb596995a101756fcb92f4294e2dcb3ba1.tar.xz
Finally... unit tests!!
First test is trivial, but it's a test (tabbar test). And now we have it!
Diffstat (limited to 'src/tests')
-rw-r--r--src/tests/CMakeLists.txt22
-rw-r--r--src/tests/tabbar_test.cpp133
2 files changed, 155 insertions, 0 deletions
diff --git a/src/tests/CMakeLists.txt b/src/tests/CMakeLists.txt
new file mode 100644
index 00000000..9963acd4
--- /dev/null
+++ b/src/tests/CMakeLists.txt
@@ -0,0 +1,22 @@
+### ---------- General Settings -------
+
+SET( EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR} )
+
+INCLUDE_DIRECTORIES ( ${CMAKE_CURRENT_BINARY_DIR}/..
+ ${KDE4_INCLUDES}
+ ${QT4_INCLUDES}
+)
+
+##### -------------tabbar test
+
+kde4_add_unit_test( tabbar_test TEST tabbar_test.cpp )
+
+target_link_libraries( tabbar_test
+ kdeinit_rekonq
+ ${KDE4_KDECORE_LIBS}
+ ${KDE4_KDEUI_LIBS}
+ ${QT_QTCORE_LIBRARY}
+ ${QT_QTTEST_LIBRARY}
+)
+
+# --------------
diff --git a/src/tests/tabbar_test.cpp b/src/tests/tabbar_test.cpp
new file mode 100644
index 00000000..7b40c487
--- /dev/null
+++ b/src/tests/tabbar_test.cpp
@@ -0,0 +1,133 @@
+/*
+ * Copyright 2008 Benjamin C. Meyer <ben@meyerhome.net>
+ * Copyright 2008 Andrea Diamantini <adjam7@gmail.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
+ */
+
+#include <QtGui/QtGui>
+#include <QtTest/QtTest>
+
+#include "../tabbar.h"
+
+
+class TabBarTest : public QObject
+{
+ Q_OBJECT
+
+public slots:
+ void initTestCase();
+ void cleanupTestCase();
+ void init();
+ void cleanup();
+
+private slots:
+ void tabbar_data();
+ void tabbar();
+
+ void tabSizeHint_data();
+ void tabSizeHint();
+};
+
+
+// Subclass that exposes the protected functions.
+class SubTabBar : public TabBar
+{
+public:
+ void call_cloneTab(int index)
+ { return SubTabBar::cloneTab(index); }
+
+ void call_closeOtherTabs(int index)
+ { return SubTabBar::closeOtherTabs(index); }
+
+ void call_closeTab(int index)
+ { return SubTabBar::closeTab(index); }
+
+ void call_mouseMoveEvent(QMouseEvent* event)
+ { return SubTabBar::mouseMoveEvent(event); }
+
+ void call_mousePressEvent(QMouseEvent* event)
+ { return SubTabBar::mousePressEvent(event); }
+
+ void call_reloadAllTabs()
+ { return SubTabBar::reloadAllTabs(); }
+
+ void call_reloadTab(int index)
+ { return SubTabBar::reloadTab(index); }
+
+ QSize call_tabSizeHint(int index) const
+ { return SubTabBar::tabSizeHint(index); }
+
+ void call_showTabPreview(int tab)
+ { return SubTabBar::showTabPreview(tab); }
+};
+
+
+// This will be called before the first test function is executed.
+// It is only called once.
+void TabBarTest::initTestCase()
+{
+}
+
+
+// This will be called after the last test function is executed.
+// It is only called once.
+void TabBarTest::cleanupTestCase()
+{
+}
+
+
+// This will be called before each test function is executed.
+void TabBarTest::init()
+{
+}
+
+
+// This will be called after every test function.
+void TabBarTest::cleanup()
+{
+}
+
+
+void TabBarTest::tabbar_data()
+{
+}
+
+
+void TabBarTest::tabbar()
+{
+}
+
+
+void TabBarTest::tabSizeHint_data()
+{
+// QTest::addColumn<int>("index");
+// QTest::newRow("0") << 0;
+}
+
+
+// protected QSize tabSizeHint(int index) const
+void TabBarTest::tabSizeHint()
+{
+ // Need fixes as our function uses MainView methods to determine size
+// QFETCH(int, index);
+// SubTabBar bar;
+// QVERIFY(bar.call_tabSizeHint(index).width() <= 250);
+}
+
+
+QTEST_MAIN(TabBarTest)
+#include "tst_tabbar.moc"