Fix async module mocking (#8769)

Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
This commit is contained in:
Jarred Sumner
2024-02-07 15:40:10 -08:00
committed by GitHub
parent dd3227c436
commit b61282e290
3 changed files with 14 additions and 3 deletions

View File

@@ -169,10 +169,11 @@ void PendingVirtualModuleResult::visitChildrenImpl(JSCell* cell, Visitor& visito
DEFINE_VISIT_CHILDREN(PendingVirtualModuleResult);
PendingVirtualModuleResult* PendingVirtualModuleResult::create(JSC::JSGlobalObject* globalObject, const WTF::String& specifier, const WTF::String& referrer)
PendingVirtualModuleResult* PendingVirtualModuleResult::create(JSC::JSGlobalObject* globalObject, const WTF::String& specifier, const WTF::String& referrer, bool wasModuleLock)
{
auto* virtualModule = create(globalObject->vm(), reinterpret_cast<Zig::GlobalObject*>(globalObject)->pendingVirtualModuleResultStructure());
virtualModule->finishCreation(globalObject->vm(), specifier, referrer);
virtualModule->wasModuleMock = wasModuleLock;
return virtualModule;
}
@@ -363,7 +364,7 @@ static JSValue handleVirtualModuleResult(
ASSERT(callData.type != CallData::Type::None);
auto specifierString = specifier->toWTFString(BunString::ZeroCopy);
auto referrerString = referrer->toWTFString(BunString::ZeroCopy);
PendingVirtualModuleResult* pendingModule = PendingVirtualModuleResult::create(globalObject, specifierString, referrerString);
PendingVirtualModuleResult* pendingModule = PendingVirtualModuleResult::create(globalObject, specifierString, referrerString, wasModuleMock);
JSC::JSInternalPromise* internalPromise = pendingModule->internalPromise();
MarkedArgumentBuffer arguments;
arguments.append(promise);