Skip to content

Commit

Permalink
Merge 815f00d into 6cc4633
Browse files Browse the repository at this point in the history
  • Loading branch information
LanderlYoung committed Dec 10, 2021
2 parents 6cc4633 + 815f00d commit ad89977
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 2 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/unit_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -236,4 +236,4 @@ jobs:
run: |
cd build
# exclude failed tests
node UnitTests.js '--gtest_filter=-ThreadPool.*:EngineScopeTest.ExitEngine:EngineScopeTest.TwoThreads:EngineScopeTest.ThreadLocal:MessageQueue.Interrupt:MessageQueue.Shutdown:MessageQueue.ShutdownNow:MessageQueue.FullAndPostInsideLoopQueue:ReferenceTest.WeakGc:ReferenceTest.WeakGc:ReferenceTest.GlobalNotClear:ReferenceTest.GlobalOnEngineDestroy:ReferenceTest.WeakOnEngineDestroy:ReferenceTest.WeakNotClrear:ManagedObjectTest.EngineDispose:ManagedObjectTest.FunctionCallback:PressureTest.All'
node UnitTests.js '--gtest_filter=-ThreadPool.*:EngineScopeTest.ExitEngine:EngineScopeTest.TwoThreads:EngineScopeTest.ThreadLocal:MessageQueue.Interrupt:MessageQueue.Shutdown:MessageQueue.ShutdownNow:MessageQueue.FullAndPostInsideLoopQueue:ReferenceTest.WeakGc:ReferenceTest.WeakGc:ReferenceTest.GlobalNotClear:ReferenceTest.GlobalOnEngineDestroy:ReferenceTest.WeakOnEngineDestroy:ReferenceTest.WeakNotClrear:ManagedObjectTest.EngineDispose:ManagedObjectTest.FunctionCallback:PressureTest.All:EngineTest.JsPromiseTest'
1 change: 1 addition & 0 deletions backend/QuickJs/QjsEngine.cc
Original file line number Diff line number Diff line change
Expand Up @@ -196,6 +196,7 @@ void QjsEngine::scheduleTick() {
[](auto& m) {
auto eng = static_cast<QjsEngine*>(m.ptr0);
JSContext* ctx = nullptr;
EngineScope scope(eng);
while (JS_ExecutePendingJob(eng->runtime_, &ctx) > 0) {
}
eng->tickScheduled_ = false;
Expand Down
27 changes: 26 additions & 1 deletion test/src/EngineTest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -133,4 +133,29 @@ TEST_F(EngineTest, LuaBuiltIns) {

#endif

} // namespace script::test
#ifdef SCRIPTX_LANG_JAVASCRIPT
TEST_F(EngineTest, JsPromiseTest) {
EngineScope scope(engine);

int value = 0;
auto setValue = Function::newFunction([&value](int val) { value = val; });
engine->set("setValue", setValue);
engine->eval(
u8R"(
const promise = new Promise((resolve, reject) => {
resolve('Ok');
});
promise.then(x => {
console.log(x);
setValue(1);
});
)");

engine->messageQueue()->shutdown(true);
engine->messageQueue()->loopQueue(utils::MessageQueue::LoopType::kLoopAndWait);
EXPECT_EQ(value, 1);
}
#endif

} // namespace script::test

0 comments on commit ad89977

Please sign in to comment.