Test for moving a tab to the left, works.

svn path=/trunk/KDE/kdebase/apps/; revision=1125623
This commit is contained in:
David Faure 2010-05-11 20:47:53 +00:00
parent 01be99972f
commit 825a2c4633
3 changed files with 28 additions and 1 deletions

View file

@ -22,6 +22,7 @@
#define KONQ_FRAMEVISITOR_H
#include <QList>
#include "konqprivate_export.h"
class KonqFrameBase;
class KonqView;
@ -53,7 +54,7 @@ private:
/**
* Collects all views, recursively.
*/
class KonqViewCollector : public KonqFrameVisitor
class KONQ_TESTS_EXPORT KonqViewCollector : public KonqFrameVisitor
{
public:
static QList<KonqView *> collect(KonqFrameBase* topLevel);

View file

@ -790,4 +790,29 @@ void ViewMgrTest::testBreakOffTab()
delete mainWindow2;
}
void ViewMgrTest::moveTabLeft()
{
KonqMainWindow mainWindow;
mainWindow.openUrl(0, KUrl("data:text/html, <p>Hello World</p>"), "text/html");
KonqViewManager* viewManager = mainWindow.viewManager();
KonqView* view1 = viewManager->addTab("text/html");
KonqView* view2 = viewManager->addTab("text/html");
QCOMPARE( DebugFrameVisitor::inspect(&mainWindow), QString("MT[FFF].") ); // mainWindow, tab widget, 3 simple tabs
KTabWidget* tabWidget = mainWindow.findChild<KTabWidget*>();
tabWidget->setCurrentIndex(2);
view2->part()->widget()->setFocus();
//qDebug() << mainWindow.focusWidget() << view2->part()->widget()->focusWidget();
QCOMPARE(mainWindow.focusWidget(), view2->part()->widget()->focusWidget());
viewManager->moveTabBackward();
// Now we should have the views (tabs) in the order 0, 2, 1
QList<KonqView *> views = KonqViewCollector::collect(&mainWindow);
QCOMPARE(views[1], view2);
QCOMPARE(views[2], view1);
QCOMPARE(tabWidget->currentIndex(), 1);
QCOMPARE(mainWindow.currentView(), view2);
qDebug() << mainWindow.focusWidget() << view2->part()->widget()->focusWidget();
// the focus should stay with that view
QCOMPARE(mainWindow.focusWidget(), view2->part()->widget()->focusWidget());
}
#include "konqviewmgrtest.moc"

View file

@ -58,6 +58,7 @@ private Q_SLOTS:
void testBrowserArgumentsNewTab();
void testBreakOffTab();
void moveTabLeft();
static void sendAllPendingResizeEvents(QWidget*);