21#include <QWebEngineProfile>
22#include <QWebEngineScript>
23#include <QWebEngineScriptCollection>
27void QmlUserScriptApiTest::initTestCase()
31void QmlUserScriptApiTest::cleanupTestCase()
35void QmlUserScriptApiTest::testCount()
37 int count = m_testHelper.
evaluate(
QSL(
"Falkon.UserScripts.count")).toInt();
38 QCOMPARE(count,
mApp->webProfile()->scripts()->count());
41void QmlUserScriptApiTest::testSize()
43 int size = m_testHelper.
evaluate(
QSL(
"Falkon.UserScripts.size")).toInt();
44 QCOMPARE(size,
mApp->webProfile()->scripts()->count());
47void QmlUserScriptApiTest::testEmpty()
49 bool empty = m_testHelper.
evaluate(
QSL(
"Falkon.UserScripts.empty")).toBool();
50 QCOMPARE(empty,
mApp->webProfile()->scripts()->isEmpty());
53void QmlUserScriptApiTest::testContains()
55 QWebEngineScript script =
mApp->webProfile()->scripts()->toList().at(0);
60 userScript->setWebEngineScript(script);
61 bool contains = userScripts->contains(userScript);
62 QCOMPARE(contains,
true);
65void QmlUserScriptApiTest::testFind()
67 QWebEngineScript script =
mApp->webProfile()->scripts()->toList().at(0);
71 QObject *scriptFound = userScripts->findScript(script.name());
73 QCOMPARE(scriptFound->property(
"name").toString(), script.name());
76void QmlUserScriptApiTest::testInsertRemove()
78 int initialCount = m_testHelper.
evaluate(
QSL(
"Falkon.UserScripts.count")).toInt();
83 userScript->setProperty(
"name",
QSL(
"Hello World"));
84 userScript->setProperty(
"sourceCode",
QL1S(
"(function() {"
85 " alert('Hello World')"
87 userScripts->insert(userScript);
88 int finalCount = m_testHelper.
evaluate(
QSL(
"Falkon.UserScripts.count")).toInt();
89 QCOMPARE(finalCount, initialCount + 1);
91 userScripts->remove(userScript);
93 int ultimateCount = m_testHelper.
evaluate(
QSL(
"Falkon.UserScripts.count")).toInt();
94 QCOMPARE(ultimateCount, initialCount);
#define FALKONTEST_MAIN(Test)
QObject * evaluateQObject(const QString &source)
QJSValue evaluate(const QString &source)
The class exposing QWebEngineScript to QML.
The class exposing QWebEngineScriptCollection to QML.