From 50d0f97812352d478f7fa060bf8eb6e42b292e03 Mon Sep 17 00:00:00 2001 From: Anmol Gautam Date: Tue, 22 May 2018 11:30:04 +0530 Subject: [PATCH] Added tests for TopSites API --- autotests/CMakeLists.txt | 1 + autotests/qml/qmltopsitesapitest.cpp | 45 ++++++++++++++++++++++++++++ autotests/qml/qmltopsitesapitest.h | 35 ++++++++++++++++++++++ 3 files changed, 81 insertions(+) create mode 100644 autotests/qml/qmltopsitesapitest.cpp create mode 100644 autotests/qml/qmltopsitesapitest.h diff --git a/autotests/CMakeLists.txt b/autotests/CMakeLists.txt index d1155650a..e2c54a887 100644 --- a/autotests/CMakeLists.txt +++ b/autotests/CMakeLists.txt @@ -55,4 +55,5 @@ endmacro() falkon_qml_tests( qmlbookmarksapitest + qmltopsitesapitest ) diff --git a/autotests/qml/qmltopsitesapitest.cpp b/autotests/qml/qmltopsitesapitest.cpp new file mode 100644 index 000000000..6123ce896 --- /dev/null +++ b/autotests/qml/qmltopsitesapitest.cpp @@ -0,0 +1,45 @@ +/* ============================================================ +* Falkon - Qt web browser +* Copyright (C) 2018 Anmol Gautam +* +* 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 3 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, see . +* ============================================================ */ +#include "qmltopsitesapitest.h" +#include "autotests.h" +#include "qmltesthelper.h" +#include "mainapplication.h" +#include "pluginproxy.h" +#include "speeddial.h" + +void QmlTopSitesApiTest::initTestCase() +{ +} + +void QmlTopSitesApiTest::cleanupTestCase() +{ +} + +void QmlTopSitesApiTest::testTopSites() +{ + QmlTestHelper qmlTest; + mApp->plugins()->speedDial()->addPage(QUrl("https://example.com"), "Example Domain"); + auto list = qmlTest.evaluate("Falkon.TopSites.get()").toVariant().toList(); + QCOMPARE(list.length(), 1); + QObject* object = qvariant_cast(list.at(0)); + QVERIFY(object); + QCOMPARE(object->property("title").toString(), "Example Domain"); + QCOMPARE(object->property("url").toString(), "https://example.com"); +} + +FALKONTEST_MAIN(QmlTopSitesApiTest) diff --git a/autotests/qml/qmltopsitesapitest.h b/autotests/qml/qmltopsitesapitest.h new file mode 100644 index 000000000..e946e981a --- /dev/null +++ b/autotests/qml/qmltopsitesapitest.h @@ -0,0 +1,35 @@ +/* ============================================================ +* Falkon - Qt web browser +* Copyright (C) 2018 Anmol Gautam +* +* 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 3 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, see . +* ============================================================ */ +#ifndef QMLTOPSITESAPITEST_H +#define QMLTOPSITESAPITEST_H + +#include + +class QmlTopSitesApiTest : public QObject +{ + Q_OBJECT + +private Q_SLOTS: + void initTestCase(); + void cleanupTestCase(); + + void testTopSites(); +}; + + +#endif // QMLTOPSITESAPITEST_H