1643ca7872b450ea4efacab6188849e5aac2ba161Steve Block/*
2643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies)
3643ca7872b450ea4efacab6188849e5aac2ba161Steve Block
4643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    This library is free software; you can redistribute it and/or
5643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    modify it under the terms of the GNU Library General Public
6643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    License as published by the Free Software Foundation; either
7643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    version 2 of the License, or (at your option) any later version.
8643ca7872b450ea4efacab6188849e5aac2ba161Steve Block
9643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    This library is distributed in the hope that it will be useful,
10643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    but WITHOUT ANY WARRANTY; without even the implied warranty of
11643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    Library General Public License for more details.
13643ca7872b450ea4efacab6188849e5aac2ba161Steve Block
14643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    You should have received a copy of the GNU Library General Public License
15643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    along with this library; see the file COPYING.LIB.  If not, write to
16643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    Boston, MA 02110-1301, USA.
18643ca7872b450ea4efacab6188849e5aac2ba161Steve Block*/
19643ca7872b450ea4efacab6188849e5aac2ba161Steve Block
20643ca7872b450ea4efacab6188849e5aac2ba161Steve Block#include <QtTest/QtTest>
21643ca7872b450ea4efacab6188849e5aac2ba161Steve Block
22643ca7872b450ea4efacab6188849e5aac2ba161Steve Block#include <qdir.h>
23643ca7872b450ea4efacab6188849e5aac2ba161Steve Block#include <qwebinspector.h>
24643ca7872b450ea4efacab6188849e5aac2ba161Steve Block#include <qwebpage.h>
25643ca7872b450ea4efacab6188849e5aac2ba161Steve Block#include <qwebsettings.h>
26643ca7872b450ea4efacab6188849e5aac2ba161Steve Block
27643ca7872b450ea4efacab6188849e5aac2ba161Steve Blockclass tst_QWebInspector : public QObject {
28643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    Q_OBJECT
29643ca7872b450ea4efacab6188849e5aac2ba161Steve Block
30643ca7872b450ea4efacab6188849e5aac2ba161Steve Blockprivate slots:
31643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    void attachAndDestroy();
32643ca7872b450ea4efacab6188849e5aac2ba161Steve Block};
33643ca7872b450ea4efacab6188849e5aac2ba161Steve Block
34643ca7872b450ea4efacab6188849e5aac2ba161Steve Blockvoid tst_QWebInspector::attachAndDestroy()
35643ca7872b450ea4efacab6188849e5aac2ba161Steve Block{
36643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    {   // External inspector + manual destruction of page first
37643ca7872b450ea4efacab6188849e5aac2ba161Steve Block        QWebPage* page = new QWebPage();
38643ca7872b450ea4efacab6188849e5aac2ba161Steve Block        page->settings()->setAttribute(QWebSettings::DeveloperExtrasEnabled, true);
39643ca7872b450ea4efacab6188849e5aac2ba161Steve Block        QWebInspector* inspector = new QWebInspector();
40643ca7872b450ea4efacab6188849e5aac2ba161Steve Block        inspector->setPage(page);
41643ca7872b450ea4efacab6188849e5aac2ba161Steve Block        page->updatePositionDependentActions(QPoint(0, 0));
42643ca7872b450ea4efacab6188849e5aac2ba161Steve Block        page->triggerAction(QWebPage::InspectElement);
43643ca7872b450ea4efacab6188849e5aac2ba161Steve Block
44643ca7872b450ea4efacab6188849e5aac2ba161Steve Block        delete page;
45643ca7872b450ea4efacab6188849e5aac2ba161Steve Block        delete inspector;
46643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    }
47643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    {   // External inspector + manual destruction of inspector first
48643ca7872b450ea4efacab6188849e5aac2ba161Steve Block        QWebPage* page = new QWebPage();
49643ca7872b450ea4efacab6188849e5aac2ba161Steve Block        page->settings()->setAttribute(QWebSettings::DeveloperExtrasEnabled, true);
50643ca7872b450ea4efacab6188849e5aac2ba161Steve Block        QWebInspector* inspector = new QWebInspector();
51643ca7872b450ea4efacab6188849e5aac2ba161Steve Block        inspector->setPage(page);
52643ca7872b450ea4efacab6188849e5aac2ba161Steve Block        page->updatePositionDependentActions(QPoint(0, 0));
53643ca7872b450ea4efacab6188849e5aac2ba161Steve Block        page->triggerAction(QWebPage::InspectElement);
54643ca7872b450ea4efacab6188849e5aac2ba161Steve Block
55643ca7872b450ea4efacab6188849e5aac2ba161Steve Block        delete inspector;
56643ca7872b450ea4efacab6188849e5aac2ba161Steve Block        delete page;
57643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    }
58643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    {   // Internal inspector
59643ca7872b450ea4efacab6188849e5aac2ba161Steve Block        QWebPage page;
60643ca7872b450ea4efacab6188849e5aac2ba161Steve Block        page.settings()->setAttribute(QWebSettings::DeveloperExtrasEnabled, true);
61643ca7872b450ea4efacab6188849e5aac2ba161Steve Block        page.updatePositionDependentActions(QPoint(0, 0));
62643ca7872b450ea4efacab6188849e5aac2ba161Steve Block        page.triggerAction(QWebPage::InspectElement);
63643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    }
64643ca7872b450ea4efacab6188849e5aac2ba161Steve Block}
65643ca7872b450ea4efacab6188849e5aac2ba161Steve Block
66643ca7872b450ea4efacab6188849e5aac2ba161Steve BlockQTEST_MAIN(tst_QWebInspector)
67643ca7872b450ea4efacab6188849e5aac2ba161Steve Block
68643ca7872b450ea4efacab6188849e5aac2ba161Steve Block#include "tst_qwebinspector.moc"
69