WebKit/qt/tests/qgraphicswebview/tst_qgraphicswebview.cpp
changeset 2 303757a437d3
parent 0 4f2f89ce4247
--- a/WebKit/qt/tests/qgraphicswebview/tst_qgraphicswebview.cpp	Fri Sep 17 09:02:29 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,230 +0,0 @@
-/*
-    Copyright (C) 2009 Jakub Wieczorek <faw217@gmail.com>
-
-    This library is free software; you can redistribute it and/or
-    modify it under the terms of the GNU Library General Public
-    License as published by the Free Software Foundation; either
-    version 2 of the License, or (at your option) any later version.
-
-    This library 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
-    Library General Public License for more details.
-
-    You should have received a copy of the GNU Library General Public License
-    along with this library; see the file COPYING.LIB.  If not, write to
-    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-    Boston, MA 02110-1301, USA.
-*/
-
-#include "../util.h"
-#include <QtTest/QtTest>
-#include <QGraphicsSceneMouseEvent>
-#include <QGraphicsView>
-#include <qgraphicswebview.h>
-#include <qwebpage.h>
-#include <qwebframe.h>
-
-class tst_QGraphicsWebView : public QObject
-{
-    Q_OBJECT
-
-private slots:
-    void qgraphicswebview();
-    void crashOnViewlessWebPages();
-    void microFocusCoordinates();
-    void focusInputTypes();
-    void crashOnSetScaleBeforeSetUrl();
-};
-
-void tst_QGraphicsWebView::qgraphicswebview()
-{
-    QGraphicsWebView item;
-    item.url();
-    item.title();
-    item.icon();
-    item.zoomFactor();
-    item.history();
-    item.settings();
-    item.page();
-    item.setPage(0);
-    item.page();
-    item.setUrl(QUrl());
-    item.setZoomFactor(0);
-    item.load(QUrl());
-    item.setHtml(QString());
-    item.setContent(QByteArray());
-    item.isModified();
-}
-
-class WebPage : public QWebPage
-{
-    Q_OBJECT
-
-public:
-    WebPage(QObject* parent = 0): QWebPage(parent)
-    {
-    }
-
-    QGraphicsWebView* webView;
-
-private slots:
-    // Force a webview deletion during the load.
-    // It should not cause WebPage to crash due to
-    // it accessing invalid pageClient pointer.
-    void aborting()
-    {
-        delete webView;
-    }
-};
-
-class GraphicsWebView : public QGraphicsWebView
-{
-    Q_OBJECT
-
-public:
-    GraphicsWebView(QGraphicsItem* parent = 0): QGraphicsWebView(parent)
-    {
-    }
-
-    void fireMouseClick(QPointF point) {
-        QGraphicsSceneMouseEvent presEv(QEvent::GraphicsSceneMousePress);
-        presEv.setPos(point);
-        presEv.setButton(Qt::LeftButton);
-        presEv.setButtons(Qt::LeftButton);
-        QGraphicsSceneMouseEvent relEv(QEvent::GraphicsSceneMouseRelease);
-        relEv.setPos(point);
-        relEv.setButton(Qt::LeftButton);
-        relEv.setButtons(Qt::LeftButton);
-        QGraphicsWebView::sceneEvent(&presEv);
-        QGraphicsWebView::sceneEvent(&relEv);
-    }
-};
-
-void tst_QGraphicsWebView::crashOnViewlessWebPages()
-{
-    QGraphicsScene scene;
-    QGraphicsView view(&scene);
-
-    QGraphicsWebView* webView = new QGraphicsWebView;
-    WebPage* page = new WebPage;
-    webView->setPage(page);
-    page->webView = webView;
-    scene.addItem(webView);
-
-    view.setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
-    view.resize(600, 480);
-    webView->resize(view.geometry().size());
-
-    QCoreApplication::processEvents();
-    view.show();
-
-    // Resizing the page will resize and layout the empty "about:blank"
-    // page, so we first connect the signal afterward.
-    connect(page->mainFrame(), SIGNAL(initialLayoutCompleted()), page, SLOT(aborting()));
-
-    page->mainFrame()->setHtml(QString("data:text/html,"
-                                            "<frameset cols=\"25%,75%\">"
-                                                "<frame src=\"data:text/html,foo \">"
-                                                "<frame src=\"data:text/html,bar\">"
-                                            "</frameset>"));
-
-    QVERIFY(waitForSignal(page, SIGNAL(loadFinished(bool))));
-    delete page;
-}
-
-void tst_QGraphicsWebView::crashOnSetScaleBeforeSetUrl()
-{
-    QGraphicsWebView* webView = new QGraphicsWebView;
-    webView->setScale(2.0);
-    delete webView;
-}
-
-void tst_QGraphicsWebView::microFocusCoordinates()
-{
-    QWebPage* page = new QWebPage;
-    QGraphicsWebView* webView = new QGraphicsWebView;
-    webView->setPage( page );
-    QGraphicsView* view = new QGraphicsView;
-    QGraphicsScene* scene = new QGraphicsScene(view);
-    view->setScene(scene);
-    scene->addItem(webView);
-    view->setGeometry(QRect(0,0,500,500));
-
-    page->mainFrame()->setHtml("<html><body>" \
-        "<input type='text' id='input1' style='font--family: serif' value='' maxlength='20'/><br>" \
-        "<canvas id='canvas1' width='500' height='500'/>" \
-        "<input type='password'/><br>" \
-        "<canvas id='canvas2' width='500' height='500'/>" \
-        "</body></html>");
-
-    page->mainFrame()->setFocus();
-
-    QVariant initialMicroFocus = page->inputMethodQuery(Qt::ImMicroFocus);
-    QVERIFY(initialMicroFocus.isValid());
-
-    page->mainFrame()->scroll(0,300);
-
-    QVariant currentMicroFocus = page->inputMethodQuery(Qt::ImMicroFocus);
-    QVERIFY(currentMicroFocus.isValid());
-
-    QCOMPARE(initialMicroFocus.toRect().translated(QPoint(0,-300)), currentMicroFocus.toRect());
-
-    delete view;
-}
-
-void tst_QGraphicsWebView::focusInputTypes()
-{
-    QWebPage* page = new QWebPage;
-    GraphicsWebView* webView = new GraphicsWebView;
-    webView->setPage( page );
-    QGraphicsView* view = new QGraphicsView;
-    QGraphicsScene* scene = new QGraphicsScene(view);
-    view->setScene(scene);
-    scene->addItem(webView);
-    view->setGeometry(QRect(0,0,500,500));
-    QCoreApplication::processEvents();
-    QUrl url("qrc:///resources/input_types.html");
-    page->mainFrame()->load(url);
-    page->mainFrame()->setFocus();
-
-    QVERIFY(waitForSignal(page, SIGNAL(loadFinished(bool))));
-
-    // 'text' type
-    webView->fireMouseClick(QPointF(20.0, 10.0));
-#if defined(Q_WS_MAEMO_5) || defined(Q_WS_MAEMO_6) || defined(Q_OS_SYMBIAN)
-    QVERIFY(webView->inputMethodHints() & Qt::ImhNoAutoUppercase);
-    QVERIFY(webView->inputMethodHints() & Qt::ImhNoPredictiveText);
-#else
-    QVERIFY(webView->inputMethodHints() == Qt::ImhNone);
-#endif
-
-    // 'password' field
-    webView->fireMouseClick(QPointF(20.0, 60.0));
-    QVERIFY(webView->inputMethodHints() & Qt::ImhHiddenText);
-
-    // 'tel' field
-    webView->fireMouseClick(QPointF(20.0, 110.0));
-    QVERIFY(webView->inputMethodHints() & Qt::ImhDialableCharactersOnly);
-
-    // 'number' field
-    webView->fireMouseClick(QPointF(20.0, 160.0));
-    QVERIFY(webView->inputMethodHints() & Qt::ImhDigitsOnly);
-
-    // 'email' field
-    webView->fireMouseClick(QPointF(20.0, 210.0));
-    QVERIFY(webView->inputMethodHints() & Qt::ImhEmailCharactersOnly);
-
-    // 'url' field
-    webView->fireMouseClick(QPointF(20.0, 260.0));
-    QVERIFY(webView->inputMethodHints() & Qt::ImhUrlCharactersOnly);
-
-    delete webView;
-    delete view;
-}
-
-
-
-QTEST_MAIN(tst_QGraphicsWebView)
-
-#include "tst_qgraphicswebview.moc"