function EntityReferenceFieldTest::testEntityReferenceListFiberSuspension
Tests fiber suspension within EntityReferenceFieldItemList::__get().
See also
https://github.com/php/php-src/issues/14983
File
-
core/
tests/ Drupal/ KernelTests/ Core/ Entity/ EntityReferenceFieldTest.php, line 95
Class
- EntityReferenceFieldTest
- Tests for the entity reference field.
Namespace
Drupal\KernelTests\Core\EntityCode
public function testEntityReferenceListFiberSuspension() : void {
$referenced_entity = $this->container
->get('entity_type.manager')
->getStorage($this->referencedEntityType)
->create([
'type' => $this->bundle,
]);
$referenced_entity->save();
$storage = $this->container
->get('entity_type.manager')
->getStorage($this->entityType);
$entity = $storage->create([
'type' => $this->bundle,
]);
$entity->{$this->fieldName}->target_id = $referenced_entity->id();
$entity->save();
$entity = $storage->load($entity->id());
$fiber = new \Fiber(fn() => $entity->{$this->fieldName}->entity);
$fiber->start();
$referenced_entity = $entity->{$this->fieldName}->entity;
$this->assertIsObject($referenced_entity);
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.