309
315
QCOMPARE(view2->url().url(), KUrl("data:text/html, Link target").url());
312
void ViewMgrTest::testAddTab()
318
static void openTabWithTitle(KonqMainWindow& mainWindow, const QString& title, KonqView*& view)
314
KonqMainWindow mainWindow;
315
320
KonqViewManager* viewManager = mainWindow.viewManager();
316
KonqView* view = viewManager->createFirstView( "KonqAboutPage", "konq_aboutpage" );
321
view = viewManager->addTab("text/html");
318
KonqView* viewTab2 = viewManager->addTab("text/html");
320
QCOMPARE( DebugFrameVisitor::inspect(&mainWindow), QString("MT[FF].") ); // mainWindow, tab widget, two tabs
321
QVERIFY(viewTab2->supportsMimeType("text/html"));
322
QVERIFY(!viewTab2->supportsMimeType("text/plain"));
323
QVERIFY(view->supportsMimeType("text/html"));
324
QVERIFY(!view->supportsMimeType("text/plain"));
323
325
// correct since it's a subclass of text/html, khtml can display it
324
QVERIFY(viewTab2->supportsMimeType("application/x-netscape-bookmarks"));
326
QVERIFY(view->supportsMimeType("application/x-netscape-bookmarks"));
328
view->openUrl(KUrl("data:text/html, <title>" + title.toUtf8() + "</title>"), QString("http://loc.bar.url"));
329
QVERIFY(QTest::kWaitForSignal(view, SIGNAL(viewCompleted(KonqView*)), 10000));
330
QCOMPARE(view->caption(), title);
331
QCOMPARE(view->locationBarURL(), QString("http://loc.bar.url"));
334
void ViewMgrTest::testAddTabs()
336
KonqMainWindow mainWindow;
337
KonqViewManager* viewManager = mainWindow.viewManager();
339
KonqView* view = viewManager->createFirstView( "KonqAboutPage", "konq_aboutpage" );
342
// The testcase was "konqueror www.kde.org www.google.fr bugs.kde.org www.cuil.com www.davidfaure.fr"
343
titles << "K Desktop Environment - Be free"
345
<< "KDE Bug Tracking System"
347
<< "http://www.davidfaure.fr/";
348
view->setCaption(titles[0]);
350
KTabWidget* tabWidget = mainWindow.findChild<KTabWidget*>();
352
KonqView* viewTab2, *viewTab3, *viewTab4, *viewTab5;
353
openTabWithTitle(mainWindow, titles[1], viewTab2);
354
openTabWithTitle(mainWindow, titles[2], viewTab3);
355
openTabWithTitle(mainWindow, titles[3], viewTab4);
356
openTabWithTitle(mainWindow, titles[4], viewTab5);
357
for (int i = 0; i < titles.count(); ++i)
358
QCOMPARE(tabWidget->tabText(i), QString(titles[i]));
360
// Ensure tabwidget has a nice size
361
mainWindow.resize(599, 699);
362
sendAllPendingResizeEvents( &mainWindow );
364
// Remove active tab (#170470)
365
tabWidget->setCurrentIndex(2);
366
KonqFrameBase* frame = dynamic_cast<KonqFrameBase*>(viewManager->tabContainer()->currentWidget());
368
viewManager->removeTab(frame);
369
QList<int> expectedTitles; expectedTitles << 0 << 1 << 3 << 4;
370
for (int i = 0; i < expectedTitles.count(); ++i)
371
QCOMPARE(tabWidget->tabText(i), titles[expectedTitles[i]]);
372
for (int i = 0; i < expectedTitles.count(); ++i)
373
QCOMPARE(tabWidget->QTabWidget::tabText(i).left(10), titles[expectedTitles[i]].left(10));
375
tabWidget->removeTab(0);
376
expectedTitles.removeAt(0);
377
for (int i = 0; i < expectedTitles.count(); ++i)
378
QCOMPARE(tabWidget->tabText(i), QString(titles[expectedTitles[i]]));
327
381
void ViewMgrTest::testDuplicateTab()