summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrea Diamantini <adjam7@gmail.com>2009-11-03 16:19:53 +0100
committerAndrea Diamantini <adjam7@gmail.com>2009-11-03 16:19:53 +0100
commite34963f2365d6352b8d1bc0761697cc0df5dd5ff (patch)
tree0888f25651088fb00d4a84c7bf5c64278df9c20e
parentFinally... unit tests!! (diff)
downloadrekonq-e34963f2365d6352b8d1bc0761697cc0df5dd5ff.tar.xz
Trivial MainView Test
and now we have two.. :)
-rw-r--r--src/application.cpp2
-rw-r--r--src/mainview.cpp3
-rw-r--r--src/mainview.h3
-rw-r--r--src/tests/CMakeLists.txt22
-rw-r--r--src/tests/mainview_test.cpp443
-rw-r--r--src/tests/tabbar_test.cpp17
-rw-r--r--src/urlbar.cpp3
7 files changed, 477 insertions, 16 deletions
diff --git a/src/application.cpp b/src/application.cpp
index 634e068f..8e65b394 100644
--- a/src/application.cpp
+++ b/src/application.cpp
@@ -172,7 +172,7 @@ int Application::newInstance()
Application *Application::instance()
{
- return (static_cast<Application *>(QCoreApplication::instance()));
+ return (qobject_cast<Application *>(QCoreApplication::instance()));
}
diff --git a/src/mainview.cpp b/src/mainview.cpp
index 04ede24c..c4b0cfc2 100644
--- a/src/mainview.cpp
+++ b/src/mainview.cpp
@@ -91,9 +91,6 @@ MainView::MainView(QWidget *parent)
connect(m_tabBar, SIGNAL(reloadAllTabs()), this, SLOT(slotReloadAllTabs()));
connect(m_tabBar, SIGNAL(tabCloseRequested(int)), this, SLOT(slotCloseTab(int)));
-
- // connecting urlbar signals
- connect(urlBar(), SIGNAL(activated(const KUrl&)), Application::instance(), SLOT(loadUrl(const KUrl&)));
// current page index changing
connect(this, SIGNAL(currentChanged(int)), this, SLOT(slotCurrentChanged(int)));
diff --git a/src/mainview.h b/src/mainview.h
index f0fe183d..dc0393fa 100644
--- a/src/mainview.h
+++ b/src/mainview.h
@@ -31,6 +31,7 @@
// Local Includes
+#include "rekonqprivate_export.h"
#include "webview.h"
#include "webpage.h"
#include "application.h"
@@ -58,7 +59,7 @@ class UrlBar;
*
*/
-class MainView : public KTabWidget
+class REKONQ_TESTS_EXPORT MainView : public KTabWidget
{
Q_OBJECT
diff --git a/src/tests/CMakeLists.txt b/src/tests/CMakeLists.txt
index 9963acd4..5df23e24 100644
--- a/src/tests/CMakeLists.txt
+++ b/src/tests/CMakeLists.txt
@@ -1,4 +1,4 @@
-### ---------- General Settings -------
+##### ---------- General Settings ----------
SET( EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR} )
@@ -7,16 +7,26 @@ INCLUDE_DIRECTORIES ( ${CMAKE_CURRENT_BINARY_DIR}/..
${QT4_INCLUDES}
)
-##### -------------tabbar test
+##### ------------- tabbar test
+
+kde4_add_unit_test( tabbar_test tabbar_test.cpp )
-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}
)
-# --------------
+##### ------------- mainview test
+
+kde4_add_unit_test( mainview_test mainview_test.cpp )
+
+target_link_libraries( mainview_test
+ kdeinit_rekonq
+ ${KDE4_KDECORE_LIBS}
+ ${KDE4_KDEUI_LIBS}
+ ${QT_QTTEST_LIBRARY}
+)
+
+############################################################
diff --git a/src/tests/mainview_test.cpp b/src/tests/mainview_test.cpp
new file mode 100644
index 00000000..f56d73ab
--- /dev/null
+++ b/src/tests/mainview_test.cpp
@@ -0,0 +1,443 @@
+/* ============================================================
+*
+* This file is a part of the rekonq project
+*
+* Copyright 2008 Benjamin C. Meyer <ben@meyerhome.net>
+* Copyright 2009 by Andrea Diamantini <adjam7 at gmail dot 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) version 3 or any later version
+* accepted by the membership of KDE e.V. (or its successor approved
+* by the membership of KDE e.V.), which shall act as a proxy
+* defined in Section 14 of version 3 of the license.
+*
+* 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, see <http://www.gnu.org/licenses/>.
+*
+* ============================================================ */
+
+
+#include <qtest_kde.h>
+
+#include <QtTest>
+#include <QtCore>
+#include <QtGui>
+
+#include "../mainview.h"
+#include "../webview.h"
+
+
+class MainViewTest : public QObject
+{
+ Q_OBJECT
+
+public slots:
+ void initTestCase();
+ void cleanupTestCase();
+ void init();
+ void cleanup();
+
+private slots:
+ void tabwidget_data();
+ void tabwidget();
+
+ void closeTab_data();
+ void closeTab();
+
+ void currentWebView_data();
+ void currentWebView();
+
+ void newTab_data();
+ void newTab();
+
+ void nextTab_data();
+ void nextTab();
+
+ void previousTab_data();
+ void previousTab();
+
+ void recentlyClosedTabs_data();
+ void recentlyClosedTabs();
+
+ void setCurrentTitle_data();
+ void setCurrentTitle(const QString &);
+
+ void showStatusBarMessage_data();
+ void showStatusBarMessage(const QString &);
+
+ void currentChanged_data();
+ void currentChanged();
+};
+
+
+// Subclass that exposes the protected functions.
+class SubMainView : public MainView
+{
+public:
+ void call_resizeEvent(QResizeEvent *event)
+ { return SubMainView::resizeEvent(event); }
+};
+
+
+// This will be called before the first test function is executed.
+// It is only called once.
+void MainViewTest::initTestCase()
+{
+}
+
+// This will be called after the last test function is executed.
+// It is only called once.
+void MainViewTest::cleanupTestCase()
+{
+}
+
+// This will be called before each test function is executed.
+void MainViewTest::init()
+{
+}
+
+// This will be called after every test function.
+void MainViewTest::cleanup()
+{
+}
+
+// -------------------------------------------
+
+void MainViewTest::tabwidget_data()
+{
+}
+
+void MainViewTest::tabwidget()
+{
+ SubMainView widget;
+// widget.currentWebView();
+// QCOMPARE(widget.currentIndex(), 0);
+// widget.newTab();
+// widget.nextTab();
+// QCOMPARE(widget.currentIndex(), 1);
+// widget.previousTab();
+// QCOMPARE(widget.currentIndex(), 0);
+}
+
+// -------------------------------------------
+
+void MainViewTest::closeTab_data()
+{
+ QTest::addColumn<int>("index");
+ QTest::newRow("null") << 0;
+}
+
+// public void closeTab(int index = -1)
+void MainViewTest::closeTab()
+{
+ QFETCH(int, index);
+
+ SubMainView widget;
+/*
+ QSignalSpy spy0(&widget, SIGNAL(linkHovered(const QString &)));
+ QSignalSpy spy3(&widget, SIGNAL(setCurrentTitle(const QString &)));
+QSignalSpy spy5(&widget, SIGNAL(tabsChanged()));
+ QSignalSpy spy6(&widget, SIGNAL(lastTabClosed()));
+
+ widget.newTab();
+ widget.slotCloseTab(index);
+ widget.newTab();
+ widget.slotCloseTab(index);
+ widget.newTab();
+
+ QCOMPARE(spy0.count(), 0);
+ QCOMPARE(spy3.count(), 2);
+ QCOMPARE(spy5.count(), 0);
+ QCOMPARE(spy6.count(), 0);*/
+}
+
+// -------------------------------------------
+
+Q_DECLARE_METATYPE(WebView*)
+void MainViewTest::currentWebView_data()
+{
+ /*
+ QTest::addColumn<WebView*>("currentWebView");
+ QTest::newRow("null") << WebView*();
+ */
+}
+
+// public WebView *currentWebView() const
+void MainViewTest::currentWebView()
+{
+ /*
+ QFETCH(WebView*, currentWebView);
+
+ SubMainView widget;
+
+ QSignalSpy spy0(&widget, SIGNAL(linkHovered(const QString &)));
+ QSignalSpy spy2(&widget, SIGNAL(loadProgress(int)));
+ QSignalSpy spy3(&widget, SIGNAL(setCurrentTitle(const QString &)));
+ QSignalSpy spy4(&widget, SIGNAL(showStatusBarMessage(const QString &)));
+ QSignalSpy spy5(&widget, SIGNAL(tabsChanged()));
+ QSignalSpy spy6(&widget, SIGNAL(lastTabClosed()));
+
+ QCOMPARE(widget.currentWebView(), currentWebView);
+
+ QCOMPARE(spy0.count(), 0);
+ QCOMPARE(spy2.count(), 0);
+ QCOMPARE(spy3.count(), 0);
+ QCOMPARE(spy4.count(), 0);
+ QCOMPARE(spy5.count(), 0);
+ QCOMPARE(spy6.count(), 0);
+ */
+ QSKIP("Test is not implemented.", SkipAll);
+}
+
+// -------------------------------------------
+
+void MainViewTest::newTab_data()
+{
+ QTest::addColumn<int>("foo");
+ QTest::newRow("null") << 0;
+}
+
+// public void newTab()
+void MainViewTest::newTab()
+{
+ /*
+ QFETCH(int, foo);
+
+ SubMainView widget;
+
+ QSignalSpy spy0(&widget, SIGNAL(linkHovered(const QString &)));
+ QSignalSpy spy2(&widget, SIGNAL(loadProgress(int)));
+ QSignalSpy spy3(&widget, SIGNAL(setCurrentTitle(const QString &)));
+ QSignalSpy spy4(&widget, SIGNAL(showStatusBarMessage(const QString &)));
+ QSignalSpy spy5(&widget, SIGNAL(tabsChanged()));
+ QSignalSpy spy6(&widget, SIGNAL(lastTabClosed()));
+
+ widget.newTab();
+
+ QCOMPARE(spy0.count(), 0);
+ QCOMPARE(spy2.count(), 0);
+ QCOMPARE(spy3.count(), 0);
+ QCOMPARE(spy4.count(), 0);
+ QCOMPARE(spy5.count(), 0);
+ QCOMPARE(spy6.count(), 0);
+ */
+ QSKIP("Test is not implemented.", SkipAll);
+}
+
+// -------------------------------------------
+
+void MainViewTest::nextTab_data()
+{
+ QTest::addColumn<int>("foo");
+ QTest::newRow("null") << 0;
+}
+
+// public void nextTab()
+void MainViewTest::nextTab()
+{
+ /*
+ QFETCH(int, foo);
+
+ SubMainView widget;
+
+ QSignalSpy spy0(&widget, SIGNAL(linkHovered(const QString &)));
+ QSignalSpy spy2(&widget, SIGNAL(loadProgress(int)));
+ QSignalSpy spy3(&widget, SIGNAL(setCurrentTitle(const QString &)));
+ QSignalSpy spy4(&widget, SIGNAL(showStatusBarMessage(const QString &)));
+ QSignalSpy spy5(&widget, SIGNAL(tabsChanged()));
+ QSignalSpy spy6(&widget, SIGNAL(lastTabClosed()));
+
+ widget.nextTab();
+
+ QCOMPARE(spy0.count(), 0);
+ QCOMPARE(spy2.count(), 0);
+ QCOMPARE(spy3.count(), 0);
+ QCOMPARE(spy4.count(), 0);
+ QCOMPARE(spy5.count(), 0);
+ QCOMPARE(spy6.count(), 0);
+ */
+ QSKIP("Test is not implemented.", SkipAll);
+}
+
+// -------------------------------------------
+
+void MainViewTest::previousTab_data()
+{
+ QTest::addColumn<int>("foo");
+ QTest::newRow("null") << 0;
+}
+
+
+// public void previousTab()
+void MainViewTest::previousTab()
+{
+ /*
+ QFETCH(int, foo);
+
+ SubMainView widget;
+
+ QSignalSpy spy0(&widget, SIGNAL(linkHovered(const QString &)));
+ QSignalSpy spy2(&widget, SIGNAL(loadProgress(int)));
+ QSignalSpy spy3(&widget, SIGNAL(setCurrentTitle(const QString &)));
+ QSignalSpy spy4(&widget, SIGNAL(showStatusBarMessage(const QString &)));
+ QSignalSpy spy5(&widget, SIGNAL(tabsChanged()));
+ QSignalSpy spy6(&widget, SIGNAL(lastTabClosed()));
+
+ widget.previousTab();
+
+ QCOMPARE(spy0.count(), 0);
+ QCOMPARE(spy2.count(), 0);
+ QCOMPARE(spy3.count(), 0);
+ QCOMPARE(spy4.count(), 0);
+ QCOMPARE(spy5.count(), 0);
+ QCOMPARE(spy6.count(), 0);
+ */
+ QSKIP("Test is not implemented.", SkipAll);
+}
+
+// -------------------------------------------
+
+void MainViewTest::recentlyClosedTabs_data()
+{
+}
+
+void MainViewTest::recentlyClosedTabs()
+{
+ /*
+ SubMainView widget;
+
+ QSignalSpy spy0(&widget, SIGNAL(linkHovered(const QString &)));
+ QSignalSpy spy2(&widget, SIGNAL(loadProgress(int)));
+ QSignalSpy spy3(&widget, SIGNAL(setCurrentTitle(const QString &)));
+ QSignalSpy spy4(&widget, SIGNAL(showStatusBarMessage(const QString &)));
+ QSignalSpy spy5(&widget, SIGNAL(tabsChanged()));
+ QSignalSpy spy6(&widget, SIGNAL(lastTabClosed()));
+
+ QCOMPARE(spy0.count(), 0);
+ QCOMPARE(spy2.count(), 0);
+ QCOMPARE(spy3.count(), 0);
+ QCOMPARE(spy4.count(), 0);
+ QCOMPARE(spy5.count(), 0);
+ QCOMPARE(spy6.count(), 0);
+ */
+ QSKIP("Test is not implemented.", SkipAll);
+}
+
+// -------------------------------------------
+
+void MainViewTest::setCurrentTitle_data()
+{
+ QTest::addColumn<QString>("url");
+ QTest::newRow("null") << QString("foo");
+}
+
+// protected void setCurrentTitle(QString const &url)
+void MainViewTest::setCurrentTitle(const QString &)
+{
+ /*
+ QFETCH(QString, url);
+
+ SubMainView widget;
+
+ QSignalSpy spy0(&widget, SIGNAL(linkHovered(const QString &)));
+ QSignalSpy spy2(&widget, SIGNAL(loadProgress(int)));
+ QSignalSpy spy3(&widget, SIGNAL(setCurrentTitle(const QString &)));
+ QSignalSpy spy4(&widget, SIGNAL(showStatusBarMessage(const QString &)));
+ QSignalSpy spy5(&widget, SIGNAL(tabsChanged()));
+ QSignalSpy spy6(&widget, SIGNAL(lastTabClosed()));
+
+ widget.call_setCurrentTitle(url);
+
+ QCOMPARE(spy0.count(), 0);
+ QCOMPARE(spy2.count(), 0);
+ QCOMPARE(spy3.count(), 0);
+ QCOMPARE(spy4.count(), 0);
+ QCOMPARE(spy5.count(), 0);
+ QCOMPARE(spy6.count(), 0);
+ */
+ QSKIP("Test is not implemented.", SkipAll);
+}
+
+// -------------------------------------------
+
+void MainViewTest::showStatusBarMessage_data()
+{
+ QTest::addColumn<QString>("message");
+ QTest::newRow("null") << QString("foo");
+}
+
+// protected void showStatusBarMessage(QString const &message)
+void MainViewTest::showStatusBarMessage(const QString &)
+{
+ /*
+ QFETCH(QString, message);
+
+ SubMainView widget;
+
+ QSignalSpy spy0(&widget, SIGNAL(linkHovered(const QString &)));
+ QSignalSpy spy2(&widget, SIGNAL(loadProgress(int)));
+ QSignalSpy spy3(&widget, SIGNAL(setCurrentTitle(const QString &)));
+ QSignalSpy spy4(&widget, SIGNAL(showStatusBarMessage(const QString &)));
+ QSignalSpy spy5(&widget, SIGNAL(tabsChanged()));
+ QSignalSpy spy6(&widget, SIGNAL(lastTabClosed()));
+
+ widget.call_showStatusBarMessage(message);
+
+ QCOMPARE(spy0.count(), 0);
+ QCOMPARE(spy2.count(), 0);
+ QCOMPARE(spy3.count(), 0);
+ QCOMPARE(spy4.count(), 0);
+ QCOMPARE(spy5.count(), 0);
+ QCOMPARE(spy6.count(), 0);
+ */
+ QSKIP("Test is not implemented.", SkipAll);
+}
+
+// -------------------------------------------
+
+// void slotCurrentChanged(int index);
+void MainViewTest::currentChanged_data()
+{
+ QTest::addColumn<int>("foo");
+ QTest::newRow("null") << 0;
+}
+
+// private slotCurrentChanged
+void MainViewTest::currentChanged()
+{
+ /*
+ QFETCH(int, foo);
+
+ SubMainView widget;
+
+ QSignalSpy spy0(&widget, SIGNAL(linkHovered(const QString &)));
+ QSignalSpy spy2(&widget, SIGNAL(loadProgress(int)));
+ QSignalSpy spy3(&widget, SIGNAL(setCurrentTitle(const QString &)));
+ QSignalSpy spy4(&widget, SIGNAL(showStatusBarMessage(const QString &)));
+ QSignalSpy spy5(&widget, SIGNAL(tabsChanged()));
+ QSignalSpy spy6(&widget, SIGNAL(lastTabClosed()));
+
+ widget.call_tabsChanged();
+
+ QCOMPARE(spy0.count(), 0);
+ QCOMPARE(spy2.count(), 0);
+ QCOMPARE(spy3.count(), 0);
+ QCOMPARE(spy4.count(), 0);
+ QCOMPARE(spy5.count(), 0);
+ QCOMPARE(spy6.count(), 0);
+ */
+ QSKIP("Test is not implemented.", SkipAll);
+}
+
+// -------------------------------------------
+
+QTEST_KDEMAIN(MainViewTest, GUI)
+#include "mainview_test.moc"
diff --git a/src/tests/tabbar_test.cpp b/src/tests/tabbar_test.cpp
index 7b40c487..08f295d1 100644
--- a/src/tests/tabbar_test.cpp
+++ b/src/tests/tabbar_test.cpp
@@ -18,8 +18,11 @@
* Boston, MA 02110-1301 USA
*/
-#include <QtGui/QtGui>
-#include <QtTest/QtTest>
+#include <qtest_kde.h>
+
+#include <QtTest>
+#include <QtCore>
+#include <QtGui>
#include "../tabbar.h"
@@ -101,6 +104,7 @@ void TabBarTest::cleanup()
{
}
+// -------------------------------------------
void TabBarTest::tabbar_data()
{
@@ -109,8 +113,10 @@ void TabBarTest::tabbar_data()
void TabBarTest::tabbar()
{
+ SubTabBar widget;
}
+// -------------------------------------------
void TabBarTest::tabSizeHint_data()
{
@@ -127,7 +133,8 @@ void TabBarTest::tabSizeHint()
// SubTabBar bar;
// QVERIFY(bar.call_tabSizeHint(index).width() <= 250);
}
+
+// -------------------------------------------
-
-QTEST_MAIN(TabBarTest)
-#include "tst_tabbar.moc"
+QTEST_KDEMAIN(TabBarTest, GUI)
+#include "tabbar_test.moc"
diff --git a/src/urlbar.cpp b/src/urlbar.cpp
index d587fd80..81185409 100644
--- a/src/urlbar.cpp
+++ b/src/urlbar.cpp
@@ -81,6 +81,9 @@ UrlBar::UrlBar(QWidget *parent)
QPalette p = view()->palette();
p.setColor(QPalette::Base, palette().color(QPalette::Base));
view()->setPalette(p);
+
+ // load urls on activated urlbar signal
+ connect(this, SIGNAL(activated(const KUrl&)), Application::instance(), SLOT(loadUrl(const KUrl&)));
}