diff options
author | Andrea Diamantini <adjam7@gmail.com> | 2009-11-05 10:40:13 +0100 |
---|---|---|
committer | Andrea Diamantini <adjam7@gmail.com> | 2009-11-05 10:40:13 +0100 |
commit | f2a846d56cea2f33e85e52f9c99a3c73c2195feb (patch) | |
tree | c285492a0c552f7d52320aad368868f21e6dc189 | |
parent | Merge commit 'refs/merge-requests/1986' of git://gitorious.org/rekonq/mainlin... (diff) | |
parent | Trivial MainView Test (diff) | |
download | rekonq-f2a846d56cea2f33e85e52f9c99a3c73c2195feb.tar.xz |
Merge branch 'AutoTests'
-rw-r--r-- | src/CMakeLists.txt | 19 | ||||
-rw-r--r-- | src/application.cpp | 2 | ||||
-rw-r--r-- | src/main.cpp | 2 | ||||
-rw-r--r-- | src/mainview.cpp | 3 | ||||
-rw-r--r-- | src/mainview.h | 3 | ||||
-rw-r--r-- | src/rekonqprivate_export.h | 43 | ||||
-rw-r--r-- | src/tabbar.h | 3 | ||||
-rw-r--r-- | src/tests/CMakeLists.txt | 32 | ||||
-rw-r--r-- | src/tests/mainview_test.cpp | 443 | ||||
-rw-r--r-- | src/tests/tabbar_test.cpp | 140 | ||||
-rw-r--r-- | src/urlbar.cpp | 3 |
11 files changed, 679 insertions, 14 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 279d9519..5bd41b25 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,6 +1,11 @@ +### ------- tests sub dir ------- + +ADD_SUBDIRECTORY( tests ) + + ### ------- SETTING REKONQ FILES.. -SET( rekonq_SRCS +SET( rekonq_KDEINIT_SRCS homepage.cpp previewimage.cpp websnap.cpp @@ -18,8 +23,7 @@ SET( rekonq_SRCS urlbar.cpp findbar.cpp settings.cpp - webview.cpp - main.cpp + webview.cpp sidepanel.cpp panelhistory.cpp lineedit.cpp @@ -29,7 +33,7 @@ SET( rekonq_SRCS ) -KDE4_ADD_UI_FILES( rekonq_SRCS +KDE4_ADD_UI_FILES( rekonq_KDEINIT_SRCS settings_general.ui settings_tabs.ui settings_fonts.ui @@ -37,7 +41,7 @@ KDE4_ADD_UI_FILES( rekonq_SRCS cleardata.ui ) -KDE4_ADD_KCFG_FILES( rekonq_SRCS rekonq.kcfgc ) +KDE4_ADD_KCFG_FILES( rekonq_KDEINIT_SRCS rekonq.kcfgc ) ### ------------- INCLUDING DIRECTORIES... @@ -55,12 +59,12 @@ ADD_DEFINITIONS ( ${KDE4_DEFINITIONS} ) ### --------------- ADDING EXECUTABLE... -KDE4_ADD_EXECUTABLE( rekonq ${rekonq_SRCS} ) +KDE4_ADD_KDEINIT_EXECUTABLE( rekonq ${rekonq_KDEINIT_SRCS} main.cpp ) ### --------------- TARGETTING LINK LIBRARIES... -TARGET_LINK_LIBRARIES ( rekonq +TARGET_LINK_LIBRARIES ( kdeinit_rekonq ${QT_LIBRARIES} ${QT_QTNETWORK_LIBRARY} ${QT_QTWEBKIT_LIBRARY} @@ -74,4 +78,5 @@ TARGET_LINK_LIBRARIES ( rekonq ### ------------ INSTALL FILES... INSTALL( TARGETS rekonq ${INSTALL_TARGETS_DEFAULT_ARGS} ) +INSTALL( TARGETS kdeinit_rekonq ${INSTALL_TARGETS_DEFAULT_ARGS} ) INSTALL( FILES rekonq.kcfg DESTINATION ${KCFG_INSTALL_DIR} ) 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/main.cpp b/src/main.cpp index c874debd..c0e4b70d 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -41,7 +41,7 @@ static const char description[] = I18N_NOOP("A lightweight Web Browser for KDE based on WebKit"); -int main(int argc, char **argv) +extern "C" KDE_EXPORT int kdemain( int argc, char **argv ) { KAboutData about("rekonq", 0, 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/rekonqprivate_export.h b/src/rekonqprivate_export.h new file mode 100644 index 00000000..8f996a1f --- /dev/null +++ b/src/rekonqprivate_export.h @@ -0,0 +1,43 @@ +/* ============================================================ +* +* This file is a part of the rekonq project +* +* Copyright (C) 2007 David Faure <faure@kde.org> +* Copyright (C) 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/>. +* +* ============================================================ */ + + +#ifndef REKONQPRIVATE_EXPORT_H +#define REKONQPRIVATE_EXPORT_H + +/* needed for KDE_EXPORT and KDE_IMPORT macros */ +#include <kdemacros.h> + +/* Classes from the rekonq application, which are exported only for unit tests */ +#ifndef REKONQ_TESTS_EXPORT + /* We are building this library */ + #define REKONQ_TESTS_EXPORT KDE_EXPORT +#else + /* We are using this library */ + #define REKONQ_TESTS_EXPORT KDE_IMPORT +#endif + +#endif // REKONQPRIVATE_EXPORT_H diff --git a/src/tabbar.h b/src/tabbar.h index 1601b3b6..fcb04d28 100644 --- a/src/tabbar.h +++ b/src/tabbar.h @@ -32,6 +32,7 @@ // Local Includes +#include "rekonqprivate_export.h" #include "mainview.h" // Qt Includes @@ -53,7 +54,7 @@ class KPassivePopup; * a context menu and shortcuts * */ -class TabBar : public KTabBar +class REKONQ_TESTS_EXPORT TabBar : public KTabBar { Q_OBJECT diff --git a/src/tests/CMakeLists.txt b/src/tests/CMakeLists.txt new file mode 100644 index 00000000..5df23e24 --- /dev/null +++ b/src/tests/CMakeLists.txt @@ -0,0 +1,32 @@ +##### ---------- 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 tabbar_test.cpp ) + +target_link_libraries( tabbar_test + kdeinit_rekonq + ${KDE4_KDECORE_LIBS} + ${KDE4_KDEUI_LIBS} + ${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 new file mode 100644 index 00000000..08f295d1 --- /dev/null +++ b/src/tests/tabbar_test.cpp @@ -0,0 +1,140 @@ +/* + * 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 <qtest_kde.h> + +#include <QtTest> +#include <QtCore> +#include <QtGui> + +#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() +{ + SubTabBar widget; +} + +// ------------------------------------------- + +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_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&))); } |