24void QmlBookmarksApiTest::initTestCase()
28void QmlBookmarksApiTest::cleanupTestCase()
32void QmlBookmarksApiTest::testBookmarkTreeNodeType()
35 QCOMPARE(
mApp->bookmarks()->rootItem()->type(), type);
38 QCOMPARE(
mApp->bookmarks()->toolbarFolder()->type(), type);
41void QmlBookmarksApiTest::testBookmarkTreeNode()
43 QObject *bookmark = m_testHelper.
evaluateQObject(
QSL(
"Falkon.Bookmarks.toolbarFolder()"));
45 auto toolbarFolder =
mApp->bookmarks()->toolbarFolder();
47 QCOMPARE(toolbarFolder->title(), bookmark->property(
"title").toString());
48 QCOMPARE(toolbarFolder->urlString(), bookmark->property(
"url").toString());
49 QCOMPARE(toolbarFolder->description(), bookmark->property(
"description").toString());
50 QCOMPARE(!
mApp->bookmarks()->canBeModified(toolbarFolder), bookmark->property(
"unmodifiable").toBool());
51 auto* parent = qvariant_cast<QObject*>(bookmark->property(
"parent"));
53 QCOMPARE(
mApp->bookmarks()->rootItem()->title(), parent->property(
"title").toString());
56void QmlBookmarksApiTest::testBookmarksCreation()
59 item->setTitle(
QSL(
"Example Domain"));
60 item->setUrl(QUrl(
QSL(
"https://example.com/")));
61 item->setDescription(
QSL(
"Testing bookmark description"));
64 QVERIFY(qmlBookmarks);
67 mApp->bookmarks()->addBookmark(
mApp->bookmarks()->toolbarFolder(), item);
69 QCOMPARE(qmlBookmarksSpy.count(), 1);
71 auto *created = qvariant_cast<QObject*>(qmlBookmarksSpy.at(0).at(0));
73 QCOMPARE(item->title(), created->property(
"title").toString());
75 qRegisterMetaType<BookmarkItem*>();
78 auto out = m_testHelper.
evaluate(
QL1S(
"Falkon.Bookmarks.create({"
79 " parent: Falkon.Bookmarks.toolbarFolder(),"
80 " title: 'Example Plugin',"
81 " url: 'https://another-example.com'"
83 QVERIFY(out.toBool());
85 QCOMPARE(bookmarksSpy.count(), 1);
86 auto* createdItem = qvariant_cast<BookmarkItem*>(bookmarksSpy.at(0).at(0));
88 QCOMPARE(createdItem->title(),
QSL(
"Example Plugin"));
91void QmlBookmarksApiTest::testBookmarksExistence()
95 auto result = m_testHelper.
evaluate(
QSL(
"Falkon.Bookmarks.isBookmarked('https://example.com/')")).toBool();
97 QCOMPARE(
mApp->bookmarks()->isBookmarked(QUrl(
QSL(
"https://example.com/"))), result);
100void QmlBookmarksApiTest::testBookmarksModification()
105 QVERIFY(qmlBookmarks);
108 BookmarkItem* item =
mApp->bookmarks()->searchBookmarks(
QSL(
"https://example.com/")).at(0);
110 mApp->bookmarks()->changeBookmark(item);
112 QCOMPARE(qmlBookmarksSpy.count(), 1);
114 auto *modified = qvariant_cast<QObject*>(qmlBookmarksSpy.at(0).at(0));
116 QCOMPARE(modified->property(
"title").toString(),
QSL(
"Modified Example Domain"));
118 qRegisterMetaType<BookmarkItem*>();
121 auto out = m_testHelper.
evaluate(
QL1S(
"Falkon.Bookmarks.update(Falkon.Bookmarks.get('https://another-example.com'),{"
122 " title: 'Modified Example Plugin'"
124 QVERIFY(out.toBool());
126 QCOMPARE(bookmarksSpy.count(), 1);
127 auto* modifiedItem = qvariant_cast<BookmarkItem*>(bookmarksSpy.at(0).at(0));
128 QVERIFY(modifiedItem);
129 QCOMPARE(modifiedItem->title(),
QSL(
"Modified Example Plugin"));
132void QmlBookmarksApiTest::testBookmarksRemoval()
137 QVERIFY(qmlBookmarks);
140 BookmarkItem* item =
mApp->bookmarks()->searchBookmarks(
QSL(
"https://example.com/")).at(0);
141 mApp->bookmarks()->removeBookmark(item);
143 QCOMPARE(qmlBookmarksSpy.count(), 1);
145 auto *removed = qvariant_cast<QObject*>(qmlBookmarksSpy.at(0).at(0));
147 QCOMPARE(removed->property(
"title").toString(),
QSL(
"Modified Example Domain"));
149 qRegisterMetaType<BookmarkItem*>();
152 auto out = m_testHelper.
evaluate(
QSL(
"Falkon.Bookmarks.remove(Falkon.Bookmarks.get('https://another-example.com'))"));
153 QVERIFY(out.toBool());
155 QCOMPARE(bookmarksSpy.count(), 1);
156 auto* removedItem = qvariant_cast<BookmarkItem*>(bookmarksSpy.at(0).at(0));
157 QVERIFY(removedItem);
158 QCOMPARE(removedItem->title(),
QSL(
"Modified Example Plugin"));
#define FALKONTEST_MAIN(Test)
void setTitle(const QString &title)
void bookmarkRemoved(BookmarkItem *item)
void bookmarkAdded(BookmarkItem *item)
void bookmarkChanged(BookmarkItem *item)
The class exposing the bookmark item to QML.
QObject * evaluateQObject(const QString &source)
QJSValue evaluate(const QString &source)