diff --git a/tests/script-engine/src/ScriptEngineNetworkedTests.cpp b/tests/script-engine/src/ScriptEngineNetworkedTests.cpp index 53a6b3d420..d73323a75b 100644 --- a/tests/script-engine/src/ScriptEngineNetworkedTests.cpp +++ b/tests/script-engine/src/ScriptEngineNetworkedTests.cpp @@ -155,3 +155,35 @@ void ScriptEngineNetworkedTests::testRequire() { +void ScriptEngineNetworkedTests::testRequireInfinite() { + auto sm = makeManager( + "print(\"Starting\");" + "Script.require('./tests/require_inf_a.js');" + "print(\"Done\");" + "Script.stop(true);", "testRequireInf.js"); + QStringList printed; + QStringList expected {"Starting", "Value from A: 6", "Value from B: 6", "Done"}; + + + QVERIFY(!sm->isRunning()); + QVERIFY(!sm->isStopped()); + QVERIFY(!sm->isFinished()); + + connect(sm.get(), &ScriptManager::printedMessage, [&printed](const QString& message, const QString& engineName){ + printed.append(message); + }); + + + qInfo() << "About to run script"; + sm->run(); + + QVERIFY(!sm->isRunning()); + QVERIFY(!sm->isStopped()); + QVERIFY(sm->isFinished()); + + QVERIFY(printed.length() == expected.length()); + for(int i=0;i