diff --git a/libraries/script-engine/src/v8/ScriptEngineV8_cast.cpp b/libraries/script-engine/src/v8/ScriptEngineV8_cast.cpp index bf1ecf1aa7..10ad3e3936 100644 --- a/libraries/script-engine/src/v8/ScriptEngineV8_cast.cpp +++ b/libraries/script-engine/src/v8/ScriptEngineV8_cast.cpp @@ -460,7 +460,8 @@ bool ScriptEngineV8::castValueToVariant(const V8ScriptValue& v8Val, QVariant& de } // last chance, just convert it to a variant // V8TODO - Q_ASSERT(false); + qDebug() << "Converting: " << *v8::String::Utf8Value(_v8Isolate, val->ToDetailString(getConstContext()).ToLocalChecked()) + << "to variant. Destination type: " << QMetaType::typeName(destTypeId); //dest = val->ToVariant(); break; } diff --git a/tests/script-engine/CMakeLists.txt b/tests/script-engine/CMakeLists.txt index b6c9a184e8..7707d82a6b 100644 --- a/tests/script-engine/CMakeLists.txt +++ b/tests/script-engine/CMakeLists.txt @@ -1,8 +1,9 @@ # Declare dependencies macro (setup_testcase_dependencies) + # V8TODO: replace most link_hifi_libraries with include_hifi_library_headers # link in the shared libraries - link_hifi_libraries(shared test-utils script-engine networking) + link_hifi_libraries(shared test-utils script-engine networking octree avatars entities model-networking material-networking model-serializers graphics gpu ktx shaders hfm image procedural) package_libraries_for_deployment() diff --git a/tests/script-engine/src/ScriptEngineTests.cpp b/tests/script-engine/src/ScriptEngineTests.cpp index 093ddb797f..8e65ebb36a 100644 --- a/tests/script-engine/src/ScriptEngineTests.cpp +++ b/tests/script-engine/src/ScriptEngineTests.cpp @@ -12,6 +12,8 @@ #include "StatTracker.h" #include "NodeList.h" +#include "../../../libraries/entities/src/EntityScriptingInterface.h" +//#include "../../../libraries/entities/src/EntityScriptingInterface.h" QTEST_MAIN(ScriptEngineTests) @@ -43,7 +45,7 @@ void ScriptEngineTests::initTestCase() { DependencyManager::set(); DependencyManager::set(); DependencyManager::set(); - + DependencyManager::set(true); QSharedPointer ac = DependencyManager::get(); QVERIFY(!ac.isNull()); @@ -75,8 +77,8 @@ void ScriptEngineTests::scriptTest() { QSharedPointer ac = DependencyManager::get(); QVERIFY(!ac.isNull()); - - QDir testScriptsDir("tests"); + // TODO: can we execute test scripts in serial way rather than parallel + /*QDir testScriptsDir("tests"); QStringList testScripts = testScriptsDir.entryList(QStringList() << "*.js", QDir::Files); testScripts.sort(); @@ -84,14 +86,15 @@ void ScriptEngineTests::scriptTest() { script = "tests/" + script; qInfo() << "Running test script: " << script; ac->loadOneScript(script); - } + }*/ + ac->loadOneScript("tests/script-engine/tests/003_vector_math.js"); qDebug() << ac->getRunning(); - - while (true) { + // TODO: if I don't have infinite loop here, it exits before scripts finish. It also reports: QSignalSpy: No such signal: 'scriptCountChanged' + for (int n = 0; n > -1; n++) { QSignalSpy spy(ac.get(), SIGNAL(scriptCountChanged)); - spy.wait(3000000); + spy.wait(1000); qDebug() << "Signal happened"; } //spy.wait(5000); diff --git a/tests/script-engine/src/tests/003_vector_math.js b/tests/script-engine/src/tests/003_vector_math.js new file mode 100644 index 0000000000..b76b81798d --- /dev/null +++ b/tests/script-engine/src/tests/003_vector_math.js @@ -0,0 +1,4 @@ +print(JSON.stringify(this)); +var v1 = { x: 1, y: 0, z: 0 }; +var v2 = { x: 1, y: 0, z: 0 }; +print(JSON.stringify(Vec3.sum(v1,v2)));